Если a > b, то выполняется оператор max:=a (ветвь then), в противном случае – оператор max:=b (ветвь else). После выполнения любой ветви следующим будет выполнен оператор вывода.
Если в одной или в обеих ветвях оператора if необходимо разместить не один, а несколько операторов, то каждую такую группу следует представить в виде одногосоставного оператора.
Составной оператор используется в тех случаях, когда в соответствии с правилами построения конструкций языка можно использовать один оператор, а выполнить нужно несколько действий.
Составной оператор начинается служебным словом begin и заканчивается словом end. Между этими словами размещаются необходимые для вычислений операторы. Слова begin и end играют в составном операторе роль скобок и называются, поэтому операторными скобками. Например
Begin
c:=a; a:=b; b:=c
End
Пример 3.9.Решить уравнение ax2+ bx + c = 0 ( a ¹ 0 )
Var
a, b, c, x1, x2, d : real;
Begin
write ('введите a,b,c '); readln (a,b,c);
d := sqr(b) – 4*a*c;
if (d < 0) then write ('корни комплексные ')
Else
Begin
d := sqrt (d); a:=2*a;
x1:= ( - b + d ) / a; x2 := ( - b – d ) / a;
Writeln (x1:10:2, x2:10:2)
End
End.
Если условие d < 0 истинно, выводится сообщение «корни комплексные», после чего работа программы заканчивается. В противном случае выполняется else-ветвь, содержащая составной оператор (четыре оператора присваивания и оператор вывода).
Краткая форма условного оператора if. Эта форма используется при программировании ответвлений и имеет вид:
if Логическое выражение then оператор 1;.
Если логическое выражение есть true, то выполняется оператор 1, в противном случае выполняется следующий оператор программы.
Пример 3.10.Даны два числа. Если второе число больше первого – уменьшить его в два раза.