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

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

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

20

 

 

 

 

или полулогарифмической формах.

 

 

При заш ей

на информационном бланке чисел

в полулогариф­

мической форме указываются мантисса числа, состоящей

из 7

цифр со своим

знаком,

а затем порядок числа,

содераацнй

2

цифры со овоны знаком.

 

 

 

Например,

числа -

1 0 7 .8 5 ; 0 ,5 3 4 1 ; 14 ;

-1 0 5 7 ; 0 .015782

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

/ -1 0 7 .8 5 . + 0 .5341 . + 1 4 ,0 . -1 0 5 7 ,0 . + 0,015782 ./ ;

либо в полулогарифмической форме;

/-1078500+03. +5341000+00. +1400000+02. -1057000+04. +157820002/.

Целые числа отделяются от действительных границами. Мас­ сивы чисел также отделяются от других чисел границами. При

атом существует следующий нередок ввода числовой информации;

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

числа, одномерные массивы чисел действитель­

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

типа,

це­

лые числа,

одномерные массивы целых чисел,

двумерные массивы

целых чисел. При этом запись элементов двумерных

 

массивов

производится построчно. Отдельные числа одного типа

принад­

лежат одноцу массиву.

 

 

 

 

 

Например, нужно записать на информационном бланке

сле­

дующие числа:

 

 

 

 

 

 

3 ,1 5 1 ;

- 2 ;

2 - I 0 3 ; ( 1 ,2 ,3 ) ;

/ 1 ,1 ;

2 ,5 ;\

 

3 ,0

 

 

 

 

2 ,2 ;

- 3 ,4 ;

I

0 ,4

;5 '

 

 

 

\ 5 ,1 ;

- 2 .2 ;/

 

3 ,5

 

На информационном бланке это

будет выглядеть

так ;

 

/ +3,151. +0,5. +2000000+03.// +1,1. +2,5. +3,0. +2,2. -3 ,4 .

+0,4. +5,1. -2 ,2 . +3,5.// -2 . +5./ /+1.+2.+3./

Еще пример:

1 ,1 ; - 3 ,0 ; (2 ,1 ; 3 ,5 ; - I ) ;

^ 3

; I ; - I .

На информационном бланке:

/+1,1, —3,0.// +2,1. +3,5. —1,0о// +1. —Х«// +2. +1. +3.-0./ .

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

21

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

как это показано в примерах

(0 сзозно

и опустить, но

запятая -

обязательна).

 

 

 

 

 

 

 

 

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

3

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

программе

как

число действительного

типа,

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

бланке

его

надо записать в вице:

 

+ 3,0

или

-'-3,

. Точно

так же,

нуль до запятой на информационном бланке может быть опущен.

Например,

-0 ,3 5 мэжно записать в виде

—,35

 

Простые переменные

 

Под этим термином в АКИ подразумеваются

исходные данные

задачи, промежуточные и конечные результаты,

коэффициенты п

т .д ., словом,

любое число, обозначенное буквой шш набором

букв в цифр.

Для простых переменных используются буквы ’ ла­

тинского алфавита. Набор латинские букв и цифр, который при­

меняется для обозначения переменной, должен начинаться обя­

зательно с

буквы»

например,X JCO ,HELTR ,RES,

Zi, R02 п

т.Д .

 

 

 

 

 

 

 

Обозначение одной переменной (идентификатор) должно

от­

личаться от

идентификатора другой переменной хотя

бы

одним

из первых шести символов. Например, переменные SZE Тй 51

н

DZETR 52

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

ременная DZETR 5».

 

 

 

 

Буквы I

, J , L

не зюцут использоваться для

простой

переменной,

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

индексов.

Для простых переменных они могут применяться только в

соче­

тании с другими буквами и цифрами.

 

 

 

Например, X I

,

L i

и т .д .

 

 

 

В идентификаторе

следует различать б у т у 0 от

цифры 0 .

Поэтому при записи программы на бланке букву 0 в идентифика­

торе

заменяют 6 . Например RQi читается как

"ро один", а

ROf

