Else
Then
Begin
END.
END
CASE N OF
Begin
По номеру месяца определите сезон.
Если для нескольких констант нужно выполнить один и тот же оператор, их можно перечислить через запятую (или даже указать диапазон, если это возможно), сопроводив их одним оператором.
Данный оператор является обобщением условного оператора и позволяет выбрать одно из нескольких предложений программы.
Оператор выбора CASE.
Begin
Кодовые слова
IF – если, THEN – то, ELSE – иначе.
Условный оператор IF является единым предложением, поэтому перед кодовыми словами THEN и ELSE точку с запятой ставить нельзя.
Фрагменты программ:
1). If x>0 then y:=x+2 else y:=x-3;
Writeln(y);
2). If x=0 then
writeln(‘деление на 0’);
Writeln(‘Введите новые данные’);
end;
3) x1:=5; x2:=10;
y:=x2>x1; {Y- типа boolean}
if y then Z:=x1 else Z:=x2;
Операторы <оп1> и <оп2> могут быть операторами любого типа, в том числе и составными, и условными.
Параметром, по которому осуществляется выбор, служит так называемый <ключ выбора>, значение которого вычисляется.
Формат записи:
CASE < ключ выбора > OF
< список выбора >
ELSE < оператор>
END;
где:
< ключ выбора > - выражение любого порядкового типа (кроме real и string);
< список выбора > - одна или более конструкций вида:
< константа >: < оператор >;
Константа должна быть того же типа что и <ключ выбора>.
Алгоритм работы оператора:
1). Вычисляется значение <ключ выбора >.
2). Это значение сопоставляется с константами из < списка выбора >;
3). при совпадении значения < ключ выбора > с одной из констант выполняется оператор, “помеченный” данной константой, после чего оператор CASE завершает свою работу;
4). если в списке выбора не будет найдена константа, равная значению < ключ выбора>, то управление передается на ветвь
ELSE < оператор >;
Эта часть оператора может быть опущена (короткий оператор), тогда при отсутствии совпадения значения < ключа выбора> и константы в < списке выбора> оператор CASE завершает свою работу.
Примеры:
Program Sezon;
Var N: integer;
writeln(‘введите номер месяца’);
readln(N);
1,2,12: writeln(‘зима’);
3,4,5: writeln(‘весна’);
6..8: writeln(‘лето’);
9..11: writeln(‘осень’)
ELSE writeln(‘нет такого месяца ’)
- - - - - - не записывать! Файл на диске S - - - - -
2)Вычислить:
Program Lab1_Primer1;
Var x, y: real;
k: integer;
K:=0;
Read(x);
If (x>=0)and(x<=10)
if x-5>0 then y:=Ln(x-5)
else k:=1
if x+2>=0 then y:=sqrt(x+2)
else k:=2;
1: Writeln(Нет ООФ для F1);
2: Writeln(Нет ООФ для F2);
0: Writeln(‘y=’,y:5:2); {или с Else}
End;