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

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

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

30

V

 

м/сек

1, 02

1, 31

1,445

1, 54

1, 61

1,736

1, 88

2, 06

г

 

кт

 

0 ,5 0 0 0 ,8 5 0

1,150 1,о 00 1, 300

2, 350

5,000 4, 00

и

Р =

102

;

Ь) =

1,74

м2 .

 

 

 

 

 

 

J

 

 

м

 

 

 

 

 

 

 

 

 

 

Для решения этой задачи необходимо ввести в

машину

дей­

ствительные

переменные V

, х

, и>

и

. Результаты

рас­

четов

поместим в

массив D ZЕТЯ • Запись

будет

 

выглядеть

так :

 

 

Рв,

в ME 6-Я, v (s), R /в/Х

 

 

 

 

 

 

ВВОД ^

 

 

 

 

 

 

MAC_

DZE ТА (8)Х

 

 

 

 

 

 

 

 

 

 

 

 

 

Оператор НАЖАТЬ

 

 

 

 

 

 

Оператор НАЖАТЬ применяется в

следующих случаях.

 

 

 

I .

Он формирует одномерный массив из чисел его

информа­

ционной

части. Таких чисел должно быть не

меньше двух.

При

работе

машины в обычном режиме формируемый массив

может

со­

стоять

только из

чисел действительного типа. При работе

ма­

шины в

режиме "Т"

при помощи оператора НАЖАТЬ можно

форми-.

ровать и одномерный массив целых чисел.

 

 

 

 

 

 

Запись оператора для формирования массива имеет

следую­

щий вид: сначала

пишется

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

и

 

пробел,

затем

идентификатор формируемого массива,

знак

равенства и

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

ками.

 

 

 

 

Например,

 

 

 

НАЖАТЬ —•

В = 0 ,1 . 0 ,2 . 0 ,3 . 0 ,8 X .

 

 

Если формируется массив из целых чисел

(только

в режиме

" Т " ), то после

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

ставится

знак целого числа ( : ) .

 

 

Например,

А = 2 . 3 . 5 . I I X.

 

 

НАЖАТЬ =—

:

 

 

При последующих операциях с элементами

сформированного

массива запись

В / I / (для первого примера)

будет

означать

0 ,1 и т .д .

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

31

формируемых массивов одного типа в операторе НАЗВАТЬ мо­ жет онть несколько. Тогда они отделяются друг от друга про­ белами.

Например,

 

 

 

НАЗВАТЬ _

R0 = 1 0 2 .-1 0 4 ,5 >_■ V

= 5Ю -3.7,2Ю -5Я

 

2 . Оператор НАЗВАТЬ можно использовать

с целью

экономии

ячеек памяти запоминающего устройства.

 

 

При решении задач часто создается такая

ситуация,что в в е ­

денные в

память машины числовые

массивы после целого

ряда

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

ших вычислениях не участвуют. Тогда с целью экономии ячеек памяти запоминающего устройства целесообразно элемента новых массивов, необходимых дня расчета, разместить на месте ста­ рых, уже не нужных. Для того чтобы это сделать, нужно в ин­ формационной части оператора НАЗВАТЬ записать название и ха­ рактеристики нового массива, а также название старого, на

месте которого размещается новый. Обе эти записи объединяет­

ся ство ло м =

. Число элементов нового массива не должно

превышать числа элементов старого.

 

Например,

НАЖАТЬ *— С(30) = ДЕ

COL(Zi^M-S) = Л 'Т

 

НлЗз а т ь в(75) =

На месте одномерных массивов можно располагать двумерные я наоборот» Если число элементов нового массива меньше числа

элемента старого,

то новый можно располагать с

любого

«веста

в старом массиве,

но так ,

чтобы новый не выходил за пределы

старого. Для этого

после

наименования старого

массива

в ко­

сых скобках

можно

указать элемент, с которого

начинается

размещение

нового

массива.

 

 

Например,

НАЗВАТЬ _ R (б0) = В)3/>_ С(Ю) => X//6/I НАЗВАТЬ _ Л(3D ~ 6.5) = В/8) /

Если значении элементов новых массивов дальше не вычис­ ляются, то они совпадает со значениями элементов старого мас­ сива. Тогда оператор НАЖАТЬ дает второе наименование старо- «фг массиву. Оба наименования в дальнейшем будут равноправны.

Если новый массив был описан ранее, то его прежнее описание аннулируется.

Оператор НАЖАТЬ ш яет одновременно выполнять обе пере­ численные функции.

32

Например,

 

 

 

НАЗВАТЬ*,. А ( 1 0 0 „

10 -10) = В ^ X = 1 ,5 * 2 ,9 - 7 ,5

