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

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

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

80

применяются операторы МАССИВ е НАЗВАТЬ. Числовые

 

значения

этих массивов вычисляются при помощи оператора

ДВОИЧНЫЙ ь—

ВЫЧИСЛИТЬ»—

еле ш гут

быть введены с помощью операторов

КОД и СП.

 

 

 

 

 

 

К операторам КОД

или СП ь -

рекомендуется обращаться

н при выводе на

печать

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

5

10.

Оформление программы и перфорация

 

В предыдущих параграфах были разобраны символы и элемен­

ты входного

языка АКИ,

правила записи операторов

и

принципы

составления

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

После того , кая

программа

составлена,

она должна быть оформлена надлежащим образом и

отперфорирована.

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

рис.7 . Первые 4 столбца в каждой строке бланка отводятся

год

метки,

а с 5 -го начинается запись операторов. В

первой стро­

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

 

программы,

какой-нибудь заголовок

ели символ К в 5-м

столбце.

Дальше

записываются подряд все

операторы программы,

причем

запись

каждого

из них начинается с 5 -го столбца с новой строки.Каж-

дая строка бланка должна заканчиваться либо символом

Е

«ли­

бо переводом строки S

. В правом верхнем углу ставятся

но­

мер листа и количество листов всей программы.

 

 

 

 

После записи основной программы выписываются все

подпро­

граммы

(если они е с т ь ).

Заканчивается вся программа

словом

НАЧАЛО

и указанием метки первого оператора.

 

 

 

 

Исходные данные задачи должны быть выписаны

отдельно на

информационном бланке ш> правилам, рассмотренным в

§

2 и 3 .

После оформления программа и исходные данные

поступают

на перфорадию, где числа и текст перфорируются на

телеграф­

ную ленту в виде системы отверстий. Для машины пМинск-22" наиболее распространенной является бумажная пятигозиционяая

телеграфная лента шириной 1 7 ,5

мм. На ленте имеются 6

доро­

жек: дорожка синхроимпульсов и

5 кодовых. Вводимый в

машину

код перфорируется на кодовых дорожках с помощью системы от­ верстий. В каждой строке перфоленты, определяемой отверстием

на дорожке синхроимпульсов, возможна перфорация одной цифры,

буквы или

символа АКИ. С помощью кода М-2

представляется

текстовая

информация, а с помэщью цифрового

кода -

команды

А К И М И Н С К - 2 2

 

 

 

 

 

С о ста ви л

Д о Т о

Лист

 

 

 

 

 

 

П роверил

Д о т о

Л и с т о в

i

М

Л >е7А<й

1С\

/ f

&

m

0 rtep 01

c p

L x 'S

и]

 

 

* 5

f3SlL J

1*

 

01

 

 

 

|

 

 

 

 

...

 

1

ог

 

|

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

- 1

03

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П

г

 

OS

Об

О7

08

09

10

и

/2

13

п

15

_ L

1

i.

!

 

r

 

I

и

 

 

_

j

 

i

!

 

 

!

Рис.7

со

82

рабочей программы и исходные числа»

На рис» 8 представлен цифровой код машины»

В

АКИ он ис­

пользуется д а

перфорации исходных данных.

 

 

 

 

 

Десятичный знак

CIO

m s

 

 

 

 

 

 

 

 

 

”10) означает, что число, сле­

 

 

 

 

 

Значение

па ду

дующее за ниш,

отперфораро-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Печать

вано как десятичное

с

соот­

 

К о й

 

 

 

нова

мЛдмем

 

 

ь

 

 

 

0

 

лемге

ветствующим знаком.

 

 

 

 

 

 

 

 

 

0

Пробивка "запись"

произ­

 

0

 

о

 

1

 

4

 

о __- 2 .

 

 

 

водится после

каждою

числа

 

 

 

г

 

a

 

 

_ о

о

 

S

 

3

s i s команда»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ф_

 

 

 

4

 

*

Пря перфорации на

 

спе­

 

 

с

 

о

 

S

 

: s

циальном устройстве

 

подго­

 

 

9

 

 

6

 

в

 

 

 

 

 

 

т

 

?

товки данных (УЦК) одновре­

 

 

 

 

 

 

е

 

 

 

 

в

 

В

менно происходит

печать

