Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Мараева И.Б. Вычислительная техника в инженерных и экономических расчетах. Автокод Инженер для ЭЦВМ Минск-22 учеб. пособие

.pdf
Скачиваний:
3
Добавлен:
23.10.2023
Размер:
4.54 Mб
Скачать

10

 

тодов решения и обмену ш и,

 

Автокод "Инженер", эксплуатирующийся с 1965

года, полу­

чив широкое применение у пользующихся машинами "Минск-2",

"Мансн-22и и пИинск-22М"„ Язык составлен с таким

расчетом,

чтобы на нем ыоано было легко записать алгоритм

решения за ­

дачи в вэде некоторой последовательности фраз, чисел, формул. Он приспособлен к логической структуре машин типа "Минск", что позволяет использовать более простые и компактные транс­ ляторы н заметно уменьшает время трансляции по сравнению,на­

пример, с языком МГ0Д-60о Чтобы иметь самое общее представление о программировании

на АКИ, приведем пример автокодовой программы для

решения'

квадратного уравнения; блок-схема этого примера была состав­

лена выше.

 

 

РЕШЕНИЕ -КВАДРАТНОГО - УРАВНЕНИЯ. 2

 

1 .

ВВОД -

А ,В ,С

Ж

 

 

 

 

Ш И -

 

 

^ Т О ЗЖ

 

 

 

ВЫЧИСЛИТЬ.-,JD -

В ’г ~ 4 .А .С к

 

 

 

ЕСЛИ -

Х>^= О ^ ТО ^ 2 Ж

 

 

 

ВЫЧИСЛИТЬ ^ ALFA = - В :( 2 .А ) ~ BETA / =(-Я)% 5

/>)-=

 

BETA 2 = -

BETA / I

 

 

 

 

ВШОД _

ТЕКСТА — КОМШЕКСНЫЕ -

КОШИ - УРАВНЕНИЯХ!

 

 

ВШОД — 5 -

ЗНАК® -

ALFA ,

BETA i, &ЕТА2<Х

 

 

ПЕРЕЙТИ

— 5 Л1

 

 

 

 

2 .

ВЫЧИСЛИТЬ -

