Помимо условного оператора If в языке программирования Pascal существует оператор выбора Case of. Рассмотрим его применение на примере программы, которая выводит на экран то или иное сообщение, в зависимости от введенного числа.
Вывод сообщения на экран с помощью If.
Эта программа выводит на экран сообщение (Нуль, Один и т. д.) в зависимости от того какое мы введем число. Однако, ту же задачу можно выполнить более простым способом с помощью оператора Case of.
Использование Case Of.
В строке №8 записывается оператор выбора Case Of. Сначала записывается слово Case, затем записывается переменная, затем слово Of. После служебного слова Of идет перечисление всех возможных значений переменной (строка №9 - №13), а через двоеточие указывается действие, которое нужно сделать, если переменная принимает то или иное значение. Таким образом, если мы вводим с клавиатуры 0, то на экран выводится сообщение «Нуль» (строка №9), если вводим 1, то выводится сообщение «Один» (строка №10) и т.д.
Нам не нужно каждый раз писать конструкцию If…Then.
Достаточно указать CASE «переменная» OF, а затем для каждого значения этой переменной через двоеточие прописать вывод на экран. После перечисления всех операторов необходимо поставить служебное слово End.
Запустим программу и введем любое число от 0 до 4 (например, 4)
Напишем программу, которая определяет квартал года по введенному числу месяца.
Использование Case Of Else.
В строке №8 записываем оператор выбора Case Of. После слова Of (в строках №9 - №12) указываем возможные значения нашей переменной. Причем несколько значений можно указать в одной строке. Например, в строке №9 мы указываем 3 значения для переменной и действие, которое нужно совершить, если будут введены эти переменные. Т.е. если мы вводим с клавиатуры 1 или 2 или 3, то на экран выводится сообщение «Первый квартал».
В строке №13 записывается служебное слово Else. Если мы вводим с клавиатуры число, которое лежит вне диапазона чисел от 1 до 12, то должно совершиться действие, которое указывается после слова Else (строка №14).
Записываем программу в Паскале, запускаем ее и проверяем работоспособность, вводя различные числа.
Дополнение к материалу.
В данном примере вместо перечисления значений переменной можно использовать диапазон значений переменной. Например, строку №9 можно записать так: 1..3: writeln (‘Первый квартал’); Т.е. сначала указывается первое значение переменной, а затем через 2 точки указывается последнее значение переменной.
Следующая статья : Циклы в Паскаль.
Комментарии
case NUM of
3:оператор;
...
100:оператор;
else
оператор;
a:writeln('Bukva A');
b:writeln('Bukva B');
C:...
помогли с билетом при подготовке
{$APPTYPE CONSOLE}
uses
SysUtils;
Var I: Integer;
A,Q,E:string;
Begin
Write('Think of a number of from 1 to 5 and press Enter');
ReadLn;
WriteLn('This number is greater than or equal to two?');
ReadLn(A);
If A='No'
Then I:=1
Else
Begin
WriteLn('This number is split into two?');
ReadLn(Q);
End;
Case Q Of
'Yes': WriteLn('This number is more than three?');
ReadLn(E); If E='Yes' Then I:=4
Else I:=2;
'No': WriteLn('This number is more than four?');
ReadLn(E); If E='Yes' Then I:=5
Else I:=4;
end;
ReadLn;
{ TODO -oUser -cConsole Main : Insert code here }
End.
Выдает ошибку:[Error] Project2.dpr(25 ): Incompatible types: 'Integer' and 'String' что делать?
var x1,y1,x2,y2,i,n,x,y,r:integer;
begin
randomize;
write('n=');
readln(n);
x1:=20;
y1:=20;
x2:=windowwidth-20;
y2:=windowheight-20;
setbrushstyle(bsClear);
setpenwidth(5);
setpencolor(clRed);
rectangle(x1,y1,x2,y2);
setpenwidth(2);
for i:=1 to n do
begin
r:=5+random(46) ;
x:=x1+r+5+rando m(x2-2*(x1+r)-1 0);
y:=y1+r+5+rando m(y2-2*(y1+r)-1 0);
setpencolor(clr andom);
circle(x,y,r);
end;
end.