- как "р

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

переменные.

 

 

 

Простая переменная не может иметь

индекса.Например, р а з­

ные корни одного и того же уравнения

, хг , х , должны обо­

значаться либо

различными переменными X I ,Х2 ,ХЗ, либо как

индексированные

элементы одномерного

массива

(см .нихе).

2г

Массивы

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

ных инженерных задач часто приходится сталкиваться с выпол­

нением

операций над векторами и матрицами. Вектор, заданный

своими

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

забором чисел,

кото­

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

например,

 

Такой набор чисел будем называть одномерным .массивом.

Если

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

пользуется идентификатор данного массива, после которого

ъ

косых скобках ставится номер соответствующего элемента.

 

 

Например, если X s* {■*,,

х , * , }

. то

 

**Л

/ { /

,

 

 

 

 

 

Ъ * Х / г / у

 

а 3 = Х / з / .

 

 

 

 

 

Еще пр.-тмер:

А 2

( 1 ;5 ;

- 3 ;2 7 ;4 ) . Тогда

А2

/3/~ - 3 ;

 

А2 /4/=27 и т . д .

 

 

 

 

 

 

 

 

 

 

 

 

Индекс элемента массива может быть и буквой.

 

Для

этою

гфименявтся только 4 буквы:

2 , U , К , L .

 

 

 

 

 

 

 

Например, R } / I /

обозначает

i

-й элемент массива Я i .

 

Наряду с одномерными массивами в АКИ можно

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

,двумерные массивы - штрицу чисел.

Каждый элемент двумерного

массива имеет два индекса, которые

по-прежнему указываются в

косых скобках вслед за идентификатором, обозначающий

данный

массив.

При этом первый индекс -

это номер строки,

а второй

-

номер столбца матрицы.

Индексы обязательно

отделяются

друг

от друга

запятой.

 

 

 

 

 

 

 

 

 

 

 

 

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

В5 =

f 2 ,7 ;

- 3 ,1 ;

 

4 ,1 'j

 

 

 

 

 

 

 

 

\ - 0 . 2 ;

2 ,7 ;

- 3 ,8 /

•то

 

В 5

/1,5/

=

4 ,1 ;

В 5

/2,1/

= - 0 , 2 ;

 

 

 

 

 

 

 

В 5

/ I , J

/ -

элемент матрицы»

стоящий s i

- 8

строке a

f

столбце.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Над индексами I, J ,

ft, L

нельзя производить никаких

ариш-

ыетических операций. В качестве

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

также выражения вида

At В , где

А -

одна из буквI< Jt К L » а

В - целое число.

 

 

 

Например, й / l +

i / s a iH

f

В ! К - 2 /

 

 

 

 

 

 

25

Числовые значения

индексов -

обязательно

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

числа

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

н ельзя).

 

 

 

 

Простые переменные

и т сси вы

в

зависимости от вида

со­

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

на переменные и массивы

действительного типа»

а также на переменные н массивы целого

т ш а .

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

произ­

водятся по тем же правилам, что

и над действительными и це­

лыми числами.

 

 

 

 

 

 

Элементарные функции

 

 

В

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

функ­

ции

sm cc, cos сс, arc sin х, a r c tg x , Enx, e x, \cc\.

 

Кякдая функция определяет некоторое числовое значение дейст­

вительного типа для аргумента, представленного в виде ариф­ метического выражения и заключенного в круглые скобки. В АКИ элементарные функции записываются в виде:

s i n (x ), co s(x ) , t g (x ), a r c s i m (x ) , a r c c o s (x )}

ARCTG(X), L N (X ), £ X P (X ), МОЪ(х).

Все функции, кроме МОЛ , вычисляются по стандартным про­

граммам библиотеки стандартных подпрограмм автокода (БСП АКИ).

Значения аргументов

и данных функций могут быть только

дей­

ствительного тиха.