ин­

 

 

 

 

ж

 

9

 

9

формации на бумажной

ленте

 

 

 

 

L _

 

+ . 8

"

 

шириной 10 мм»

 

Правый стол­

Ё

9_

2. ®

 

-,8 "

-

бец на рис.8 показывает,

ка­

Ё

 

_

 

+ . «

Г

f-

___ 1 * 1

Ф_

 

J 9

 

 

*

 

 

 

 

 

 

 

 

2

 

 

Ю

 

кая печать на узкой

 

ленте

L

G

9

 

НовМОЙП7О0

9

соответствует

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

П

 

 

5 1

~9_xtditumtmen)врйвв

 

 

А

 

9

Передача

)

перфоленте. По узкой

бумаж­

 

 

 

Г ®

 

а Шг

боепрштлгако

 

ной ленте удобно

 

проверять

□ ■

п п

и

п

 

как

 

правильность перфорации.

 

 

\О

9

Записьпередача

 

 

Ж ]

<£Г е

 

_

о

Программа в

АКИ записы­

© ® •

ф

 

Вотрипинвслке

 

вается на перфоленте с

 

по­

 

W//$j

 

9 _

9

 

 

f

х а г

мощью международного

теле­

J »

£

в 9

« Г

 

,1

Запись

 

графного хода М-2» представ­

ф

 

о

Ж

 

 

Проево

Y ///r

ленного на ри с.9 . На пяти до­

ф

 

 

 

 

 

 

рожках записываются пятираз­

ф_

 

Ж

 

 

 

 

 

Щ

 

 

 

боспромииаслкя W a

 

«

9

 

рядные двоичные

коды.

Всего

 

«г

ф_т

j

 

К О К

 

мошго записать

32

различные

о

Г [е <9

 

проев/

 

комбинации. Однако

при запи­

<9 9_

1щ ~

©_ Граница SAobts

\

 

 

«S®.I®

си произвольного

текста

32

 

 

 

 

 

 

 

 

 

 

 

символов недостаточно,

 

так

 

 

ей

 

 

 

 

 

как только букв в русском ал­

 

 

 

 

Рис. 8

 

 

фавите 32 . Поэтому все

 

сим­

 

 

 

 

 

 

 

 

 

волы русского

и латинского алфавитов,

цифры,

служебные сим­

волы разносятся по трем группам -

регистрам,

что увеличивает

информационную емкость втрое.

 

 

 

 

 

 

 

 

 

Группы - регистры

слевдтацие:

регистр

"латынь",

регистр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

83

"русский", регистр "цифровой”.

Перед использованием

 

какого-

нибудь

символа указывается, к

какому регистру он

относится.

Перед группой символов, относящихся к одному регистру,

при­

знак

регистра указывается только один раз.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для ограничения

вводи­

г

К одовы е

 

 

 

икрробои

мой за

один прием текстовой

 

 

 

зли цифровой информации пе­

 

 

 

 

 

 

Пб&Оимациа

 

роддоп/о

р е г и с т р

 

 

i

г

 

 

 

 

ред ней перфорируются

под­

 

 

 

ш

 

А (А)

 

 

 

0

© .

 

 

 

 

ряд 00000

и Ш И

("русский”

 

г <9

 

°

 

ф ©

5 ( 9 )

?

 

 

 

и "латынь"

в

текстовой

ин­

 

3

 

0

• Ф ©

 

ЦСС)

 

О

 

формации; "нуль” и "граница

 

4

 

-

 

©

 

А Ш

Кто тон

 

S

Ф

 

 

 

 

£ ( £ )

3

ввода"

- в

цифровой).В

кон­

 

5

Q

 

*

Ф Ф

о

<$>(£)

Э

це

- символы

I I I I I

 

и 00000.

 

7

 

О *

 

©

 

 

 

 

г ( & )

ш

Перед"концом зоны”

 

необхо­

 

3_

 

 

Ф

 

о

* 0 0

I UL

 

 

3

 

0

о ®

 

 

М ( 1 )

8

димо дополнительно

 

перфори­

 

10

 

0

*

 

©

 

Й (J)

к?

ровать

не

менее 5

пробелов.

 

11

©

© - ©

©

 

К К О

с

\

Рассмотрим

примеры за­

|»2

 

 

 

 

 

