<значение выражения>:<оператор1>;
< значение выражения >:< оператор2>;
…
< значение выражения >:< оператор n>
else < оператор n+1>;
end;
На месте <выражения> может стоять любое выражение порядкого типа.
На месте <значение выражения> может стоять любая постоянная этого типа.
На месте операторов может стоять любой оператор Turbo Pascal.
Зам! Оператор Case всегда заканчивается служебным словом End.
Оператор Case выполняется следующим образом:
Вычисляется выражение, стоящее после слова Case.
Просматривается список значений выражения, если вычисленное значение найдено в списке, то выполняется оператор, помеченный этим значением.
Если в списке нет вычисленного значения, то выполняется оператор, стоящий после слова Else, если же нет служебного слова Else, то действие передается следующему за Case оператору.
На блоксхеме оператор изображается следующим образом:
Задачи:
По введенному числу написать день недели, соответствующий ему.
Program _;
Uses CRT;
Var x:1..7;
Begin
ClrScr;
Writeln(‘введите номер дня недели);
Readln(x);
Case x of
1: writeln(‘понедельник’);
2: writeln(‘вторник’);
3: writeln(‘среда’);
4: writeln(‘четверг’);
5: writeln(‘пятница’);
6: writeln(‘суббота’);
7: writeln(‘воскресенье’);
end;
Readkey;
End.
Написать программу, которая по введенному числу К от 1 до 99 пишет фразу: «Мне К лет». Причем, при необходимости слово лет заменять на года, год. Например, «мне 1 год», «мне 2 года», «мне 5 лет».
Program _;
Uses CRT;
Var k:byte;
Begin
ClrScr;
Writeln(‘введите свой возраст);
Readln(k);
Write(‘мне ’, k);
If (k>=10) and (k<=15) then writeln(‘ лет’)
Else
Case k mod 10 of
1: writeln(‘год);
2, 3, 4: writeln(‘года);
else 3: writeln(‘лет’);
end;
Readkey;
End.