Что касается функции M OJ)(Xj , то

зна­

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

Для тригонометрических функций принято редиаянес измере­ ние углов.

Рассмотрим примеры записи в символах АКИ следующих вы­ ражений:

I .

2.

а х 1 - s in г \jcc ^ В,

А Х ’2

- S IM (X J (l-- 2 ))’2 ^ (= B

-

s i-n *x + ?пос

Уa r c s in fic

Y ~ (S IN (Х )’2 + L N (X )) ■A R C S IN (X , 0 ,5 ).

24

s in лх +■ cos5oo - tg x

УУ 2 s c n x + а осг

Y= (SIN (X )’5 +

"

3

- TO (5c))(2-SIN(X)+A-X2)’0'5

4 .

 

w

t

\

. V ^

-hatgx*

y = a r c c o s ( £X

~2 iXi ) + ]j s g

+ cos* fie

Y=ARCCOS(EXP(-X)-T: (£ ■MOD ( X ) f =

 

((X/2+A-TG. (Х ’$ :(2 -в +C0S(X’0 ,5 )fi))’( 1 -3) .

5 .

и = tg(Aoc + -j

-Tl) ,

 

 

Y=TG (*ыХ+М-Р1:2).

Здеоь

предварительно

 

 

 

 

 

 

долина быть определе­

 

 

 

 

 

 

на переменная

 

coslnxl

 

 

 

P I

= 3,14159 .

 

 

 

 

 

 

у = &

у

 

 

 

 

 

Y=EXP(C0S(M02 (N X ))).

 

 

 

 

 

Операторы

 

 

Элементами входного

языка АКИ является операторы, общее

количество которых около

30.

По их назначению операторы мож­

но разбить на группы:

 

 

 

 

 

I . Ввода и размещения информации:

 

 

1 ) В В 0 Д _

,

 

 

 

 

 

2 )

MACCJB — ,

 

 

 

 

 

3 )

НАЗЗАТЬ.-. .

 

 

 

 

 

П. Организующие счет во йорвдяам:

D выпоить,-;

2 )

ШТЕГРМ — ;

3 )

АЛГЕБРАШЕСКИХ — УРА8НБНЙЙ _ СЖТЕМА — .

Ш. Управляющие ходом вычислительного процесса (организа­ ция циклов, условные н безусловные переходы):

25

1)

ЕСЛИ -

,

 

2 ) ВЫПОЛНИТЬ— ,

 

3)

ПОВТОРИТЬ — .

 

4 )

ПЕРЕИТИ — ,

 

5 )

КОНЕЦ — .

 

IV. Осуществляющие вывод информации на печать:

1)

НАПЕЧАТАТЬНА - БМ П -

,

2 )

НАПЕЧАТАТЬ— НА— ТЕЛЕТАЙПЕ- ,

3 )

НАПЕЧАТАТЬ— ТАБЛИЦУ-

,

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

 

5 )

ВШ О Д -

,

 

6 )

ВШОД — ТАБЛИЦЫ- ,

 

7 )

ВШОД — ТЕКСТА - .

 

V . Обращения к библиотеке стандартных программ,к прогр мам!, составленным в кодах машины и для работы с магнитной лентой:

1 )

БИБЛИОТЕЧНАЯ - ПРОГРАММА- ,

2 )

С П -

,

3)

КО Д -

,

4 )

КОД — ПРОДОЛЖЕНИЕ— ,

5 )

ЗАПИСЬ— ,

6 )

ЧТЕНИЕ— .

У1. Осуществляющие исправление автокодовой программы: 1 ) ВСТАВИТЬ- , 2 ) УДАЛИТЬ — , 3 ) ЗАМЕНИТЬ— .

УПо Действия с двоичными кодами: 1 ) ДВОИЧНЫЙ-ВЫЧИСЛИТЬ— , 2 ) ДВОИЧНЫЙ— ЕСЛИ— .

Кавдоацу оператору входного языка соответствует блок

транслятора, который расшифровывает его в составляет рабочую програмиу вычислений*

В

этом учебном пособии при описании операторов„рада про­

стоты ,

ISB не будем различать оператора и соответствующий

блок транслятора»

 

 

Как видно s s обозначений,

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

записывается буквами русского

алфавита. После

