Определение. Разветвляющимся называется такой алгоритм, в котором выбирается один из нескольких возможных вариантов вычислительного процесса. Каждый подобный путь называется ветвью алгоритма.
Признаком разветвляющегося алгоритма является наличие операций проверки условия. Различают два вида условий - простые и составные.
Простым условием (отношением) называется выражение, составленное из двух арифметических выражений или двух текстовых величин (иначе их еще называют операндами), связанных одним из знаков:
< - меньше, чем...
> - больше, чем...
<= - меньше, чем... или равно
>= - больше, чем... или равно
<> - не равно
= - равно
Условный оператор IF служит для организации процесса вычислений (изменения последовательности выполнения операторов) в зависимости от какого-либо логического условия.
Синтаксис оператора IF:
IF Условие THEN Оператор1 ELSE Оператор2;
или
IF Условие THEN Оператор;
Условие может быть представлено логической константой (FALSE – ложь, TRUE - истина), переменной логического типа (Boolean) или логическим выражением.
Если условие истинно, то выполняется оператор (простой или составной), следующий за словом THEN, в противном случае, когда условие ложно, будет выполняться оператор, следующий за словом ELSE.
Альтернативная ветвь ELSE может отсутствовать, если в ней нет необходимости. В таком “усеченном” варианте, в случае, если условие оказывается ложным, ничего не происходит и выполняется оператор следующий за условным оператором IF.
Пример 1.
Пусть необходимо составить программу, вычисляющую значение функции:
VAR
x, y : real;
BEGIN
Write(‘Введите значение аргумента: ’); ReadLn(x);
IF x>0 THEN y := x
ELSE y := 0;
Write(‘Значение функции y = ’, y)
END.
Условные операторы могут быть вложенными друг в друга:
IF Условие THEN if ПодУсловие then ... else ...
ELSE ...;
Обратите внимание на отсутствие точки с запятой между ключевыми словами.
При вложениях условных операторов самое главное – не запутаться в вариантах сочетаний условий (отчасти этому может помочь ступенчатая форма записи операторов). Всегда действует правило: альтернатива ELSE считается принадлежащей ближайшему условному оператору IF, не имеющему ветви ELSE.