®

л а > )

 

 

 

 

 

э

j

 

 

 

 

 

текстовой

 

53

 

 

 

9

©

©

М (М )

писи цифровой и

 

 

Ц

 

 

 

®

Ф

 

Н(л/)

9

информации на перфоленте.

 

1S

 

 

 

 

9

©

O f f ? )

9

 

I ) .

На перфоленте

(рис.

 

*6

 

 

 

©

 

&

(HP)

О

10)

имеется

запись

 

исходных

 

57

Ф ©

 

 

 

»

Я « 3 )

Л

 

 

18 и е

Я

 

Ф

I

Р(Ю

ч

данных задачи.

 

 

 

 

 

 

Ш

О П Е

 

c c s ;

гОПОСФр.

 

Здесь

записаны

2 масси­

 

го

 

 

 

 

 

9

Т(Т)

5

в а

чисел.

Первый массив

с о -

 

Ъ_

 

 

 

©

 

 

XIV)

7

 

 

 

 

 

 

деркиг

числа

 

+J&-

+14.

 

гг

 

ъ_

© в

Ф

fM W

S

 

 

£5

$

в

 

 

 

 

з о л / )

S

+10. +11. Это - массй£

 

це­

 

 

©

 

 

в

О £.

b (Я)

/

лых чисел,

он

заключен

в

 

г з

Ф

 

©

 

©

ЫОП

S

границы. Второй массив,

за­

 

26 в

 

 

 

 

 

21 (Si

+

 

 

 

 

©

ключенный в

границы,являет­

 

27

 

 

 

 

 

<

 

28

 

О

 

 

 

 

s

ся

массивом

действительных

 

й

ф о

 

9

©

латынь

 

чисел

+ 0,8137 .

-1 ,6 7 0 9 .

 

so. ■. f

 

 

©

Цифры

 

+ 0,05402 .

-1 ,0 4 5 6 . В се

 

вво­

 

SI

 

 

 

 

 

проОв

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

32, _ L

 

 

 

£

Русский

 

димые числа - десятичные.

2 ). На перфоленте (рис. Рис. 9 11) имеется запись участка

программы в АКИ.

Здесь записан следующий текст :

выч_У=/?-Х+В7У-зу К

П Е Р _ .2

X

Е С 1 _

7 1

84

е е • е* е

е «ее

е*

• •

• е е

и *«

е * е е

• е

е«ее

•м

•еее

е* «

е е . е*е

. . .

*• #

•е

• е

ее*

• е

*• # ## »

ев

е

4

е е

О®

ее

е о

е«е

* <»

ее ео

веее

Ф«9••• в

ее

 

 

•в

.1 1

ее

ее#

*

еее

ее

 

ее

 

е

ее

ее*

о

 

ее

ее

е

ее

#••

 

ее

ее

ее

е

е

о

ее

е

 

 

е

 

 

Фе

 

ее

 

е

Ф

 

е

Ф

е

••

 

еее

 

® е ©

 

 

ее

••

 

е

 

ее

ее

ее

ее

еее

е

 

 

е е

е

е

ее

е

е

ее

 

е

 

е

 

ее

ее

 

ее

 

Рис.1 0

Pro. I I

 

85

§ I I . Отладка и корректировка программы.

Остановы при трансляции

 

После перфорации программа и исходные данные задачи мо­

гут быть введены в машину. Как уже указывалось

ранее до вы­

полнения расчетных операций в машине происходи

трансляция

автокодовой программы, т .е . перевод программы,

записанной на

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

В процессе трансляции контролируются и выявляются синтак­

сические и часть семантических ошибок исходной программы.Они могут возникать и з-за неточной перфорации, несоответствия записи операторов установленным для них правилам, превышения ограничений и т .д . Каждому ввду ошибки соответствует опреде­ ленный номер останова. В табл .1 записаны номера и причины остановов при трансляции программы.

Бели обнаруженная ошибка такова, что трансляцию програм­ мы можно продолжить, то транслятор отпечатает на АЩС номер

останова и оператор, в котором допущена ошибка, с указанием

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

этот

опе­

ратор записан. Место ошибки указывается

знаком f

или ? . На­

пример,

 

 

 

 

ОСТ. 01 ЛИСТ 01

 

 

 

03 nC BIt= I-W У

 

 

 

