
книги из ГПНТБ / Землянский, А. А. Транслирующая система с языка АЛГЭК-М на ЭВМ Минск-32 учеб. пособие
.pdf5 .2 .2 .1 . Описания переменных служат для указания того,
чю некоторые идентификаторы в блоке представляют простые пере менные данного типа. Переменные типа вещественный могут прини мать только положительные или отрицательные значения,включая нуль. Переменные типа целое могут принимать только положитель ные или отрицательные значения, включая нуль. Переменные типа текстовый могут принимать в качестве значений только чистые стро ки. Переменные типа логический могут принимать только значения
I(истина) и О ( ложь) .
Варифметических выражениях любой операнд может быть типа пелое либо вещественное.
5 .2 .2 .2 . Текстовый формат, когда он задается в описании,
относится только к той величине с идентификатором которой он связан описателем вид. Текстовый формат трактуется в соответст вии с правилами раздела 2 .9 .2 .
Текстовым величинам может быть предписан только текстовый
формат.
Любое текстовое значение (чистая строка) рассматривается как имеющее условное дополнительное измерение, каждая позиция
которого соответствует определенному элементу этой строки» Раз мер по этому измерению (число элементов) определяется веданным
форматом, а для переменных типа |
текстовый без заданного формата |
||||
размер равен 5 (пяти) позициям. |
|
|
|||
ется, |
Числовой формат в описании числовых переменных не допуска |
||||
он используется только' в |
операторах обмена |
с внешними |
|||
устройствами |
(сы„ главу 4 ) . |
|
|
||
|
5 .2 .3 . |
Примеры |
Ошибочная |
запись |
|
Правильная |
запись |
||||
целые |
Л, В, |
С , |
Д; |
целые Л ,В ,С вид *9(3/,Д вид С(5)'>- |
49
вещественные К ,М ,Н ; |
вещественные К вид/С(2)\м . |
логические Л ,Е ; |
Н в м ^ к г ) 9(3)'j |
текстовые Т вид^ЭС5)\ТІ вид'С(О)' |
|
/ |
V |
текстовые Т, Т І вид С (7 ),
Т2 вил^азі;
5 .3 . Описания ывосивов
5 .3 .1 . Синтаксис
допиовниѳ мвссива> ::= ^описание массива типа цѳлыЙ>І<опиоа-
ниѳ |
массива типа вещественный;» I ^описание массиве типа |
|
|||
текстовый> |
|
целый массив |
^список |
мас |
|
^описание массива типа целый> ::= |
|||||
сивов типа целый > |
элемент списка |
маосивов |
|
||
^список |
массивов |
ітипа целый > : : = < |
И |
||
типа |
целый>/ |
список массивов |
типа целый>,«лемѳнт спиокѳ |
массивов типа целый>
^элемент списка массивов типа цѳлый> ::= ^список внутренних
|
массивов типа целый>/^список |
внешних массивов |
типа целый> |
||||
^список |
внутренних массивов типа |
целый > : : = |
-ссегмент масоива |
||||
|
типа |
целый >)<список |
внутренних массивов |
тигіа |
целый |
>f |
|
С |
|
||||||
|
сегмент массива типа |
целый> . |
|
|
|
4.сегмент массиве типа целый> : := ^идентификатор массива типе
целый> [^список-постоянных верхних грвницкікидентификатор
массива |
типа целый>^ ^сегмент |
массива типа целый > |
|||
^список постоянных верхних границ > |
^постоянная верхняя грѳ- |
||||
ница>|<список постоянных верхних границ |
>, |
«постоянная |
|||
верхняя |
граница > |
|
типа |
целое > |
|
^постоянная |
верхняя грѳница> ::= <число |
||||
^.список внешних массивов типа целый > : : = |
<идентификаюр маоси- |
50
ва типе целый>£дсписок верхних границѣ характеристика
массива >.7ксписок внешних массивов типа целый |
>, |
идентифи |
||||||||||
катор массиве |
типа |
целый >['<!:описок верхних |
г р в н и ц х х а - |
|||||||||
рактеристика |
массива >] |
|
|
|
|
|
|
|
||||
дописок верхних |
грзниц> |
<список постоянных верхних границ>| |
||||||||||
^переменная верхняя граница |
>, |
д список постоянных верхних |
||||||||||
грѳниц>) ^переменней верхняя граница > |
|
|
|
|
||||||||
дперѳмѳнная верхняя граница> : := дидентификетор переменной |
||||||||||||
типа |
целое> |
массива > |
::= ^признак массива> ддлина зоны> |
|||||||||
^характеристика |
||||||||||||
дсписок внешних устройств> |
|
| создаваемый |
|
|
|
|
||||||
дпризнвк массивѳ> |
::= |
исходный |
|
|
|
|
||||||
ддлина зоны > •: := |
дчиоло типа цѳлое> |
у стр о й ство І'сцисок |
||||||||||
дспиоок |
внешних устройств> : : * Д внешнее |
|||||||||||
внешних устроЙств>,4внешнее устройством |
M il |
|
МЛ21 МЛЗ/ |
|||||||||
двнешнѳѳ |
устройством ::= |
ВКІ | ЫКІI ВЛІ*| ЫЛІ*| |
|
|
|
|||||||
МЛ41 |
МЛ5 I Ш161 ЙЛ7 |
|
|
|
|
массив |
|
дсписок мас |
||||
дописвние массива |
типа вещѳствѳнный> ::= |
|
||||||||||
сива |
типа вѳщественный>( вещественный массив |
|
дописок |
|||||||||
массивов типа |
вещественный> |
|
^.элемент списка масси |
|||||||||
дспиоок |
массивов |
типа |
вѳщественный> |
вов типа вѳществѳнныймксписок массивов типа вещественный^
дэлѳмѳнт списка массивов типа вѳществѳнный>
дэлемвнт списка маооивов-типа вещественный>■ ::= дспиоок внут ренних массивов типа веществѳнный>|дсписок внешних массивов типа
вещественный >
Dвнешние устройства,отмеченные символом# (вввздочка),
впервой очереди САП МЭСИ-32 не задействованы,
51
^список внутренних |
массивов типа вещественный |
^сегмент |
массива типа |
вещ ественны й;/«лисок внутренних масси |
|
вов типа вещеетвенный>,<сѳгмѳнт массива типа веществен |
||
ный > |
|
|
« ѳ гм ен т массива типа вещественный;» : := ^идентификатор масси
ва типа вещественный>П<список постоянных верхних границ;]/
идентификатор массива типа вещественный>; <сегмент масси
ва типа вещественный;
^список внешних массивов типа вещественный; ::= идентификатор
массива типа |
веществѳнный;£<список верхних гр ан и ц ; ^ х а |
|||||
рактеристика |
массива >]|<список |
внешних массивов типа ве |
||||
С<щественный^ < идентификатор массива типа |
вещественный; |
|||||
список верхних границ > <хѳрактеристика |
м а сси в а ;] |
О |
||||
^описание |
массива |
типа |
текстовы й; : := |
текстовый массив |
^ спи |
|
сок |
массивов |
типа |
текстовы й; |
|
|
|
хсписок массивов типа текстовы й; ::= ^.элемент списка массивов
типа текстовый>/хсписок массивов типа текстовый;, ^ эле
мент списка |
массивВв |
типа |
|
текстовы й; |
|
|
^элемент списка массивов типа |
>текстовый; : « п и с о к внутренних |
|||||
массивов типа текстовый |
1 |
ссписок внешних массивов |
типа |
|||
текстовы й ; |
маосивов |
типа |
текстовы й; ::= ^сегмент |
масси |
||
^список внутренних |
ва типа текстовый;/^.список внутренних массивов типа текстовый ;,<сегмент массива типа текстовы й;
^сегмент массиве типа текстовы й; ::= -^идентификатор массиве с форматом>£ссписок постоянных верхних границ.>//£ндентифи-
катор массива с форматом;? <сегмент массива типа тексто вый >
52
/.идентификатор массива с форматом> : : = ^идентификатор массива типа текстовый>і<идентификатор массива типа текстовый>
•вид /атеистовый форма т>\
хсписок внешних массивов типа |
текстовый? ::= |
^идентификатор |
|
массива с форматом?£ссписок верхних границ> < характерис |
|||
тика массива>:7/<:список внешних массивов |
типа текстовый,?, |
||
^идентификатор |
массива с |
форма том >Гхсписок верхних границ > |
|
^характеристика |
массивам/ |
|
|
5 .3 .2 . Семантике |
|
|
Описание массивов описывает один или несколько идентифика торов, представляющих многомерные массивы переменных о индекса
ми и указывает размерности (не |
больше трех) массивов, типы и, |
|
возможно, форматы для |
массивов |
типа текстовый. |
5 .3 .2 .1 . Границы |
индексов. |
Границы индексов любого массива |
даны в индексные скобках, следующих зѳ идентификатором данного массива, в форме списка верхних границ. Это обусловлено тем,
что в данном языке все массивы считаются-приведенными к единой форме, т .е . для любого измерения массива нижняя граница равна единице.Верхняя граница, принадлежащая старшему измерению (край
няя левая в списке верхних границ) может быть задана в форме
15
идентификатора переменной типа целое только для внешних масси вов.
Список верхних границ задает диапазон всех индексов в поряд ке их перечисления слева направо.
5 .3 .2 .2 . Измерения, размерности и длины. Каждой верхней границе соответствует свое измерение массива. Номером изменения называется номер верхней границы в списка верхних границ, счи тая слева направо. Размерность массива определяется как число
53
его измерений. Длиной по каждому измерению считается само
значение верхней границы. Под длиной массива (типа целое и/или вещественное) понимается произведение длин по всем из
мерениям.
Под длиной массива типа текстовый понимается произведе
ние длин по всем измерениям, умноженному на значение повторите
ля, указанного в текстовом формате. |
|
|
то |
|||
Так как данный язык ориентирован на словную машину, |
||||||
длина |
массива |
типа текстовый будет |
раоочитыватьоя |
о точностью |
||
до слова. Отсюда следует: |
|
|
|
|||
|
|
|
V - ■ |
|
|
|
где Д игг - |
длина массива типе текстовый, |
|
|
|||
Ц |
- |
произведение длин по всем измерениям, |
|
|
||
2 |
- |
коэффициент, |
|
|
|
|
|
- |
анвчеиив повторителя в символах. |
|
|
||
5 .3 .2 .3 . |
Типы. Все массивы описанные в одном описании |
|||||
носятся к |
одному и тому же заданному |
типу. |
когда |
он |
||
явно |
5 .3 ,2 .4 . |
Текстовый формат. Текстовый формат, |
||||
задается |
в описвнии, относится |
ко всем компонентам того |
массива, с индѳнтификатором которого он овяаѳн описателем вид.
Семантика текстового |
формотѳ приведена |
в раздела 5 .2 ,2 .2 . |
5 .3 .2 .5 . Характеристика массива |
параметр задается в виде |
|
5 .3 .2 .5 .1 . |
Длина зоны. Этот |
ла , кратного целому количеству записей. Он определяет размер поля, отводимого для данного массива, то есть некоторое поле для обмена массива о внешними ні. жителями, на которых размещен
54
данный массив. Длина зоны для магнитной ленты указывает размер
порции, которыми должен производиться |
обмен. |
Список внешних.устройств |
|||
5 .3 .2 .5 .2 . |
Список внешних устройств. |
||||
задает мнемонические названия устройств, на которых может распо |
|||||
лагаться данный массив в процессе его |
обработки |
и хранения. |
|||
5 .3 .2 . |
6 |
. Описание внешних величин |
предназначено для указа |
||
ния устройств, |
не которых располагается массив |
или составной |
|||
массив и которые в дальнейшем будем называть объектами. |
Кроме того, указывается размер "окна" (длина зоны), то есть величина поля, череэ которое значения данного объекта подлежат обмену.
5 .3 .2 .7 . Допустимые ситуации:
Значения объекте расположены на перфокартах и при этом пред полагается, что полноотыо размещаются в МОЗУ.
Размер "окна" должен быть рэвен объему объекте. Объект.дол жен быть опиовн о постоянными верхними границами.
Пример:
целый массив А £ І О ,5 ,ІО исходный 500.ВКІІ Значения объекте расположены на перфокартах, и частично раз
мещаются в М08У.
Размер "окнѳѴ'должен быть не меньше длины записи. Необходи мо задеть МЛ, на которой после ввода будет размещаться вое содер жимое объекте, то еоть все его значения.
Крайняя левея граница допускается переменной.
Пример:
целый массив А fK ,5 ,I 0 исходный 5 0 ,В К І,!Щ ]
Аналогичные рэссуждения относятся к случаю, когда значетя объекта подлежат выводу на перфокарты.
55
|
Не допускается размещение значении объекта на нескольких |
|
|||||||||
магнитных лентах. |
Длина записи для |
одномерного массива типа |
целый |
||||||||
|
5 .3 .2 . |
8 |
. |
||||||||
и вещественный принимается равной единице. |
0 |
|
|||||||||
|
Длина записи для одномерного массива типа текстовый прини |
||||||||||
мается |
равной |
j - j |
при |
|
кратном |
|
|||||
где |
|
|
значение |
^+1 |
при |
|
не кратном 5, |
|
|||
п |
- |
|
|
|
|||||||
|
|
повторителя текстового формата в символах. |
|
||||||||
|
Длина |
записи |
для двухмерного и трехмерного массивов типе |
|
|||||||
целый и вещественный принимается равной значению последнего |
|
||||||||||
измерения. |
|
|
|
|
|
|
|
|
|||
|
Длина записи для двух-и трехмерного массивов типа' текстовый |
||||||||||
рѳвнѳ |
произведению значения последнего |
измерения на величину |
К.- |
||||||||
|
|
|
|
|
|
|
|
|
|
кратном 5 |
|
|
|
|
|
|
|
|
|
|
|
не кратном 5 |
|
|
Длина записи для простой составной и составной-йассива |
|
|||||||||
равна сумме длин |
объектов, входящих в |
описание структуры. |
|
||||||||
|
5 .3 .3 . |
|
Идентичность переменных с |
индексами |
|
||||||
|
Идентичность |
переменных с индексами |
синтаксически не свя |
зана с границами индексов, указанными в описании массива. Однако значения переменных с индексами в любой момент определены толь ко для тех переменных, индексы которых с момента последнего
вычисления знѳчений переменных оствлись в пределах, |
заданных |
границами индексов. |
его длины |
Мэсссив определен тогда и только тогда, когда |
|
по всем измерениям положительны. |
|
56
5 .3 .4 . |
Упорядоченность |
переменных с индексами |
||||
Компоненты массива упорядочиваются в линейную последова |
||||||
тельность по лексикографическому |
принципу, то есть компонент: |
|||||
|
^ |
|
&і, |
.........., |
ы |
|
предшествует компоненту |
|
j m j , |
|
|||
если |
d |
|
..........., |
|
|
|
k i^^ |
i , |
|
P - ij i 4: P < rn |
|||
5 .4 . |
Описания |
|
kp <^р |
|
|
|
составных |
|
|||||
5 .4 .1 . |
Синтаксис |
|
|
|
|
/описание составной;»- ::= /описание простой составнойр-/^.описа
ние составной-массива?
^.описание простой составной > ::= с ос тавная /идентификатор
простой составной?. (/описание структуры >) /описание структуры? ::= /описание элемента структуры>|
X.список описаний элементов структуры?-
/описание элемента структуры? ::= /.описание переменной в струк туре?/ -сописание массива в етруктуре?//описание составляю
щей?
/описание переменной в структуре? ::= г:описание переменной ти
пе целое?//описание переменной типа вещественное?// описа ние переменной типа текстовый?
/описание |
массива в структуре? : : = /описание |
массива типа целый |
||
в структуре?/ / описание массива типа вещественный в струк |
||||
туре?// описание массива типа текстовый в |
стр уктур е ? |
|||
/описание |
массива типа |
целый в |
структурj > : := |
целый массив |
/список |
внутренних |
массивов |
типа целый? |
|
57
/описание массива типа вещественный в структуре;* |
массив |
^список внутренних массивов типа вещественный>1
вещественный массив 4 список внутренних массивов типа ве щественный >
/описание массива типа текстовый в структуре;»-: := текстовый массив /список внутренних массивов типа текстовый>
/описание составляющей;» : : = /описание простой составной >/ ^опи сание внутренней составнвй-массивѳ>
/список описаний элементов структуры;» : := /описание элемента структуры;»//список описаний элементов структуры-»-; /описѳние элементе структуры>
/ описание |
внутренней составной-массивѳ> ::= |
составной |
массив |
|
4 идентификатор составной-массива >£/список постоянных верх- |
||||
них границ> |
„(іописание структуры;») |
|
О |
|
-^описание |
7 |
|
внутренней |
составяой- |
составной-массива> : : = /описание |
массива>//огшсание внешней составной-массива >
/описание внешней составной-мвссивѳ> составной массив
/ идентификатор соста#ной-массива>/'<^список верхних границ >
/характеристика составной-массива:^. (/описание структуры^ /характеристика составной-массива> ::= /характеристика масси-
в ѳ > 5 Л .2 . Семантика ■
Описание составных вводит в программу идентификаторы, пред ставляющие составные единицы информации и элементы структуры этих единиц. Составная единица может быть либо простой, то есть состоять из одной совокупности элементов структуры, либо сост эг -
ной-массивом, тогда она состоит из многих таких совокупностей,
тождественных по своей структуре. Каждая твкѳя совокупность счи-
58