иаинеяованш

ставится символ — (пробел).

Далее наносится

остальная жн-

26

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

ставится

сим­

вол 5

. Так как переводящая программа различает

только

пер­

вые три буквы, то каждое слово в названии оператора

можно

сокращать до трех букв.

 

 

 

 

Поскольку в программе,

записанной в символах

АКЛ, опера­

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

снабжаются мет­

ками, которые являются как бы адресами операторов при

обра­

щении к

ним. Метка - целое

положительное число,

которое

ста­

ви тся,

если ято необходимо,

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

оператора.

После метки ставится точка.

В качестве меток используются в

любой последовательности числа от I до 127.

 

Например, 187. ПСВТОРИТЬ2 . . .

,

 

124. ПОДПРОГРАММА

 

,

41 . ВЫЧЮИГЬ

 

Программа в АКй всегда

начинается заглавием: или заменяю­

щим его символом Z

,

поставленным в

пятом столбце

бланка

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

Без

заглавия трансляция автокодовой

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

ошибочно. Заканчивается запись программы словом НАЧАЛО,

по­

сле

которого

ставится пробел

и метка оператора,

открываюле-

IX»

программу.

Например,

НАЧАЛО — I ! .

 

 

 

 

Запись каждого оператора начинается с новой строки блан­

ка

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

 

 

 

 

 

§ 5 .

Операторы ввода и размещения информации

 

 

 

 

 

 

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

 

 

 

 

Этот оператор производит

обращение к информационному

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

перево­

дит

их в

двоичную снстецу и размещает в памяти машины.

 

 

Оператор ВВОД позволяет вводить переменные

и массивы дей­

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

и целого типов.

В автокодовой программе

 

после

слова ВВОД пишется пробел, а

затем идентификаторы, обозначаю­

щие вводимые

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

друг от

друга

запятыми.

Заканчивается

информация об операторе ВВОД

симво­

лом

Е .

При

этом горддок размещения вводимых

переменных и

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

исход­

ных данных на информационном б& шке. Напомним,

что

сначала

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

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

а

 

27

затем - целого. Перед первым из идентификаторов

переменных

или массивов целого типа пишется знак : , претем запятая пе­ ред ним не ставится.

Например,

ЗВОД- S . C !

ВВОД^ : Я / ,

RES9, Т1Х, Я=В, У ,Р 101 Р2, P3Z .

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

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

Например,

 

 

 

ВВОД о-

С(100)1

 

ВВОД •—* •' Р(7),

 

В первом случае

одномерный массив А содержит 15

чисел;

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

типа Р

и С, состоящие

из 7

и 100 чисел.

 

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

чество строк и столбцов, отделенные друг от друга точкой ( * ) . Максимальное количество элементов массива должно быть выра­

жено целым числом. В соответствии с этим числом под рассмат­ риваемый массив в памяти машины отводится необходимое коли­

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

Например,

ВВОД^ В(2Ч^Р.6), x(H0~N-M)I

ВВОД ~ : М, N, Р, S, В/,300_ M-N)l

Ниже приведена примерная схема записи оператора ВВОД.

ВВШ Ь-

 

fi'jW L,

M-n ) ,

с ( 2 5 0 Л Щ : А / Д

Т Щ .

найме-

промаксичисло

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

опи­

нов а -

стые

маль-

строк

мерногомае-

перемен-

сание

ние

пере-

ное чи-

и

сива С

чые ц е -

масси-

опера-

менные ело

столб-

 

лого

в а Т

тора

дей ст-

элемен-

цов

 

типа

 

 

витель-

тов

 

 

 

 

 

ного

 

 

 

 

 

 

типа

 

 

 

 

 

Элементы ввода действительного

Элементы вво -

тнпа

д а целого ти­

 

па

28

Рассмотрим несколько примеров записи оператора ВВОД и соответствуй]}их ецу исходных данных на информационном бланке.

I . Ввести в ЭЦ365 необходимую информацию для решения сле­ дующей системы уравнений;

7 ,9 x f + 5,8

х£+