В этом примере ошибка состоит в том, что в

операторе

ПОВТОРИТЬ пропущена метка начала цикла.

Оператор записан

на

первом листе

программы в третьей строке.

 

 

 

Оператор,

в котором обнаружена ошибка, не транслируется,

поэтому некоторые даследушцие остановы могут быть следствием такой ошибки.

Если ошибка, обнаруженная при трансляции,

такова,

что.

дальше транслировать программу невозможно, то

машина остано­

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

номер

 

останова.

 

 

 

Корректировочные операторы

 

 

 

Контроль правильности программы (отладка)

проводится

обычно в несколько этапов.

 

 

 

Первый этап. На первом этапе отладки с помэщью

трансля­

тора выявляются все синтаксические ошибки.

 

 

 

86

Устранить

их могхно на входном языке» Дея

внесения

изме­

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

опе­

раторы ВСТАВИТЬ, удалить и заменить.

 

 

 

 

 

Оператор ВСТАВИТЬ попользуется в той случае,

когда в

ис­

ходную программу надо встав верь

участок программы,

состоящий

из одной ш н несксшышх строк»

После наименования

оператора

через пробел

записываются подряд номера листа

и строки» после

которой надо вставить новый участок программы»

Номера листа

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

после

них ставит­

ся символ К

» а затем с новой строки вшшзнваются

подряд

все операторы вставляемого участка программа»

 

 

 

 

Например,

 

 

 

 

 

 

 

ВСТА —» 0503 S

 

 

 

 

 

 

внн —s:

- t i l

 

 

 

 

 

 

НАЛ _ на *=» БШ ^ и { £ 0 ) I

 

 

 

 

 

 

ПЕР— 5 Я

 

 

 

 

 

 

 

10» Ш И — X — f R J F S ^ S X

 

 

 

 

 

 

В этом примере участок программы, состоящий из 4 -х

 

опе­

раторов, надо вставить в исходную программу после

3-й

строки

5 -го листа.

 

 

 

 

 

 

 

Оператор УДАЛИТЬ используется дня удаления из

исходной

программы одной ахи нескольких строк. После

наименования опе­

ратора и пробела записываются номера листа

и строки, которую

надо удалить. Если это несколько подряд записанных строк, то

их номера вместе с номерами листов

программы пишутся

через

черточку.

 

 

Например, запись УДА 0214 - 0302 % означает,

что из

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

строки, начиная с

14-й

строки 2 -го листа и кончая 2-й строкой 3 -го листа.

Оператор ЗАМЕНИТЬ употребляется для замены одной или не­

скольких строк исходной

программы новой информацией»

После

наименования оператора

и пробела, так же как и в

операторе

УДАЛИТЬ, следуют номера строк и листов программы, подлежащих

замене. С

новой строки выписываются все операторы

нового

участка программы. Его объем может быть больше ш и

меньше

заменяемого.

 

Например,

 

ЗАМ -

0 2 1 1 X

 

ВЫЧ -

Y ~[й'2 +В'21W - Z ~ s in / y /+ %ЗВ I

 

в т ~ > ; м =: м + 2 2

 

 

 

87

Здесь вместо

I I -й строки 2 -го листа программы

будут 2

новых строки» Оце пример»

 

 

ЗАМ ** 0301 -

0307 I

 

 

ПЕР*-. 2 2

 

 

 

Здесь вместо

7 срок 3 -го листа программы

первой по

седьмую) будет одна новая строка» В се исправление к программе делаются на отдельном бланке

в порядке возрастания номеров строк

и листов»

Перед

первым

из корректировочных операторов пишется знак

? »

 

 

Все корректировочные операторы

перфорируются

на отдель­

ную ленту (ленту дополнений к программе тш исправлений) „ко­

торая вместе с перфолентой исходной

программы вводится в опе­

ративную память

машины.

 

 

 

 

Если после

некоторых исправлений надо внести

еще

какие-

нибудь изменения в программу» то новые корректировочные опе­

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

порядке в о з ­

растания номеров строк и листов» Кроме того,,

в с я нумерация

строк и листов должна соответствовать первоначальной нумерации исходной программы до исправлений»

Для того» чтобы было проще вводить новые исправления, ю е -

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

объединенной

ленты

и полученную программу

