Условный оператор CASE

Оператор служит для выбора одного из помеченных вариантов действия (операторов), в зависимости от значения "параметра". Оператор имеет вид:

 Case "параметр" Of 
 "список помеченных операторов"  
 Else "оператор" 
 End; 

Здесь "параметр" - выражение или переменная порядкового типа.

Из "списка помеченных операторов" выполняется оператор с меткой, включающей значение "параметра", иначе оператор после слова Else.

Конструкция Else "оператор" может отсутствовать. Напомним, что "оператор" может иметь вид: Begin "операторы" end;

Пример операторов для определения порядка целого числа N от 0 до 999:

  case N of 
 0..9 : writeln('однозначное'); 
 10..99 : writeln('двузначное'); 
 100..999 : writeln('трехзначное') 
 else writeln('Число "N" не входит в указанный диапазон')  
 end; 

Приведем пример программы случайного предсказания одного из десяти вариантов ближайшего будущего с вероятностью 1/20, в остальных случаях - вы "неудачник".

PROGRAM FUTURE; 
var N : word; 
BEGIN 
 writeln('ПРЕДСКАЗАНИЕ БУДУЩЕГО'); 
 Randomize; 
 N:=Random(20)+1; { N - случайное число от 1 до 20 } 
 writeln; write('Вас ожидает '); 
 case N of 
 1 : writeln('счастье'); 
 2 : writeln('пятерка'); 
 3 : writeln('дорога'); 
 4 : writeln('двойка'); 
 5 : writeln('болезнь'); 
 6 : writeln('здоровье'); 
 7 : writeln('деньги'); 
 8 : writeln('любовь'); 
 9 : writeln('встреча'); 
 10 : writeln('дети') 
 else writeln('неудача') 
 end; 
 writeln('Нажми Enter'); 
 readln;  
END. 

Здесь функция Random(x) генерирует случайное число, с равномерной плотностью распределения на заданном интервале. Для инициализации распределения в начале программы необходимо вызвать процедуру Randomize.

Последнее изменение: Среда 2 Декабрь 2009, 03:04