Условный оператор IF.

Условные операторы предназначены для выбора к исполнению одного из возможных операторов, в зависимости от некоторого условия.

Оператор If осуществляет выбор из двух альтернатив (одна из которых может быть пустым оператором) и имеет в общем случае следующий формат записи:

If < условие> then <оператор 1>

else <оператор 2>;

Записанный таким образом оператор If называется полным.

На месте условия может стоять:

1. Любая переменная булевского типа

2. Любое выражение отношения

3. Любое логическое выражение

Зам! Результат условия всегда принадлежит булевскому типу.

На месте операторов может стоять любой оператор Turbo Pascal.

Оператор If выполняется следующим образом:

1. Вычисляется выражение, стоящее на месте условия.

2. Если полученное значение истина(True) выполняется оператор1, идущий за словом then, если значение ложно (False) то выполняется оператор2, следующий за служебным словом else.

Пример,

Найти ошибку в записи оператора:

1. If x-5 tnen write(‘*’) else write(‘!’);

2. If x>y then x else write(‘!!!’);

3. If x=y then write(‘!’);

Оператор If может быть записан в неполной форме:

If <условие> then <оператор>;

Оператор выполняется в том случае, если условие истинно (True).

Задачи:

1. Определить, является ли введенное число четным.

Program _;

Uses CRT;

Var x:integer;

Begin

ClrScr;

Writeln(‘введите число’);

Readln(x);

If x mod 2=0 then writeln(x,‘-четное число’)

Else writeln(x,‘-не четное число’);

Readkey;

End.

2. Найти наибольшее из двух чисел.

Program _;

Uses CRT;

Var x, y:integer;

Begin

ClrScr;

Writeln(‘введите два числа’);

Readln(x, y);

If x =y then writeln(‘числа равны’)

Else if x>y then writeln(x,‘больше’)

Else writeln(y,‘больше’);

Readkey;

End.

 

3. Найти наибольшее из трех чисел.

Program _;

Uses CRT;

Var x, y, z, max:integer;

Begin

ClrScr;

Writeln(‘введите три числа’);

Readln(x, y, z);

If (x=y) and (y=z) then writeln(‘все числа равны’)

Else

begin

Max:=x;

If y>max then max:=y;

If z>max then max:=z;

writeln(‘наибольшее=’, max);

end;

Readkey;

End.

4. Вычислить:

Program _;

Uses CRT;

Var x, y:real;

Begin

ClrScr;

Writeln(‘введите аргумент’);

Readln(x);

If x>10 then y:=23

Else y:=sqr(x);

writeln(‘значение функции=’, y:10:2);

Readkey;

End.

 

Program _;

Uses CRT;

Var x, y:real;

Begin

ClrScr;

Writeln(‘введите аргумент’);

Readln(x);

If x<0 then y:=x-12

Else if x>5 then y:=1/x

Else y:=1+3*x;

writeln(‘значение функции=’, y:10:2);

Readkey;

End.

 

Зам! На месте любого оператора может стоять еще один условный оператор, в том числе и не полный. Например,

If <усл1> then <оп.1> if <усл2> then <оп2> else <оп3>

Возникает синтаксическая неоднозначность: к какому оператору относится служебное слово else.

Правило: служебное слово else всегда относится к ближайшему по тексту служебному слову If, не связанному со служебным словом else.


Лекция 16.








Дата добавления: 2016-05-25; просмотров: 746;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.009 сек.