рассматривать как

исходную для

даль­

нейшей отладки»

 

 

 

Второй этап. После

устранения ошибок,,

выявленных

транс­

лятором, можно приступить к реализации программы,, пустив ма­ шину с адреса 0037 в обычном режиме или с адреса 00037 в ре­ жиме "Т"»

Предварительно на устройство ввода устанавливают перфо­ ленту с исходными данными (если они есть ) и включают соответ­

ствующие устройства вывода.

 

Анализ правильности составленной программы

производят

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

ный вариант подготавливают

заранее

так , чтобы конечные

и про­

межуточные результаты были

известны

или легко просчитывались

вручную. Для сравнения промежуточных результатов

можно

з в э -

сти дополнительную печать в

программе при №<бзця корректиро­

вочных операторов или по ключу, а после отладки

ярогр^ыии

лишние вставки удалить.

 

 

 

 

При выполнении рабочей

программа ш гут произойти остано-

88

Jt

оста­ нова

. I

T

X

2

Таблица I

Причина останова

2

В написании числа есть не цифра. Идентификатор начинается не с буквы.

Пропущена метка начала цикла в операторе ПОВТОРИТЬ.

Воператоре ВВОД не задано максимальное количество элементов массива.

Варифметическом выракении используется Ю без пока­ зателя степени.

В операторах печати таблицы перед форматом

записан

пробел.

 

Число не входит в диапазон допустимых чисел.

зКоличество констант рабочей программы превышает 319.

4 Пои записи в операторе пропущен один из разделителей. Информация оператора составляет больше 2304 символов.

5Количество простых переменных рабочей программы пре­ вышает 255.

6Количество команд подготовки цикла превышает 30.

7

Количество рабочих ячеек в рабочей программе превыша­

 

ет 144.

 

10

Переменная с индексами является элементом неописанно­

 

го массива.

строки

 

В программе используется элемент не первой

 

двумерного массива, а в описании этого

массива чи­

 

сло столбцов является переменной.

 

I I

Количество массивов, одновременно описанных в програм­

 

ме, превышает 64.

 

12Нет информации для оператора ПОВТОРИТЬ. Например, нет переменной с индексом внутри цикла, а требуется построить замыкание цикла по этоисг индексу.

13Количество повторений цикла - не целое число.

Например, ПОВТОРИТЬ5 — U = i _

8 %

14 Количество элементоз описанного массива превышает о т -

,веденное для неото место.

15 Неправильная запись в операторе НАЖАТЬ.

17Неправильная запись информации в операторе ПОВТОРИТЬ. Условие замыкания цикла указано не в конце оператора.

89

Продолжение таб л .I

I

2

20 3 операторе ВЗОД нарушена установленная последова­ тельность записи переменных и массивов.

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

22Неправильная запись символа действия между двумя ком­

понентами операции.

23

до первой выполняемой операции в

записи формулы

ис­

 

пользуется более 32

операций,

включая

- .

• * ,

 

( , ( . Например,

= (А .

(В . (С. . . .

 

24

до первой выполняемой операции в

записи

формулы стоит

 

более 32 величин.

 

 

 

 

 

25

Между величинами в формуле лишние

знаки действия, на­

 

пример, лишние открывающие скобки.

 

 

 

26

Задана несуществущая элементарная функция. Не

по­

 

ставлен знак

операции перед открывающей скобкой.

 

Например,

= А (В .С ).

 

 

 

 

27

В записи формулы число закрывавдих скобок не соответ­

 

ствует числу открывающих скобок.

 

 

 

30

Допущена ошибка в

названии оператора или в

служебном

 

слове.

 

 

 

(это замеча­

 

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

 

ние не касается заглавия программы).

 

 

 

31

Отсутствует метка,

или одна и т а же метка присвоена

 

двум операторам, или метка превышает

число 127.

32В обычном режиме: употреблена операция деления над це­ лыми числами.

Врежиме "Т" : используется запрещенная операция над двоичными числами.

33При трансляции обнаружена ошибка, место которой может

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

34 j Неправильно распределен формат выводимой таблицы.

56 Нет служебного слова НАЧАЛО или после него

пропущена

метка.

 

100 j Не включен ключ, определяющий вид устройства для ввода автокодовой программы или дополнения к ней.

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