Условный оператор 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.
Условные операторы могут быть
вложенными друг в друга: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. Например:
IF Условие1 THEN
if Условие2 then Оператор_АELSE Оператор_Б;
По записи может сложиться
впечатление, что Оператор_Б будет выполняться
только при “невыполнении” Условия1. Но на самом
деле он будет отнесен к Условию2 и выполнится
только при выполнении Условия1 и невыполнении
Условия2! Если необходимо, чтобы Оператор_Б
выполнялся именно при невыполнении Условия1, то
единственный выход таков: заключить вложенный
(усеченный) оператор IF в операторные скобки
begin…end:
IF Условие1 THEN beginif Условие2 then Оператор_А
end
ELSE Оператор_Б;
В условии оператора IF может стоять достаточно сложное логическое выражение.
Комментариев нет:
Отправить комментарий