Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Оператор выбора (варианта) используется в тех случаях, когда в зависимости от значения какого-либо выражения необходимо выполнить один из нескольких последовательных операторов. Оператор выбора относится к сложным и имеет следующую форму записи:
CASE _ выражение _ OF
константа 1: оператор 1;
константа 2: оператор 2;
… … … … … … … … …
константа n: оператор n
END;
Здесь CASE (в случае), OF (из), END (конец) - служебные слова.
Оператор выбора действует следующим образом.
Если значение выражения равно одной из констант, то выполняется соответствующий ей оператор. Затем управление передается за пределы оператора выбора.
Если значение выражения не совпадает ни с одной константой, то управление передается за пределы группы.
Выражение может быть любым стандартным типом, кроме действительного (REAL). В соответствии с этим и константа не может быть действительного типа. Тип константы должен совпадать с типом выражения. Пример записи оператора выбора:
CASE K+1 OF
5: Y:=SQR(X);
11: Y:=SQRT(X);
4: Z:=4*(A–B)
END;
Если значение K+1 будет равно 5, то выполнится оператор присваивания Y:=SQR(X) и управление будет передано на оператор, расположенный после слова END. Аналогично, если значение К+1 будет равно 11, 4 или 7, то выполнится один соответствующий оператор и управление будет передано за пределы оператора выбора.
Переменная K должна быть объявлена как переменная целого типа. Кроме того, К, X, А, В должны получить значения до выполнения оператора CASE.
В операторе выбора в качестве константы допускается использование списка констант, например:
CASE S OF
‘+’, ‘– ‘, ‘*’, ‘/’: P:=1;
‘A’, ‘B’: P:=2;
’.’: P:=3;
END;
Переменная S должна быть объявлена в разделе описаний как символьная. Если значением S будет один из знаков ' + ', ‘ – ‘, ' * ', ' / ', то переменная Р получит значение 1. Если значением S будет символ 'А' или 'В', то P получит значение 2. Если значением S будет знак точки '.', то переменной P будет присвоено значение 3.
Пример 5.4. Ввести номер дня недели и вывести соответствующий ему день недели на русском и английском языках. Ниже представлена программа 5.2 и ответ для введенного номера недели 5.
Программа 5.2
(*ДЕНЬ НЕДЕЛИ*)
PROGRAM E32;
VAR N:INTEGER; (*НОМЕР ДНЯ НЕДЕЛИ *)
BEGIN
WRITELN('ВВЕДИТЕ НОМЕР ДНЯ НЕДЕЛИ:’);
READ(N);
CASE N OF
1: WRITELN (‘ПОНЕДЕЛЬНИК - MONDAY');
2: WRITELN (‘ВТОРНИК - TUESDAY');
3: WRITELN (‘СРЕДА - WEDNESDAY');
4: WRITELN (‘ЧЕТВЕРГ - THURSDAY');
5: WRITELN (‘ПЯТНИЦА – FRIDAY’);
6: WRITELN (‘СУББОТА - SATURDAY');
7: WRITELN (‘ВОСКРЕСЕНЬЕ - SUNDAY')
END;
END.
ВВЕДИТЕ НОМЕР ДНЯ НЕДЕЛИ:
ПЯТНИЦА – FRIDAY
Оператор CASE может использоваться с ключевым словом ELSE, имеющим тот же смысл, что и слово ELSE в операторе IF.
CASE _ выражение _ OF
константа 1: оператор 1;
константа 2: оператор 2;
… … … … … … … … …
константа n: оператор n
else оператор
END;
Перед ELSE, как и в операторе IF, точка с запятой не ставится.
Дата публикования: 2014-11-02; Прочитано: 282 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!