Оператор условия if.

Оператор условия if является одним из самых популярных средств, изменяющих естественных порядок выполнения программы.

Условный оператор имеет две формы записи: полную и краткую.

if <Условие> then <оператор1> else <оператор2>;

if <Условие> then <оператор>;

Оператор условия выполняется следующим образом: сначала вычисляется выражение записанное в условии, если оно верно, то выполняется оператор1, в противном случае оператор2 (полная форма), ничего не происходит (краткая форма). Условный оператор является единым предложением, поэтому ни перед then, ни перед else символ ‘;’ не ставится.

Операторы if могут быть вложенными.

Пример фрагмента программы с оператором условия:

1) if x<0 then y:=x+1 else y:=2*x;

2) if b<>0 then c:=a/b;

3) if (n>15) and (n<25) then a:=n+40 else b:=n+1;

4) if a=b then if c<d then x:=1 else x:=2 else x:=3;

5) if a>b then begin y1:=2/a; y2:=a+b; end

else begin y1:=2*a; y2:=a-b; end;

З: при использовании вложенных условных операторов может возникнуть синтаксическая неоднозначность, иллюстрируемая следующей схемой:

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

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

Возникает двусмысленность, к какому оператору if принадлежит часть else. Служебное слово else всегда ассоциируется с ближайшим по тексту служебным словом if, которое еще не связано со служебным словом else.

Задача 1. Вывести на экран номер четверти, которой принадлежит точка с координатами (х,у), при условии, что х и у отличны от нуля.

program koordinati;

var x,y:real;

BEGIN

Write(‘Введите координаты точки:’);

Readln(x,y);

if x>0 then if y>0 then writeln(‘точка находится в 1-ой четверти’) else writeln(‘точка находится в 4-ой четверти’)

else if y>0 then writeln(‘точка находится в 2-ой четверти’) else writeln(‘точка находится в 3-ой четверти’);

END.

Задание 2. В небоскребе N этажей и всего один подъезд; на каждом этаже по 3 квартиры. Человек садится в лифт и набирает номер нужной ему квартиры М. На какой этаж должен доставить лифт пассажира.

program Lift;

var M,x:integer;

BEGIN

Write(‘Введите номер квартиры:’);

Readln(M);

x:=M div 3; {Определяем целую часть от деления номера квартиры на 3}

{Проверяем условие целочисленного деления на 3. Если “истина”, то х будет нужным результатом, если “ложь” – к х добавляем единцу}

If M mod 3 = 0 then writeln(‘Номер этажа =’,x)

else writeln(‘Номер этажа =’,x+1);

END.

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

program Max;

var a,b,c,max:integer;

BEGIN

Write(‘Введите три числа a,b,c:’);

Readln(a,b,c);

if a>b then max:=a

else max:=b;

if c>max then max:=c;

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

END.

 








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


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

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

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

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