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

книги из ГПНТБ / Землянский, А. А. Транслирующая система с языка АЛГЭК-М на ЭВМ Минск-32 учеб. пособие

.pdf
Скачиваний:
5
Добавлен:
19.10.2023
Размер:
4.15 Mб
Скачать

5 .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

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