5

Количество

массивов с

различными наименованиями в

авто -

кодово® програше не должно превышать 32-х в обычном

режиме

и 64 -х в режиме

ПТ ".

 

 

Массов, сформированный оператором НАЖАТЬ, нельзя пере­

именовывать.

 

 

§ 4 . Операторы вывода информации на печать

 

 

В АКИ результаты вычислений могут быть выведены

 

на пе­

чать с помощью быстродействующего печатающего

механизма

ТБШ -16/1200 (сокращенно БПМ), рулонного телеграфного

аппа­

рата РТА-50 (этот аппарат часто называют телетайпом)

аки

алфавитно-цифрового печатающего устройства УПч-22 (сокращен­

но АЦПУ).

 

 

 

 

Автокод включает следующие операторы вывода

информации

на печать:

 

 

 

 

1 ) НАПЕЧАТАТЬ— НА — БПМ —

 

 

 

2 ) НАПЕЧАТАТЬ— НА -

ТЕЛЕТАЙПЕ__

 

 

 

3 ) НАПЕЧАТАТЬ— ТАБИИЦУ—

 

 

 

4 ) НАПЕЧАТАТЬ— ТЕКСТ —

 

 

 

5 ) ВЫВОД—

 

 

 

 

6 ) ВШОД— ТАБЛИЦЫ —

 

 

 

 

7 ) ВШОД — ТЕКСТА —

 

 

 

 

Операторы 5 ,6 ,7 используются только

при работе

 

машины

пМинск-22а в режиме "Т ".

Рассмотрим их подробнее.

 

 

Оператор НАПЕЧАТАТЬ— НА — БПМ —

 

 

На БПМ печать производится на узкую бумажную ленту

в

один столбец. Скорость печати на БПМ -

20 чисел в

секунду.

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

+5320610 + 00

+6000201 + 01

- 43 П И 5 - 02

+9999002 - 05

ит .д .

 

 

 

 

 

 

 

 

33

Величины целого типа печатаются со знаков н

должны со­

держать не более девяти символов»

 

 

 

 

 

Для выдачи результатов на БШ в АКИ предусмотрен

опера­

тор НАПЕЧАТАТЬ <_ НА — БПМ <— (сокращенно

- НАЛ — НА — БПМ — ).

В содержательно!

части оператора перечисляют*, з

 

наименована

переменных я массивов;, подлежащих выводу на ЕШ»

Для одно­

мерных массивов количество элементов,, вшоджмнх н&

печать,

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

т ш а ,

которые

заключаются в круглые скобки н расгалагаютоя вслед за

 

обо­

значением массива.

 

 

 

 

 

 

 

Be® наименования отделяются друг от друга

запятыми»

Пе­

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

»

Например,

НАЛ— НА— БПМ — I ,

У» А (4 )

, В (100)»

: N E

означает, что

оператор выдает

на печать переменные х

н у

,

четыре

эле­

мента вшссива А,

сто

элементов касснва В

н целое

число N .

При выдаче на печать двумерного массива в

круглых

скоб­

ках указывается

его

размер -

количество

строк

и столбцов „от­

деленные друг от друга точкой» Так, напрндар,

если нам нужно

н ап ечатав на БПМ элементы матрицы

 

 

 

 

 

состоящей из трех строк н пяти столбцов, то оператор

будет

иметь вид:

 

 

НАЛ - НА - БПМ -

А ( 3 .5 ) X .

 

Двумерный массив

еюжно вывести на печать и как

одномер­

ный, указав в круглых скобках количество выводимых элементов. Тогда на ленте БШ будут напечатаны элементы массива построч­ но, начиная с первого, без интервалов между строками.

Например, если

д _ / 2 ,3 1 ;

4 ,4 5 ;

-1,0?\

 

 

 

1 -1 .2 5 ;

3 ,5 8 ;

-4,02/

 

то вкзестк этот массив на печать можно при помощи

оператора

НАЛ — НА _ БПМ — А ( 6 ) 1

 

 

 

 

 

Веди одномерный или двумерный массив демшен выдаваться

на печать не с первого элемента, то

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

мас­

сива б индексных скобках указывается

наименование

того

эле­

мента, с которого необходимо начать

печать.

Например,

 

Н А П -Н А _Б П М _ А /2,1/ ( 2 .5 ) 2

 

 

 

 

34

В этом примере печать элементов матрицы А

начинается

с

элемента, стоящего па пересечении второй строки и первого

 

столбца»

При печати на ленте БПМ после

каждой переменной, каж­

дого

одномерного

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

