Хелпикс

Главная

Контакты

Случайная статья





Оператор выбора Case Of. Решение задач



Оператор выбора Case Of. Решение задач

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

Например, с клавиатуры вводится число, означающее день недели. Определите, какой день соответствует данному номеру.

1: понедельник

2: вторник

3: среда

и т.д.

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

 

или case выражение of вариант : оператор; ... вариант : оператор; else операторend;  
Общая форма записи оператора выбора Case of

case выражение of вариант1: оператор; ... вариантN: оператор;end;

 

Выражение, которое записывается после ключевого слова case, называется селектором, оно может быть любого порядкового типа (перечислить порядковые типы данных – целый, символьный, логический).

В выражении может быть записана

· переменная;

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

· арифметическое действие.

Вариант состоит из одной или большего количества констант или диапазонов, разделенных запятыми. Они должны принадлежать к тому же типу, что и селектор, причем недопустимо более одного упоминания варианта в записи инструкции case. Из перечисленного множества операторов будет выбран только тот, перед которым записан вариант, совпадающий со значением селектора. Если такого варианта нет, выполняется оператор, следующий за словом else (если он есть).

В варианте записываются те значения, которое может принимать выражение.

Запомните такое правило! Сколько раз вы используете, оператор выбора, столько раз вам придется написать end. Если вам необходимо записать несколько действий, тогда вам необходимо поставить операторные скобки Begin end.

Пример 1. Определить время года по месяцам.

 

Var a:byte;

Case a of

1, 2, 12 : Writeln(‘Зима’);

       3..5 : Writeln(‘Весна’);

       6..8 : Writeln(‘Лето’);

       9..11 : Writeln(‘Осень’);

End;

Пример 2.По введенному с клавиатуры символу определить, что введено: буква, цифра, оператор или специальный символ.

Var ch: char;…case ch of 'A'..'Z', 'a'..'z' : WriteLn('Буква'); '0'..'9'      : WriteLn('Цифра'); '+', '-', '*', '/' : WriteLn('Оператор'); else WriteLn('Специальный символ')end;

 

Как видно из примера, в качестве варианта может выступать не только отдельное значение, но и диапазон значений.

Диапазон записывается так:
начальное значение..конечное значение

Кроме того, в качестве варианта может выступать перечень значений выражения (значения перечисляются через запятую).

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.