Объекты и классы объектов. Подклассы, страница 4

Полный условный оператор записывается в виде:

'IF' R 'THEN' S1 'ELSE' S2:

где R - логическое выражение, S1 - безусловный оператор, S2 - произвольный оператор.        

6. Составной оператор.

Составной оператор служит для объединения группы операторов, которую следует рассматривать  как единый оператор, для объединения группы операторов в составной их необходимо заключить в операторные скобки 'BEGIN'  и 'END', конструкция:

'BEGIN' S1, S2, …, SN 'END'

где S1, S2, …, SN -произвольные операторы, рассматриваются как один оператор.

7. Оператор цикла.

Оператор цикла определяется в виде следующей конструкции:

'FOR' <параметр цикла>:=<список цикла>

'DO'  S;

где <параметр цикла> =переменная, произвольный оператор.

Cписком цикла может быть одна из нескольких конструкций следующих видов:

A1 'STEP'   A2 'UNTIL' A3

A1 'WHILE' B1, где  A1,A2,A3 -арифметические выражения;

B1 -логическое выражение;

В одном списке цикла могут содержаться элементы разных видов в произвольной последовательности:

'FOR' X: =2; X+0; 5 ‘WHILE’ X<=20 ‘DO’

A: =A+X;

8. Понятие блока.

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

'BEGIN', одного или нескольких описаний, операторов и основного символа 'END'.

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

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

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

9. Переключатели.

Данная конструкция имеет вид:

'SWITCH'  <идентификатор переключателя>:=<список меток>;

где < идентификатор переключателя> есть некоторая переменная типа 'LABEL', т.е. имеет следующее описание:

'LABEL' <идентификатор переключателя>;

<список меток> - список меток, разделенных между собой запятыми.         

Значение <идентификатор переключателя> [I], где I -целая переменная, есть метка, стоящая на 1-м месте в списке меток;

10, оператор перехода.

Оператор перехода имеет вид:

'GO TO'  M;

где М - метка, используемая в блоке, или переключатель с индексом, описанном в операторе  'SWITCH'.

11. Процедуры.

Описание процедуры состоит из заголовка процедуры и тела процедуры. Заголовок процедуры содержит название процедуры и список формальных параметров. Тело процедуры является либо оператором, либо составным оператором или блоком.

'PROCEDURE'  <название процедуры> (<список формальных параметров>);

'BEGIN',,, 'END';

Вызов процедуры осуществляется по названию:

<название процедуры>(<список фактических параметров>);

В теле процедуры можно пользоваться всеми переменными, определенными в блоке, в котором описывается процедура.

Использовать процедуру можно только в том блоке, в котором она описана, или во вложенных блоках.         

12. Процедура-функция:

Процедура является процедурой-функцией, если перед основным символом 'PROCEDURE' в описании стоит наименование типа ('REAL' , 'INTEGER', 'BOOLEAN'), а значение присваивается названию процедуры внутри ее тела.

13. Комментарии.

В тексте программы перед комментарием ставиться разделитель 'COMMENT', и весь текст, заключенный между этим словом и первым, встретившимся далее символом: (точка с запятой), считается комментарием.