Структурированные операторы.

Оператор выбора CASE.

Выражение может быть только порядкового типа. В списках значений через запятую указываются константы или интервалы значений. Если значение выражения находится в одном из списков значений, выполняется соответствующий оператор. Одно и то же значение не может находиться в нескольких списках (если рассматривать Delphi, так как в других версиях языка Паскаль это иногда допускается, при этом выполняется только первый из операторов, для которого значение – в списке). Если значение выражения не содержится ни в одном из списков и присутствует раздел ELSE, то выполняется список операторов. После последнего оператора перед ELSE и перед END точку с запятой ставить не обязательно, но допускается.

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

1. Вычислить начальное и конечное значения переменной цикла (выражения 1 и 2).

2. Присвоить переменной цикла начальное значение.

3. Если значение переменной не больше/меньше конечного значения, то

А. Выполнить оператор.

Б. Изменить значение переменной цикла на следующее/предыдущее.

В. Перейти к шагу 3.

4. Конец оператора.

Действия, выполняемые на шаге 3.Б (изменение значения переменной цикла на следующее или предыдущее), требуют, чтобы <Выражение 1>, <Выражение 2> и переменная цикла имели одинаковый порядковый тип, так как такие действия определены только для порядковых типов. Если использована фраза TO и начальное значение больше конечного, либо фраза DOWNTO и начальное значение меньше конечного, то оператор не будет выполнен ни разу. После выполнения цикла значение переменной цикла изменяется и не должно использоваться.

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

Принцип действия оператора можно сформулировать так: пока значение логического выражения истинно, выполнять оператор. Т.е. сначала происходит вычисление значения логического выражения. Если оно истинно, то выполняется оператор, и все повторяется сначала до тех пор, пока выражение не станет ложным.

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

Функции Inc и Dec определены для порядковых типов.

Они выполняют соответственно увеличение и уменьшение значения переменной на 1 или на указанное число.

 

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

Список операторов в цикле REPEAT имеет такую же структуру, как и в составном операторе BEGIN END.

Действие оператора: выполнять список операторов до тех пор, пока логическое выражение не станет истинным. Сначала происходит выполнение списка операторов, затем выселяется значение логического выражения. Если оно ложно, все повторяется сначала до тех пор, пока выражение не станет истинным.

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

КОММЕНТАРИИ