Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по информатике.DOC
Скачиваний:
29
Добавлен:
02.05.2014
Размер:
1.68 Mб
Скачать

1. 7. 3. Условный оператор

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

If "условие" Then "оператор1" Else "оператор2";

где "условие" - выражение логического типа;

"оператор1" выполняется, если условие верно ( True ),

"оператор2" выполняется, если условие не верно ( False ).

Например, вычисление квадратного корня из числа "a" проводится при условии a>=0, операторами: IF a >= 0 Then b:= Sqrt(a) Else begin WriteLn ( 'a<0' ); Readln; Halt end;

Оператор Halt прекращает выполнение программы.

Схема выполнения условного оператора имеет вид:

IF В условном операторе может отсутствовать

( True ) блок Else оператор2; т. е. условный оператор

может иметь вид:

( False ) IF "условие" Then "оператор1";

например: IF a<0 Then a:= abs(a);

Else Then

оператор2 оператор1

22

Пример программы: Автобус движется по заданному маршруту с объявлением названий остановок. Зная остановку, на которой надо выходить, вы принимаете определенное решение: Выхожу, либо - Еду дальше, которое выводится на экран.

PROGRAM octanovka;

CONST A1= 'Бульвар Славы'; A2= 'Горсовет'; { A1, A2, A3, A4 - названия }

A3= 'Спортивная'; A4= 'УАИ'; { остановок }

Y= 'Выхожу'; N= 'Еду дальше';

var A, A0 : String; { A0 - текущая остановка }

BEGIN

writeln('Ввести нужную остановку из списка:');

writeln(A1:15, A2:15, A3:15, A4:15);

Writeln; readln(A); Writeln; { A - нужная остановка }

IF (A<>A1) and (A<>A2) and (A<>A3) and (A<>A4)

then begin Writeln('Нет такой остановки'); readln; Halt end;

A0:= A1; { объявление остановки }

IF A = A0 then begin writeln( Y, A:15); readln; Halt end

else writeln( A0:-15, N:12);

A0:= A2; { объявление остановки }

IF A = A0 then begin writeln( Y, A:15); readln; Halt end

else writeln( A0:-15, N:12);

A0:= A3; { объявление остановки }

IF A = A0 then begin writeln( Y, A:15); readln; Halt end

else writeln( A0:-15, N:12);

A0:= A4; { объявление остановки }

writeln( Y, A:15); readln;

END.

Первый условный оператор осуществляет контроль входных данных. Напомним, что в случае нескольких условий, соединенных логическим "И" результирующее условие имеет значение True, если каждое условие верно, иначе - False.

В случае нескольких условий, соединенных логическим "ИЛИ" результирующее условие имеет значение True, если хотя бы одно условие верно, иначе - False.

Поскольку операции сравнения имеют низший приоритет, то при проверке нескольких условий эти условия заключаются в скобки.

Практическое задание N 1. 5

1. Синоптики объявляют погоду на ближайшие дни: 1-солнце,

2-дождь, 3-туман, 4-ветер. Зная нужную вам погоду, вы принимаете определенное решение: жду нужную погоду, либо - беру отгул, которое выводится на экран. Программа запрашивает ввод нужной погоды и выводит на экран ваше решение на каждый день до дня отгула.

2. Старуха послала старика с просьбой: поймать в море нужную ей рыбку. Рыба клюет в определенной последовательности: окунь, камбала, линь, треска. Поймав рыбку, старик принимает решение: ловлю еще, либо - еду домой, которое выводится на экран. Программа запрашивает ввод нужной рыбки и выводит на экран решение старика на каждый улов до нужного.

23

В случае зависимых событий, исключающих одновременное их выполнение, могут применяться вложенные условные операторы. Во вложенных условных операторах служебное слово "else" относится к ближайшей конструкции If "условие" Then "оператор1" за которым оно следует, т. к. "оператор2" выполняется в случае, если "условие" - ложно.

Приведем пример программы определения весовой категории в зависимости от веса спортсмена.

PROGRAM VES; { определение весовой категории спортсмена }

Условная схема программы

CONST A1='легкая категория';

A2='средняя категория'; Then

A3='тяжелая категория'; IF Writeln(A1)

A4='сверхтяжелая категория'; Else