- •Тема 1. Структура простой программы на Паскале. Описание переменных. Операторы ввода/вывода. Операторы присваивания.
- •Var X, y, z, time : real;
- •Операторы следования
- •Тема 2. Операторы: условный, составной. Простое логическое выражение. Сложное логическое выражение. Приоритеты операций.
- •Var X:intrger;
- •Var z,y : real;
- •Var a,b,c : real;
Тема 2. Операторы: условный, составной. Простое логическое выражение. Сложное логическое выражение. Приоритеты операций.
Условный оператор служит для выбора одного из возможных вариантов выполнения программы.
Полный условный оператор имеет вид:
if <логическое выражение > then
<оператор 1>
else
<оператор2>;
Логическое выражение возвращает тип boolean - логический тип, т.е. результатом будет одно из логических значений: true (истина) или false (ложь). Если проверка логического выражения даёт результат true, то выполняется оператор1, если проверка дает результат false (ложь), то выполняется оператор2 (оператор, следующий после else, при этом проверять логическое выражение, являющееся отрицанием логического выражения, заключенного между if и then, не нужно)
Внимание: перед else точка с запятой не ставится.
|
Пример.
Решение. if x>0 then
Y:=sqrt(x)
else
Y:=sin(x)
А такой оператор использовать не надо:
if x>0 then
Y:=sqrt(x)
else if x<=0 then
Y:=sin(x)
Пример.
Решение. if x>0 then {выбирается условие x>0}
Y:=sin(x)
else{автоматически выполняется условие x<=0}
if x=0 then {выбирается условие x=0}
Y:=0
else{ автоматически выполнятся условие x<0} Y:=sin(x)
А такой оператор использовать не надо:
if x>0 then
Y:=sin(x)
else
if (x<=0)and(x=0) then
Y:=0
else if x<0 then
Y:=cos(x)
Сокращённая форма условного оператора (неполный условный оператор) имеет вид:
if <логическое выражение > then
<оператор 1>.
Если логическое выражение равно true, то оператор1 будет выполнен. Если же логическое выражение равно false, то будет выполнен оператор, следующий за неполным условным оператором .
Пример. y=max{a, b}
Решение. y:=a;
if b>a then
y:=b;
writeln(‘y=’,y)
-----------------------------------------------
Пример. y=a+b,z=a*b, если a<b
Y=a,z=0, если a=b
Y=a-b,z=sinx*cosx, если a>b
Решение.
If a<b then
Begin
Y:=a+b;
Z:=a*b
End
Else
If a=b then
Begin
Y:=a;
Z:=0
End
Else
Begin
Y:=a-b;
Z:=sin(x)*cos(x)
End;
Writeln(z,y)
Простое логическое выражение использует знаки операций отношения:
=, >=, >, <=, <, <> (не равно).
Пример. Вычислить z=1/x
Входные данные: x. Результат : z.
Текст программы :
Var X:intrger;
z:real;
begin
writeln(‘x=?’);
readln(x);
if x<>0 then
writeln(‘z=’,1/x)
else
writeln(‘знаменатель равен нулю’)
end.
Упражнение. Выполните программу при различных значениях входных данных x.
-
x
5
3
0
---------------------------------------------------------------------------------------------------
Пример. Вычислить
Входные данные: y. Результат : z.
Текст программы :