Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
04.09.2012(простые программы).doc
Скачиваний:
10
Добавлен:
09.11.2019
Размер:
171.52 Кб
Скачать

Тема 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.

Текст программы :

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]