Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 3 Pascal, лр1-9.doc
Скачиваний:
56
Добавлен:
22.05.2015
Размер:
654.85 Кб
Скачать

1 Условный оператор if

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

Условный оператор IF позволяет выбрать одно из двух направления расчёта в зависимости от некоторого условия, при этом одна из ветвей может отсутствовать. В качестве условия выбора используется значение логического выражения. Оно может быть простым или сложным. Сложные условия организуются при помощи логических операций AND, OR, NOT.

Формат оператора IF имеет вид:

if <выражение> then

<оператор1>

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

Примечание. Выражения в квадратных скобках могут отсутствовать. Вычисления выражения получается логическое значение типа Boolean. Если результатом является значение TRUE (Истина), то выполняется оператор1, следующий за служебным словом Then (тогда). Если же в результате выполнения получается значение FALSE (Ложь), то выполняется оператор2, следующий Else (иначе). Если часть условного оператора в квадратных скобках (со словом Else) отсутствует, то управление автоматически передается следующему оператору программы.

Условные операторы IF могут быть вложены друг в друга, количество вложений неограниченно. Следует отметить, что использование в операторе IF после служебного слова then второго оператора IF приводит с синтаксически неоднозначной конструкции вида:

if <выражение1> then

if <выражение2> then

<оператор1>

else

<оператор2>

Компилятор Турбо Паскаль разрешает подобную неоднозначность, интерпретируя этот фрагмент следующим образом:

if <выражение1> then

begin

if <выражение2> then

<оператор1>

else

<оператор2>

end;

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

Пример 1:

if X>Y then Если X>Y, то переменной Max

Max:=X присваивается значение Х,

еlse если нет, то значение Т

Max:=T;

Пример 2:

if X>0 then Если Х>0, то Y вычисляется как

Y:=Sqrt(X); квадратный корень из Х

Пример 3:

if Ch=1 then Если переменная Ch=1,

begin

X:=Sin(X); то X вычисляется как sinX

WriteLn(‘Sin(x)= ’,X); и выводится на экран,

end

else если нет (Ch≠1), то

begin

X:=Cos(X); X вычисляется как cosX и

WriteLn(‘Cos(x)= ’,X); выводится на экран

end;

Пример 4 Найти y=max(a,b,c), a,b,c – даны.

if а>b then Если a>b, то переменной max

max:=a присваивается значение a,

еlse если нет, то значение b. Далее вместо

max:=b; а и b используется наибольшая из них -max

if max>c then Если max>c, то переменной

y:=max y присваивается значение max,

еlse если нет, то значение с

y:=c;

Write(‘y= ’,y);