X i=(-B * £ ’0,5):(2.А)^Х2= (-3 -Я '0,5) =

 

:(2.A)Z

 

 

 

 

 

 

 

ВЬВОД -

ТЕКСТА _ ВЕЩЕСТВЕННЫЕ _

КОРНИ _ УРАВНЕНИЯ.

с J

 

ВЫВОД— 5 _

ЗНАК® —

М, Х2 <Х

 

 

 

ПЕРЕЙТИ —'5 JT

 

 

 

 

3 .

ЕСЛИ — 5 - = * # — 7 7 ? -

4 2

 

 

 

вычислить ^

Х = [ - С

B I

 

 

 

ВЫВод „

ТЕКСТА —1КОРЕНЬ—. УРАВНЕНИЯ. < Ж

 

 

ВШОД -

5 -

ЗНАКОВ— Х<%

 

 

 

ПЕРЕЙТИ- 5

X

 

 

 

 

4 - ВШОД— ТЕКСТА — ЗАДАЧА — НЕ — ШЕЕТ — РЕШЕНИЯ. < 1

 

5 .

КОНЕЦ — 2

 

 

 

 

 

 

НАЧАЛО — IZ

 

 

 

 

 

Прв составлении программы на АКИ следует иметь в

виду,

 

 

 

II

что при работе малины в обычном режиме и в

режиме

"Т " неко­

торые символы и правила записи различны. В

этих

случаях в

пособии есть соответствующие замечения.

 

 

 

Программа для решения квадратного уравнения,

приведенная

в предыдущей примере, составлена в ЛКИ для

рекима ВТ"(АКИ-Т).

Если задача, которая стазится на машину, -

сложная и про­

грамма ее решения занимает большой объем,

то

целесообразно

готовить программы ее отдельных укрупненных блоков,после че­ го из них компонуют программу в окончательном виде.

Составленная программа кодируется с помощью системы от­ верстий на телеграфной ленте (перфоленте). Так же на нее пе­ реносятся исходные данные задачи. Только в таком закодирован­

ном виде программа и исходные данные

задачи могут

быть вве­

дены в машину с помощью специального

устройства

фотоввода.

Подробно о перфорации рассказано в §

I I .

 

6 . Отладка программы

На всех этапах решения задачи возможны различные ошибки. Для их выявления и устранения в программе проводится отладка.

При этом специально подготавливается контрольный

(отладоч­

ный) вариант, который легко просчитать вручную.

Затем этот

яе вариант по составленной программе просчитывается на маши­ не. Сравнение окончательных и промежуточных результатов рас­

чета позволяет выявить ошибки. Их устранение

в

программе,

записанной на алгоритмической языке, возможно провести

на

уровне входного языка.

 

 

 

 

Подробнее об отладке программы рассказано в

§

I I .

 

7 . Счет задачи

 

 

 

 

После отладки программы производится

непосредственное

решение задачи на машине с цельд получения результатов

для

всех вариантов исходных данных.

 

 

 

 

Счет по составленный и отлаженным программам

выполняют,

как правило, техники-операторы, использующие инструкции

ав­

торов программ. В инструкции должны быть

записаны

фамилия

автора программы, номер иди название задачи, вид работы (от­ ладка или с ч е т ), режим работы машины (обычный или режим " Т "),

приблизительное время, которое будет затрачено для решения

поставленной задачи. Затем должно сообщаться, какой материал

прилагается к инструкции (перфолента программы, перфолента

12

 

 

 

 

исходню: данных Р перфолента исправлений).

Если при

решении

задачи нужно обращаться к магнитной ленте,,

то ъ

инструкции

должнн быть указали номер лентопротяжного механизма >

на­

чальный адрес информации обмени:

 

 

 

 

Если в программе предусмотрены переходы по

каким-нибудь

ключам, то в инструкции оператору надо у к азать

номера ключей,

подлежащих включению.

 

 

 

 

Если программа записана на алгоритмической языке,

то

з

инструкции должно быть указание о трансляции задачи,

а также

о сокращенной или полной распечатке программы, если это нуж­ но. Сокращенная распечатка выдает напечатанную на алфавитноцифровом печатающем устройстве (АЦПУ) программу на входном

языке, а также - распределение нагеля: адреса метек програм­

мен, адреса простых переменных

и массивов,

адреса ж

номера

стандартных программ,

адреса рабочих ячеек. Полная распечат­

ка ввдасг па АЦПУ всю

рабочую

программу,

составленную

транс­

лятором.

В ичетрукдин должно быть указание оператору об установке исходных данных (если они е сть ) на фотоввод, а также о пуско­ вом адресе. Если программа составлена на АКИ, то пусковой ад­

рес 0037 в

обычном режиме иля 00037 в режиме "Т ".

 

 

 

Если при отладке

или счете программа происходят незапла­

нированные останови,

то

оператор на бланке

инструкции

запи­

сывает причину останова,

а также, если это

возможно,

адрес

команда и содержимое

адресов, участвующих в команде, на. ко­

торой произошел останов машины.

 

 

 

 

На рис. 2 показан

бланк инструкции оператору.

 

 

j

Д а б » * ----------------1

 

ИНСТРУКЦИИ

Рй*3011*'

...---------------

| Исполнитель ___

к задаче №___ 0Риен^5Р^очнйо

j

[

Исходный

 

Перфоленты

--------------1------------------------ --------------- 1

 

j Магниткне ленты

I

материал

 

 

 

!

 

 

 

 

 

 

 

 

1

 

 

 

|Что делать

Что должно

быть

Что делать

иначе

Примечание

*

 

 

 

 

 

 

 

 

1

 

1

 

1

 

!

 

$_______________

-------- --------------L

 

 

Рйс.2

13

Краткие сведения о машине "Минск-22"

Электронная вычислительная машина "Минск-22" универсаль­ ная. Она предназначена для решения широкого круга математи­ ческих, логических, инженерных и планово-экономических за­ дач.

Машина "М ш ск-22" имеет следующие основные технические е

эксплуатационные характеристики.

 

 

 

 

 

1 .

Быстродействие - 5 -6

тысяч операций в

секунду.

 

2 .

Способы представления чисел - с фиксированной

н пла­

вающей запятой.

 

 

 

 

 

 

3 .

Система счисления, принятая в машине - двоичная.

4 .

Разрядная сетка ячеек памяти -

37 двичяых разрядов.

5 .

Разрядность вводимых и выводимых десятичных

чисел -

7 разрядов мантиссы и 2 разряда порядка.

 

 

 

6 . Система команд - двухадресная.

 

 

 

 

7 .

Объем оперативной памяти -

8192

ячейки.

 

 

8 .

Внешнее запоминающее устройство

включает

накопитель

на магнитной ленте на 1600

тыс.ячеек.

 

 

 

 

9 .

Скорость обмена информацией:

 

 

 

 

 

ввод с перфоленты (фотоввод) - 800 знаков в секунду;

 

ввод с перфокарт - 250 карт в минуту;

 

 

 

 

вывод на БПМ - 20 чисел в секунду;

 

 

 

 

вывод на лерворатор ленты -

20

знаков

в секунду;

 

вывод на телетайп -

7 знаков в

секунду;

 

 

 

вывод на устройство

печати УПч - 22 (АЦПУ)

- 400 строк

 

в минуту;

 

 

 

 

 

 

 

вывод на перфоратор карт -

100

карг в

минуту.

 

10.

Потребляемая мощность - 10

гёЗт.

 

 

 

11.

Площадь, занимаемая машиной - 80 м^.

 

 

 

Ч1члииа "Минск-22" состоит из следующих основных

у с т -

г/ийств:

 

 

 

 

 

 

 

1 .

Арифметического, предназначенного для выполнения ариф­

метических, логических и других операций над

кодами

чисел,

команд или буквенных сш еолс®.

 

 

 

 

 

2 . Устройства управлении, обеспечивающего автоматическую

саботу всех узлов машины в

соответствие с заданной

програм­

мой вычислений.

3 . Магнитного оперативного запоминающего устройства (опе­ ративная память машины), предназначенного даш хранения про­ грамма решеннЕ задаяЕ, ebxoshss ч всез, щюиекуточннх к окон-

14

чателькнх результатов вычислений.

4 . Внешнего запоминающего устройства (внешняя память ма­ шины) , предназначенного дал хранения дополнительной информа­

ции ДЕитедьяое время. Внешняя память машины, часто

называе­

мая накопителем на магнитной ленте, распределена по

16 лен­

там (по числу шкафов с номерами 0 ,1 ,2 ,3 н лентопротяинкх

ме­

ханизмов с ноыэрами 0 ,1 ,2 ,3 ) .

 

 

 

5 . Устройств, предназначенных дня ввода программы

и ис­

ходных данных задачи с перфоленты иле перфокарт в

оператив­

ную память машины.

 

 

 

 

6„ Устройств выдачи результатов, обеспечивающих

 

печать

®щ перфорацию результатов на бумажной ленте вли

перфокар­

тах , Печать цифровой и текстовой информация мэает

произво­

диться на БПМ, телетайпе

или УПч-22 (АЦПУ).

 

 

 

7 , Пульта упражнения,

предназначенного для пуска машины,

контроля за ходом вычислений а оперативного вмешательства

в

работу машины з случае необходимости. Пульт управления игзет панели световой сигнализации и ручного управления.

Кроме перечисленных устройств, в состав машины "?Линск-22" входят электрически не связанные с ней перфораторы, предназ­ наченные дня нанесения на перфоленту аяи перфокарты информа­ ции, зводшюй в оперативную память машины,

§ I . Символы,

применяемые во входном языке АКИ

Для записи программы на языке АКЙ употребляются

следую­

щие символы:

 

 

1 . Е се заглавные

буквы русского алфавита (кроме Ё

и Ъ ):

А, Б , Б , Г , Д, Е , Ж,

3 , И, Л, К, Л, М, Н, О, Й, Р, С,

Т. У,

Ф, X, Ц, Ч, Ш, Щ, Ы.

Ь , Э, Ю, Я.

 

Они используются

для обозначения операторов, записи до­

полнительных пояснений в программе и вывода на печать поясня­ ющей текстовой информации к полученным результатам,

2 . Заглавные латинские

6vrbh: й ,В ,

С ,Л , Е , Г ,& , Н ,1 ,

J , K ,L ,M ,N . O tP , a . R , S , T ' l / t V . W ,X ,r . Z ,

ко­

торые применяются для обозначения функций, переменных

вели­

чин н индексов.

 

 

 

3 . Символы арифметических операций:

: •

ЯРИ

этом следует подчеркнуть, что умножение

обозначается обяза­

тельно точкой (•>). Символы

+ и - , кроме операций сложения и

 

 

 

 

 

 

 

 

 

15

вычетандя.

используются еще н для

обозначения знака числа;

символ

• - еще и как

точка; симзол

: кроме обозначения on e-

вэднн деления,

употребляется еще и дня обозначен®!

целого

числа

(см .§

2 ) .

Следует заметить, что знак

умножения в АКИ

надо ставить

и в

тех

случаях, когда при обычной

написании

арифметического

 

выражения он подразумевается,

а 5 sin Sas-

Нгяршер, 2а надо записывать в

АКИ в

виде

2 ” А,

в виде

3 .S IN

(5 Х ) .

 

 

 

 

4 .

Символы

г

и

j , Первый из

них -

3

-

апостроф -

применяется для обозначения операции возведения в

степень.Н а-

пример,

 

т 5 запишется как

М’5

, а

х *

-

как

X

Y>

Если

показатель степени не является одним числом иди

переменной,

а представляет собой более сложное выражение, то он

 

заддю-.

чается в

круглые скобки.

Например,

а

запишется

как

А (-2 ),

а

ё И -

как

ВрС 32 ) .

Корни представляются в виде

дробных

степеней.

Например, W

будет

иметь вид

А ’(2. ' 3 ) ,а ^x-XV-2.)

или Х 90,5 .

 

Кроме обозначения операции возведения в

 

степень

символ

?

употребляется

при выводе

текстовой информации на

печать

АЦПУ

(см .§ 4 ) ,

 

 

 

 

 

 

 

 

 

 

 

Символ

s

используется

как

запятая в

текстовой

информа­

ции и записи десятичных дробей.

Кроме того,

запятая

 

приме­

няется для отделения индексов при обозначении элементов дву­

мерных массивов

(с м .§ 2 ) ,

а также

для отделения

перечисляе­

мых переменных при записи

некоторых операторов.

 

 

5 . Символы

=

и = .

Первый используется как знак

ра­

венства в обычном смысле.

Знак же

= (перевод строки)

упо­

требляется для обозначения переноса информации

оператора на

следующую строку бланка автокодовой программы.

 

 

6 .

Символы

( , )

и /

выполняют функцию скобок.При этом

круглые

используются для

записи арифметических

выражений в

обычном синоде. Следует отметить, что все арифметические вы­

ражения в авто кодовой программе пишутся в одну

стрючку при

помощи символов сложения, вычитания, умножения,

деления, и

возведений в степень. Скобки применяются доя указания после­ довательности проводимых операций. Например, выражение

и

х г + y ~ 2 Z ( х + у )

( x + y f ] / Т Т Т ~

16

будет иметь вид

( Х ’2 + Y :3 -2 -Z -(X + Y )):(( X + Y / 3 ■(Z + 5 ) ’0 ,5 ) .

Если скобки определяют порядок действий не полностью, то

принимается следующий порядок их выполнения;

 

 

 

1 ) возведение в степень и вычисление адеиенташых

функ­

ций;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 ) умножение и деление;

 

 

 

 

 

 

 

 

 

3 ) сложение и вычитание.

 

 

 

 

 

 

 

 

Например,

Х ’2 •Y + 3

 

читается

прк

*

-у + 3 .

Выраже­

ние же x

itf + 5

 

запишется как

X ’(2 -Y )+ 3 .

 

 

 

 

При многократном возведении в

степень

эти операции

вы­

полняются последовательно в порядке яапнсанБя.

Например,

X T ' J

читается как

( x * J 2= X v*

Это же выражение

можно,

очевидно, изобразить

и так i X ’( Y - 2 )

• Выражение же

цс**

запишется в

виде

X ’(Y°Z) .

 

 

 

 

 

 

 

 

Круглые

скобки используются и для обозначения отношений

между вежьльнаыи

< .

>

,

,

5 * ,

которые в

АКИ

имеют сл е -

д^ющиий вид •

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Знак

 

 

С твол

АКИ

 

 

 

 

 

 

 

 

 

<

 

 

 

 

(

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(=

 

 

 

 

 

 

 

 

 

 

>

 

 

 

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

) -

 

 

 

 

 

 

Слева от знака отношения записывается арифметическое вы­

ражение, затем в бланке

автоподовой программы

обязательно

делается

пропуск, после

чего

ставится

знак отношения,

число

иди переменная.

При написании программы не

 

на бланке пропуск

заменяется символом

 

(пробел). Пробел используется в авто­

кодових программах очень

часто, о

чем подробнее

будет указа­

но шахе.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Примеры записи отношений " меньше-большея:

 

 

 

D )/(х +yjZ< $

будет

иметь вид

(X -f-Yf(2-3) ^

( 5

 

2 )2 а > 3

 

 

 

 

 

 

2 - Д > 3 ^ } ~ 3

 

 

С твол

/

употребляется для выделения элемента

вдрсиа&_

I?

чисел. Напшмер, при записи элементов ?аа?ригш А, каждый ее элемент долкен быть снабжен индексами для обозначении его местополонения:

Элемент матрицы а,г в АКИ запишется как

А/1,2/. Анало­

гично, а . ^

будет иметь вид A j l ) j/ .

 

 

Прямые скобки выделяют индексы переменных

а в

случае,

когда она снабжена одним индексом (одномерный

массив ч и сел ).

Например,

координаты вектора { х 1} х г , х%

в АКИ

обозна­

чаются следующим образом:

Х/I/. Х/2/, Х/3/.

 

 

При записи автокодовой

программы в режаже „ 7°

индексная,

скобка используется еще для отношения неравенства

/=

) .

7 .

Стволы X „ ?

и < .

Знак К (кто там) использует

для обозначении конца информации,

относящейся к одному

опе­

ратору. Кроме того , он ставится в конце заголовка программы, заменяя тем самым точку.

Символ ? применяется при корректировке программ, о чем подробнее будет сказано пике.

Знак < (возврат каретки) употребляется при выводе тек­ стовой информации на АЦПУ (см .§ 4 ) .

Никаких других символов, кроме перечисленных, в а вто ш -

довой программе быть не додано. Кроме того , следует сразу же обратить внимание на необходимость точного выполнения всех

правил записи программы.

 

Например, запись ввда Х * 2 }3