пропускается интервал. Например, иусть

X =

-2 ,3 7 4 4 6 7 ;

 

У = 10 2 ,3 4 5 7 ;

N = I ;

 

 

 

 

й=

(

г 35 ;

-0.0 f

\

 

 

[ °

/ 2 5

(

'

_

J ;

В =(-0,000/; г 74ч,о,от),

/ з-г

 

 

 

2 Л 9 ,

 

 

 

 

 

Рассеттрим оператор:

 

 

 

 

HAlIi-* К А _ БШ — X, У,

А ( 2 ,2 ) , В (3 ) .

\Ы, :

С /2,2/ (2 .3 )2

На ленте БШ будет следующая печать:

-2374467+01

+1023457+03

+2350000+01

-1000000-01

-4580000+01

+2490000+01

-1000000-03

+2374400+01

+1250000-01

+I

+I

+3

2

+I

+4 I

Оператор НАПЕЧАТАТЬ _ НА _ ТЕЛЕТАЙПЕ _

Этот оператор используется для выдачи на печать значений простых переменных вместе с их наименованиями» Каждая пере­

менная печатается б отдельной строке, отступая 4

позиции от

левого края рулона бумаги аппарата РТА-50.

 

 

В содержательной части оператора указывается

количество

знаков

после

запятой,

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

печать

(пухло

иметь

в виду,

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

не

должно

 

 

 

35

превышать 1 9 ). С

этой целью используется

служебное

слово

ЗНАл — , которое

можно склонять н укорачивать дс трех

букв.

После указания точности выписываются идентификаторы перемен­

ных, выдаваемых на печать, по

правилам,

аналогичным правилам

выпаяй информации на БПМ. Например,

 

 

 

 

 

 

 

НАЛ- Н А Ф ТЕН - 5 —<ЗНА— C/I,

2/,

У2,

 

В , X,

:2 Х

 

 

На рулоне

телетайпа печать будет выглядеть так :

 

 

 

 

 

С/1,2/

=

5,67801

 

 

 

 

 

 

 

 

72

= -0 ,0 0 1 2 3

 

 

 

 

 

 

 

 

В

=

I

 

 

 

 

 

 

 

 

 

X = -53,44851

 

 

 

 

 

 

 

 

Z =

-Ю 2

 

 

 

 

 

 

 

Прп выводе на печать переменных целого типа тж в

случае,

когда купно напечатать только

целые

части значений

перемен­

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

 

не

указывается.

 

 

 

 

 

 

S2 X

 

 

 

 

Например,

 

НАЛ— Н А _ Ш

:/V

, :

М,

 

 

 

 

Если А/

=

I , М = - 3 , S 2

- 4 2 5 ,3 ,

то

печать в

этом слу­

чае будет выглядеть так :

 

 

 

 

 

 

 

 

 

 

 

N =

I

 

 

 

 

 

 

 

 

 

 

М=

 

 

 

 

 

 

 

 

 

SH = 425

 

 

 

 

 

 

 

 

Оператор НАПЕЧАТАТЬ

ТАБЛИЦУ ^

 

 

 

 

Этот оператор предназначен дня печати на телетайпе

 

таб­

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

 

 

 

Для печати каждой переменной яви массива в рулоне

теле­

тайпа будет отведена колонка таблицы, ширины которой

 

(фор­

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

соответст­

вующей переменной или массива через

пробел.

При работе

маши­

ны з обычном режиме оператор НАЛ w- ТА Б_

осуществляет

печать

таблицы на рулоне АЦПУ. Строка рулона АЦПУ

содержит

128

по­

зиций, поэтому сумма всех форматов

н® должна превышать 128.

При работе

машин в режиме "Т"

строка рулона

телетайпа

содержит 72 позиции. Поэтоцу при использовании

операторов

НАЛ — ТАБ _

з

режиме "Т " сумма всех форматов не должна пре­

вышать 72 . Максимальный формат

печати одного с т о л б а

 

-

63

символа.

 

 

 

 

 

 

 

 

 

 

 

36

Число печатается вплотную к правому краю отведенного ин­

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

ко знаков после запятой, сколько позв'лляет форда?.

Ecr-ш .-е

не помещается даже целая часть

числа,

то вместо числа

будет

напечатан знак вопроса ( ? ) .

 

 

 

 

 

 

 

В се элементы массива печатаются в

одной

кгдонке.

Строки

двумерного

массива

разделяются

интервалами.

Колонки таблицы

отделяются друг от друга символами

: .

 

 

 

 

П р и м е р »

 

 

 

 

 

 

 

 

 

Пусть

А = 587, 3854; В =

(4 ,7 1 ;

8 ,3 7 ; - 6 ,5 3 5 ) :

 

 

С=

/ 5 ,

8 ,

12\

(

7 ,3 8 4 ;

 

0 ,6 5 3 7 9 ;

0,7830

( - 3 ,

4 ,

~б/

'

Д =

-1 2 ,1 3 0 ;

 

-1 ,7 5 3 1 ;

0,4788

 

 

 

 

 

^ 8 ,1 3 5 4 ;

964

32;

I ,I H S

Оператор печати:

 

 

 

 

 

 

 

 

Н А П ^ТА Б^ 4 ^ 3 Н А _

А, 6 _ В (3 ) ,

4 * _

С '2 . 5 J , ~

7 _ Д

/2,1/

( 2 .3 ) 1

 

 

 

 

 

 

 

 

 

Тогда на рулоне телетайпа получим следующее.

 

 

:

586,

3854

:

4,7100

:

5

 

 

-1 2 ,1 3 0

:

s

 

 

 

:

8,3700

:

8

 

 

- а, 7531 .

:

 

 

 

;

-6 ,5 3 5

;

12

 

 

0 .4788

 

о«

:

-3

8,1354

;

 

о

*

 

О

о

:

4

964,320

:

 

*

;

-6

1,1156

;

 

О

о

 

Здесь ширина колонок таблицы -

9 ,6 ,4

и 7 символов.

 

 

Задавая соответствующим образом информацию в

операторе

НАЛ™ Т А Б _ ,

можно обеспечить вывод на печать одной

строки

нви одного столбца матрицы в

строку

или столбец таблицы, пе­

чать Егягрнцн в

обычном виде

(а не в

вице одного

столбца)

и

Т о Д о

 

 

 

 

 

 

 

П р и м е р ы .

 

 

 

 

 

 

X)". Н А Л -Т А Б ^ З — З Н А _ 15 —

А/2,1/ ( 1 .4 ) 1

 

 

 

Этот оператор выведет на печать

одну

строку

награда

А

(вторую), состоящую из 4 -х элементов, в

столбец

таблицы:

 

37

 

-‘г <

 

 

гг

 

 

'23

 

 

ih

 

2). НАЛ - ТАБ_ 3 - ЗНА~ 1 5 - А/1Р3/ (5Л)/

 

Этот оператор выведет на печать один столбец

матрицы

(третий), ■.'©стоящей из 5

элементов,

 

о

а»

 

О

агз

 

е

°ЗЭ

 

ачз

 

о

 

°S3

 

е

 

 

5 ). НАП— ТАБ

ha! Ш к ^

А/4,1/. 20^А/4,2/,

20 — А/4,3/

 

 

 

 

 

 

Данный оператор выведет на качать одну строку

вштркцв

(■-етвертую), состоящую ез

трех элементов,

в строну табхкш

 

 

 

42

СТ43

 

 

 

4 ) . НАЛ « ,Т А Б ^

З — ЗНА— 2 0 ~ А / 1 Д / ( 3 .1 ) , Э

 

2ti _

А/1,2/ (3.1),

20 —« АД,3/

(ЗЛ) X

 

 

 

Это onepssop выведет на печать матрицу,

состоящую на

трек

-'трок ж трех столбцов,

в таблицу обычного вида

 

о

° и

;

а п

 

 

 

а и

J

°S2

 

 

 

0

° l t 5

а зг

0

 

о

в

»

о

@ts

а,.я

@32

Оператор НАПЕЧАТАТЬ ^ ТЕКСТ

Этот оператор служит дая выдаче на печать текстовой ан~ форматин0 В оодеряательной части оператора эакгюнвается пол­

ный набор сйвшояов,

шдпеаацвх выводу, Прн этой иальэя * е -

пользовать символы

? , £ ,

Например,

 

ЯАП ^ ТЕК ^ ТАБЛИЦА^ ЗНАЧЕНШ ^ ПОЛНОГО СОПРОТШЛШШ. X

Яри работе мацннн в обычном режиме оператор НАЛ—ТЕКСТ

38

 

 

печатает

текст на рулоне АЦЕ'7, строка которого

содеранг I2G

позиций.

При работе в режиме Т этот оператор

печатает текст

на рулоне телетайпа, строка которого содержит

72 позиции,

Поэтоцу при использовании операторов НАЛ ^ ТЕКСТА надо

следить за тем, чтобы количество выводимых яа печать символов не превышало числа позиций в строке рулона АЦПУ или телетай­

па.

 

 

Если тек ст ,

подлежащий выводу на печать, содержит боль­

ше позиций, то

надо перейти на следующую строку,

применив

знаки < S

(возврат каретки и перевод строки).

Этими же

знаками удобно

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

мате­

риалу выгодного расположении на рулоне телетайпа яли АЦПУ.

Например,

НАЛ ы ТЕК —. АШРОКСШАЦИЯ ь_. СУДОВОЙi-. ПОВЕРХНОСТИ. < ==

КОРМОВАЯ — ЧАСТЬ СУДНА. < В

-Т А Б В Д А * -

4S

 

 

При работе

машины в

режиме "Т " в выводимом тексте

дажно

использовать

и латинские

буквы. Набор латинских символов за­

ключается в

кавычки, которые при печати игнорируются

и по-

зицяё в строке рулона телетайпа не занимают.

Например.

НАЛ — ТЕК—. ТАБЛИЦА — ЗНАЧЕНИЙКОЭФФИЦИЕНТА^В0ДН(ВОГО_ S СОПРОТШШИН— СУДНА^’СУ ' = С • 0,001^ 1

Оператор ВЬВОД

Этот оператор можно использовать только при работе маши­

ны в режиме "Т " . Оператор ВЬВОД — служит .для вывода на АЦПУ числовых значений простых переменных и их наименований. В се переменные печатаются на рулоне АЦПУ в одну строку друг за другом. Строка рулона АЦПУ имеет 128 позиций. Если все пе­ ременные, подлежащие выводу на печать, не помещаются в одну строку, то печать будет продолжена в следующих печатных стро­ ках рулона АШУ.

В содержательной части оператора ВШОД указывается коли­ чество десятичных знаков, подлежащих выводу на печать у всех переменных, а затем перечисляются все переменные через заня­ тые. В этом случае в строке рулона АЦПУ каждая следующая пе­ ременная будет печататься через пробел после напечатанного значения предыдущей.

 

 

 

 

 

 

 

 

 

 

 

 

39

Например,

 

 

 

SUMS

 

 

 

 

 

ВЫВ_

3 -

3HA_j

X,

Y ,

 

 

 

 

 

Если

Х= 0 ,5 ;

Y= - 3 ,7 4 ;

SUM =

2 9 ,3 7 8 ,

то на рулоне

АЦПУ это будет выглядеть так:

 

 

 

 

 

 

X =

0,5 0 0

Y

= -3 ,7 4 0

SUM ~ 2 9 ,3 7 8 .

 

 

В операторе ВЫВОД

 

можно перед

каждой переменной че­

рез пробел указать номер начальной ее позиции.

 

 

Например,

 

 

 

 

 

 

 

6 0 — S /2,3/ X

ВШ — 3 — З Н А 10 — А,

20 — В ,

4 0 —

: /V ,

Если А = -2 ,3 1 0 ,

В

=

1 9 2 ,3 5 0 ,Л/ =

5 ,

S / 2 .3 /

= -0 ,0 0 1 ,

то на рулоне АЦПУ будет напечатано

 

 

 

 

 

А =

-2 ,3 1 0

В

=

192,350

N

= 5

 

3 /2 ,3 /

= -0 ,0 0 1

10

позиция

 

20

позиция

40

позиция

60

позиция

При выводе

на печать

переменных целого

тш а

или

только

целых частей переменных действительного типа количество тре­ буемых знаков в операторе ВЫВОД не указывается.

Например,

 

 

 

 

 

 

 

ВШ —

N

M l

 

 

 

 

 

 

 

Если

= I , М = 3 ,

то

на рулоне АЦПУ будет напечатано:

 

 

А/ =

I

м = з

 

 

 

 

 

Оператор ВЫВОД -

ТАБЛИЦЫ

 

 

 

Этот оператор модно применять толью

при работе

машины в

режиме "Т ".

Он печатает

на рулоне

АЦПУ таблицы числовых

зна­

чений простых переменных и массивов. Информщия задается

так

же, как

и в

операторе

НАЛ— ТАБ — . Так

как строка

рулона

АЦПУ содержит 128 позиций, то сумма форматов всех

выводимых

на печать переменных не должна превышать 128.

 

 

П р и м е р :

 

 

 

 

 

 

 

 

 

 

2 ,4 3 ;

-4 ,5 7

С = ( - 1 ,

+1, 0 ,3 ) ;

 

 

- 0 ,0 1 ;

-т2,35

 

 

 

 

 

 

 

/

2 ,

5 ,

7 )

 

 

 

 

 

 

( -

 

4 ,

I

 

 

 

 

 

 

1 - 3 ,

 

 

 

 

 

 

I

0 ,

1 ,-2 /

 

 

 

 

Рассмотрим оператор

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