Читайте также: |
|
В операторе IF выражение THEN и выражение ELSE могут быть расширены при использовании оператора BEGIN, который задает последовательность операторов заключенных между стандартными словами BEGIN и END и разделенными точкой с запятой. Внутри стандартных слов BEGIN и END могут встречаться любые операторы, в том числе – операторы BEGIN.
В условном операторе оператор BEGIN либо выполняется полностью, либо не выполняется вообще, в зависимости от результатов проверки условия.
PROGRAM MaxMin (INPUT, OUTPUT);
{Копирует из INPUT в OUTPUT наибольший из
первых двух символов, затем - наименьший}
VAR
Ch1, Ch2: CHAR;
BEGIN
READ(Ch1, Ch2);
WRITELN(‘MAX OF ’, Ch1, ‘, ‘, Ch2);
IF Ch1 > Ch2
THEN
BEGIN
WRITELN(Ch1);
WRITELN(Ch2)
END
ELSE
BEGIN
WRITELN(Ch2);
WRITELN(Ch1)
END
END.
INPUT: AZURE
OUTPUT: MAX OF A, Z
Z
A
INPUT: 1234
OUTPUT: MAX OF 1, 2
Список операторов внутри оператора BEGIN может быть пустым. В таком случаем говорят, что внутри оператора BEGIN присутствует пустой оператор. Пустой оператор ситуация довольно часто встречается в Паскаль-программах.
Если рассмотреть внимательно следующий фрагмент кода
BEGIN
Ch1:= Ch2;
END
Оператор присваивания заканчивается точкой с запятой, которая является разделителем. Следовательно, в операторе BEGIN два оператора: оператор присваивания и пустой оператор после точки с запятой.
В примере ниже выражение THEN содержит пустой оператор
IF Ch1 < Ch2
THEN
ELSE
Ch1:= Ch2
Внутри выражения THEN или выражения ELSE может быть использован оператор IF. В случае вложенности операторов IF Паскаль-машина ассоциирует выражение ELSE c ближайшим оператором IF.
PROGRAM Max3 (INPUT, OUTPUT);
{Копирует из INPUT в OUTPUT наибольший из
первых трех символов}
VAR
Ch1, Ch2, Ch3: CHAR;
BEGIN
READ(Ch1, Ch2, Ch3);
WRITELN(‘MAX OF ’, Ch1, ‘, ‘, Ch2, ‘, ‘, Ch3, ‘ IS ‘);
IF Ch1 > Ch2
THEN
IF Ch1 > Ch3
THEN
WRITE(Ch1)
ELSE
WRITE(Ch3)
ELSE
IF Ch2 > Ch3
THEN
WRITE(Ch2)
ELSE
WRITE(Ch3)
WRITELN(‘.’)
END.
INPUT: AZURE
OUTPUT: MAX OF A, Z, U IS Z
INPUT: 1234
OUTPUT: MAX OF 1, 2, 3 IS 3
Дата добавления: 2015-07-11; просмотров: 105 | Нарушение авторских прав