не будет прочитана изящ­

ной, так как здесь не соблюдены правила записи отношений.Данное выражение должно иметь следующий ввд :

 

Х

’2 - ) 5 .

Рассмотрим несколько

примеров выражений в с т в о л а х АКИ.

 

m x s+ В [хГ - а а

°

Zac + a :"J

 

(М -Х ’5+ BJZ’q.S- А ’Х ):(2 -А С + Х ’(-5 )).

2,

у = сс3+ а , х г+ а2 сс + а3 .

У= Х ’3 + А Щ -Х ’Е + А121'Х+А/51.

18

 

(X-YI : IX ’2 +Г ' 2

/ ( = i

4 .

J) -

a„

•«гг -

 

 

D- f l

If,

/ 1* 12, 2 1 -/7

l/,2 l - Й I Z . i l .

§ 2 . Элементы входного языка

Составляющими входного языка АКИ являются чнсяа,перемен­ ные величины, элементарные функции и операторы.

Числа

В АКИ применяются два типа чисел: действительные и целые. Действительные в машине записываются в форме с плавающей за­ пятой, а целые - в форме с фиксированной запятой. Над дейст­

вительными числами ж гу т

производиться все

арифметические

операции, а над целыми -

в с е , кроме деления.

 

 

При работе

машины в

режиме „Т над целыми числами можно

производить и деление, причем в этом случае результатом

бу-

г

___

 

С Гт }

 

 

дет целая часть

получившегося числа:

L in " г

 

 

Если в результате деления целых чисел нужно иметь дейст­

вительное число

( т .е . число в форме с

плавающей запятой),

то

делимое н делитель должны быть предварительно

переведены

в

действительные числа. Для перемены формы представленгв чисел

существуют специальные стандартные подпрограммы

СП-0615

и

СП-0616 (см .§

1 2 ),

 

 

 

 

Действительные числа

в программе могут

быть

записаны в

одной из следующих трех ферм:

 

 

 

1 . В общепринятой десятичной форме с запятой

пли без

нее,

напршер,

 

 

 

 

 

 

4 ,7 8 5 6 :

-1 7 7 ,5 : 0 ,0 0 5 6 ;

3 ;

- 5 .

 

При такой записи допускается использование не более

де­

вяти ст в о л о в ,

включая запятую. При этом для

положительного

числа знак

+ обязательно оцускаетея.

 

 

 

2 . В полулогарифмической форме. В этом случае число пред-

 

 

 

N

-tm -iQ * » где

т -

 

19

ставляется в

виде

мэнтнсса

(0 ,1

<

I ) ,

а

р - порядок числа

(обязательно

целое

чясяо).

 

 

 

 

 

 

 

Для записи числа в подудогарн$мйчесяой форме в программе вместо оспованш степени 10 пишется спивал "Ю", вслед за ко­

торым следует

порядок числа без-

скобок, знака умножения

и

пробела.

 

 

 

 

 

 

 

 

 

Например,

число

-0,12367° Ю3

запишется в ввде

-0Д2367Ю З,

а число

0,787»10“^ -

в

виде 0 t 787!0—6 .

 

 

 

 

При задней

чисел

в

полулогарифмической форме мантисса

.должна содержать не

больше 7 цифр, а

порядок -

2 цифры,

не

считая

знаков

мантиссы и порядка-.

 

 

 

 

 

3 .

В виде простой дроби с аспользованием знака

деленг

При этом дробь

заключается в скобки,

а знак дроби

 

пишется

перед скобками.

 

 

 

 

 

 

 

 

Например,

- |-

будет иметь ввд

- ( 3 : 4 ) , а

+

j -

( 1 :5 ) .

Для записи простой .дроби попользуется не менее

9

симво-

лоз под числитель и знаменатель,

не

считая скобок,

 

символа

деления н знака ?*ола.

 

 

 

 

 

Диапазон цредставляемих в

машине действительных чисел

следующий;

 

 

 

 

 

 

 

 

0,5421610* I0 “~^W jX j ^

0 ,9 223372' Ю *19.

 

 

Целые числа

записываются обычный образом. Признаком це­

лого числа в авто кодовой

программе является двоеточие ( : ) .

Например,

:3 ,

:-1 0 4

и т .д .

 

 

 

Целые чш ла должны содержать не более 9 цифр,

не считая

знака минус ( - ) ,

если число отрицательно.

 

 

В се

числа,

которые используются в программе, состоят

зз

чисел,

применяемых в

формулах вычисления некоторых перемен -

яых, и из исходных данных задачи.

Числовой материал

в

виде

исходных данных задачи вводится з

машину либо вместе с авто -

кодовей программой, либо при помощи специального

оператора

ЗВ0Д (ем .§ 5 ) .

В

последнем случае все исходные данные фикси­

руется на отдельном информационном бланке. При этом числа за­

писывается со

своим

знаком

+

или - и отделяется

друг от

друга точками.

В есь

числовой

материал заключается

в

границы,

которые ж гу т

быть обозначены для перфорации словом

"грани­

ца" шж косыми скобками /

/„

На информационном

бланке дей­

ствительные числа могут быть

записаны только в

десятичной

Соседние файлы в папке книги из ГПНТБ