Next:3.1.4
Доказательство свойств ветвящихся
Up:3.1
Средства для организации
Previous:3.1.2
Условный оператор
CaseStatement = case Expression of Case {"|" Case} [else
StatementSequence] end.
Case = [CaseLabelList ":" StatementSequence].
CaseLabelList = CaseLabels {"," CaseLabels}.
CaseLabels = ConstExpression [".." ConstExpression].
Рис. 3.8. Синтаксис оператора выбора
В операторе выбора (см. рис. 3.8) также допускается несколько вариантов (альтернативных последовательностей операторов). При этом с каждым вариантом связывается свой (отличный от других) элемент разбиения всех возможных значений условия на непустые (попарно не пересекающиеся) подмножества так называемых меток вариантов. Условие должно быть целого типа, литерного типа или типа перечисления (см. гл. 4). При выполнении оператора выбора условие осуществляет выбор варианта -- выполняется тот альтернативный оператор, среди меток вариантов которого есть константа, совпадающая с текущим значением условия (если такой метки не окажется, то фиксируется ошибка в программе).
Например, оператор выбора
case X of
'=' : K:=0
|'*', ' + ' : K:=1
|'-' : K:=2
else K:=3
end
равносилен оператору
if X = ' = ' then K := 0
elsif (X = '*') or (X = '+') then K := 1
elsif X = '-' then K := 2
else K:=3
end.
Используя оператор выбора, можно построить следующую программу печати названия дня недели по его номеру
module ПечатьДня;
var Номер : integer;
begin
read (Номер);
if (Номер < 1) or (Номер > 7)
then write ('Ошибка в номере!')
else
case Номер of
1: write ('ПОНЕДЕЛЬНИК')
| 2: write ('ВТОРНИК')
| 3: write ('СРЕДА')
| 4: write ('ЧЕТВЕРГ')
| 5: write ('ПЯТНИЦА')
| 6: write ('СУББОТА')
| 7: write ('ВОСКРЕСЕНЬЕ')
end
end ПечатьДня.
Это же вычисление можно осуществить следующим образом:
module ПечатьДня1;
var Номер : integer;
begin
read (Номер);
case Номер of
1: write ('ПОНЕДЕЛЬНИК');
| 2: write ('ВТОРНИК')
| 3: write ('СРЕДА')
| 4: write ('ЧЕТВЕРГ')
| 5: write ('ПЯТНИЦА')
| 6: write ('СУББОТА')
| 7: write ('ВОСКРЕСЕНЬЕ')
else write ('Ошибка в номере!')
end
end ПечатьДня1.
Next:3.1.4
Доказательство свойств ветвящихся
Up:3.1
Средства для организации
Previous:3.1.2
Условный оператор