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

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



Если оператор If обеспечивает выбор из двух альтернатив, то существует оператор, который позволяет сделать выбор из произвольного числа вариантов. Это оператор выбора Case. Он организует переход на один из нескольких вариантов действий в зависимости от значения выражения, называемого селектором.

Общий вид:

Case k of

<const1>: <оператор1>;

<const2>: <оператор2>;

…..

<constN>: <операторN>

else <операторN+1>

End;

Здесь k – выражение-селектор, которое может иметь только простой порядковый тип (целый, символьный, логический). <const1>, …<constN> - константы того же типа, что и селектор.

Оператор Case работает следующим образом. Сначала вычисляется значение выражения-селектора, затем обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Если ни одна из констант не равна значению селектора, то выполняется оператор, стоящий за словом else. Если же это слово отсутствует, то активизируется оператор, находящийся за границей Case, т.е. после слова end.

При использовании оператора Case должны выполняться следующие правила:

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

2. Все константы, которые предшествуют операторам альтернатив, должны иметь тот же тип, что и селектор.

3. Все константы в альтернативах должны быть уникальны в пределах оператора выбора.

Формы записи оператора: Селектор интервального типа:

Case I of

1..10: writeln(‘число в диапазоне 1-10’);

11.. 20: writeln(‘число в диапазоне 11-20’);

else writeln(‘число вне пределов нужных диапазонов’)

end;

Селектор целого типа:

Case I of

1: y:= I+10;

2: y:= I+20;

3: y:= I +30;

end;

Пример 1. Составить программу, которая по введенному номеру дня недели выводит на экран его название.

Program days;

Var day:byte;

Begin

Write(‘Введите номер дня недели’);

Readln(day);

Case day of

1: writeln(‘Понедельник’);

2: writeln(‘Вторник’);

3: writeln(‘Среда’);

4: writeln(‘Четверг’);

5: writeln(‘Пятница’);

6: writeln(‘Суббота’);

7: writeln(‘Воскресенье’)

else writeln(‘Такого дня нет’); end;

end.

Пример 2. Составить программу, которая по введенному номеру месяца выводит на экран название времени года.

Program m;

Var k:byte;

Begin

Write(‘Введите номер месяца’);

Readln(k);

Case k of

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

3, 4, 5: writeln(‘Весна’);

6, 7, 8: writeln(‘Лето’);

9, 10, 11: writeln(‘Осень’)

else writeln(‘Такого месяца нет’); end;

end.





Дата публикования: 2014-12-08; Прочитано: 228 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



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