Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Оператор выбора (варианта) используется в тех случаях, когда в за­висимости от значения какого-либо выражения необходимо выполнить один из нескольких последовательных операторов. Оператор выбора от­носится к сложным и имеет следующую форму записи:

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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...