Условный оператор включает в себя операторы, которые выполняются или не выполняются в зависимости от записанного в операторе условия. Оператор имеет вид:
IF «условие» Then «оператор1» Else «оператор2»;
где «условие» – выражение логического типа;
«оператор1» выполняется, если условие верно (True),
«оператор2» выполняется, если условие не верно (False).
Например, вычисление квадратного корня из числа «a» проводится при условии a>=0, операторами:
IF a >= 0 Then b: = Sqrt(a) Else WriteLn( 'a<0' );
В условном операторе может отсутствовать блок Else оператор2; т. е. условный оператор может иметь вид:
IF «условие» Then «оператор1»;
например:
IF a<0 Then a:= abs(a);
В случае нескольких условий, соединенных логическим «И» (операция and) результирующее условие имеет значение True, если каждое условие верно, иначе – False.
В случае нескольких условий, соединенных логическим «ИЛИ» (операция or) результирующее условие имеет значение True, если хотя бы одно условие верно, иначе – False.
Поскольку операции сравнения имеют низший приоритет, то при проверке нескольких условий эти условия заключаются в скобки.
Пример По длинам трех сторон треугольника а, b, c вычислить его площадь.
Для решения задачи используется формула Герона , где p = (а + b + с)/2 – полупериметр треугольника. Исходные данные должны удовлетворять основному соотношению для сторон треугольника: длина каждой стороны должна быть меньше длин двух других сторон.
Program Geron;
Var A,B,C,P,S: Real;
Begin
WriteLn('Введите длины сторон треугольника:');
Write ('a='); ReadLn(A);
Write('b='); ReadLn(В);
Write('c='); ReadLn(C);
If (A>0) And (B>0) And (C>0) And (A+B>C) And (B+C>A) And (A+C>B)