Читайте также:
|
|
Використовується в тому випадку, коли змінна може приймати ряд дискретних значень. Загальний вигляд оператора:
CASE <K> OF
<значення K1 чи список значень K1>: S1
<значення K2 чи список значень K2>: S2
.
.
<значення KN чи список значеньN>: SN
[ ELSE SN+1]
END;
Де: K - вираз чи змінна перелічувального типу;
S1.. SN+1 - оператори, які використовуються в тому разі, коли вираз чи змінна K набуває відповідного значення. Вони можуь бути складеними. Виконання оператора можна проілюструвати наступною блок-схемою та діаграмою дій:
|
ні
| |||
так
ні
::
::
|
так
ні
<K>
S1
S2
SN
SN+1
Приклад: з'ясувати, парне чи непарне число NUMBER.
program control;
{ програма з'ясовує, парне чи непарне число NUMBER}
var NUMBER: integer;
begin
writeln('введіть число для перевірки (ціле):');
readln(NUMBER);
case NUMBER mod 2 of
0: writeln(NUMBER,'парне');
1: writeln(NUMBER,'непарне');
end;
end.
Приклад: застосування змінної власно перелічувального типу. З'ясувати, чи є день тиждня робочим чи вихідним, і, якщо він робочий, то який саме.
program day;
var day: (MN,TU,VN,TH,FR,ST,SN);
begin
: {надання значення змінній day}
case day of
ST,SN: writeln('Вихідний день');
else begin
case day of
MN: writeln('Понеділок');
TU: writeln('Вівторок');
VN: writeln('Середа');
TH: writeln('Четвер');
FR: writeln('Пыятниця')
end
end;
:
end.
Приклад: з'ясувати, якому з двох диапазонів належить ціле число і, [0,10] чи [25,40].
program analisys;
var i:integer;
begin
. {визначення значення i}
.
case i of
0..10: writeln(' i у диапазоні [0..10]');
25..40: writeln(' i у диапазоні [25..40]')
else writeln(' i за межами обох диапазонів')
end;
.
.
end.
Дата добавления: 2015-08-09; просмотров: 103 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Вкладений оператор IF | | | Оператори циклу |