5,7 зс3 - 7,2 х^~ 8,08

8,5 X, -

8,8

Хг +

0,8Xs +3,5х^ ~ 9,95

*f,3 x f + -

8,2 x £ ~ 3,Zx3 +

9,3 ~ 8,80

3,2 x f -

U4 Xs ~ 8,9 X2 +

3,3x^ = 1,00

Необходимая информация должна состоять из указания о по­ рядке системы, выраженном целым числом, и двух гдасснвоз - матрацы коэффициентов системы и столбца свободных членов.

ВВОД — В ( 4 ) ,

А ( 1 6 _

4 .4 ) : A/J

 

 

 

На информационном бланке соответствующие данные

будут

иметь вид:

 

 

 

 

 

 

 

 

граница

 

 

граница

 

 

граница

+ 6,68 .

 

 

 

+ 7 ,9 .

+ 4 ,3 .

 

 

+4.

+ 9,95 .

 

 

 

+ 5 ,6 .

+ 4 ,2 .

 

граница

+ 8 ,6 0 .

 

 

 

+ 5 ,7 .

- 3 ,2 .

 

 

 

+ 1 ,0 0 .

 

 

 

- 7 ,2 .

+ 9 ,3 .

 

 

 

граница

 

 

 

+ 8 ,5 .

+ 3 ,2 .

 

 

 

 

 

 

 

- 4 ,8 .

- 1 .4 .

 

 

 

 

 

 

 

+ 0 ,8 .

—8 ,9 .

 

 

 

 

 

 

 

+ 3 ,5 .

+ 3 ,3 .

 

 

 

 

 

 

 

 

граница

 

 

 

2 . Найти произведение

матриц А и В .

 

 

 

1

5

3

о\

 

3

2

 

2

1

- 1

4

 

В=

Г - I

 

-3

2

6

1

 

 

 

 

 

 

 

 

 

О

0

3

А

 

 

 

 

Исходные данные считать числами целого типа. Элементы первой и второй матриц объединить в массивы А а В .

ВВОД — : А (16—. 4 . 4 ) , В ( 1 2 _ 4 ,3 ) Ж

29

На информационном бланке:

 

 

граница

 

граница

 

+1.

- 3 .

+3,

+3.

+5.

+2в

+2»

+7.

+3.

+6.

+0о

- 2 .

+0.

+1.

+1.

граница

+2.

 

- I .

 

+1.

+0.

+3.

 

- I .

+3.

+2.

 

+4»

44 .

+1.

 

 

граница

+3.

 

Оператор ЫАССЮ

В процессе решение многих инженерных задач часто образу­ ются промежуточные результаты» которые в дальнейшей мохут

неоднократно использоваться» Поэтому их необходимо сохранять,

отвода дая них в памяти машины необходимое количество ячеек. Эти же соображения относятся и к конечным результатам реше­ ния» В МИ дая этой цели, т .е » дая описания и размещения в памяти машины массивов, не входящих в состав исходных данных

задачи» служит оператор МАССИВ. Оператор МАССЮ записывается

по тем ке правилам, что

и оператор ВВОД»

 

Например, МАССИВ i _

Р (3 4 ), У (60

_ 1 0 ,6 )1

Если число строк или столбцов двумерного массива задает­ ся не числом» а простой переменной целого типа, то эта пере­

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

элементов

кассива при помощи операторов ВВОД или ВЫЧИСЛИТЬ —■:

. Опи­

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

использованию

элементов массива в авто кодовой программе» Так как

 

оператор

МАССИЗ только отводит место дая элементов массива в

 

памяти

машины» то признак массива целого типа ( : )

писать

 

необяза­

тельно» Оператнв МАССЮ сам числовых значений элементам мас­

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

Эти числовые

значения должны

вычисляться в

программе при помощи оператора ВЫЧИСЛИТЬ.

 

П р и м е р.

 

Рассчитать коэффициент сопротивления моде»

ли по форвдяе

?

'z

, если задано

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

= — гл—

 

 

у V* .0}

 

 

модели в функции скорости:

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