Если взять один кирпич, мало толку в нём, Потому что из него не построишь дом. Если пару кирпичей рядом положить, Будет только две стены — неудобно жить.
Песенка Тыквы из мультфильма Чиполлино
С условными операторами будущий программист знакомится уже в раннем детстве благодаря педагогическому усердию родителей. Папа воспитывает кнутом, а мама - пряником: «Если ты будешь себя хорошо вести, то получишь большую сладкую конфету, а иначе не пойдёшь гулять во двор». В переводе на скупой язык Delphi мамины посулы выглядели бы так:
IF условие THEN результат1 ELSE результат2;
Здесь условие - «хорошее поведение»; результат1 - «конфета»;
результат2 - «временное ограничение свободы».
Действует эта воспитательная конструкция - как в жизни: если условие соблюдено, то подопечный получает конфету, не соблюдено - принудительная домашняя отсидка.
Более лапидарный родитель, коим является отец семейства, изложил бы свои требования в более категоричной форме: «Если получишь двойку, то выпорю». Тут уж никакой надежды на конфеты и другие сладостные изделия, то есть альтернатива жёсткая: принёс из школы двойку - получил ремня, не принёс - избежал ремня:
IF условие THEN результат;
В школе порка запрещена, поэтому там так мало настоящих педагогов- мужчин.
А теперь о том же, но - серьёзно!
Условный оператор IF служит для того, чтобы изменять порядок выполнения операторов в программе в зависимости от некоторого логического условия. Он имеет две формы - сокращённую и полную:
IF условие THEN оператор;
IF условие THEN оператор1 ELSE оператор2;
Обратите внимание: весь оператор IF это единое предложение, поэтому ни перед словом THEN, ни перед словом ELSE точка с запятой не ставится!
Условие в этих записях - обычное логическое выражение, в котором используются знаки операций сравнения =, <, > и другие. Результатом логического выражения может быть константа TRUE (истина) или FALSE (ложь).
Действует условный оператор так. Если условие удовлетворено (значение выражения равно TRUE), то выполняется оператор после слова THEN. Если не удовлетворено, то для сокращённой формы оператор пропускается, а управление передаётся следующему за ним оператору. Для полной формы выполняется оператор2.
Например, если мы хотим найти большее из двух чисел, то легко сделаем это с помощью условного оператора:
var max, n1, n2: integer;
if n1 > n2 then max:= n1 else max:= n2;
Если после THEN и ELSE нужно выполнить несколько операторов, то следует использовать составной оператор BEGIN - END.
Если после зарезервированных слов THEN и ELSE следует условный оператор IF, то он называется вложенным. В этом случае каждый элемент ELSE относится к ближайшему оператору IF, который не имеет ELSE.
В этой записи ELSE принадлежит второму, вложенному, оператору IF:
IF усл1 THEN
IF усл2 THEN оп1 ELSE оп2;
Если ELSE должен входить в состав первого оператора IF, то используйте составной оператор:
IF усл1 THEN begin
IF усл2 THEN оп1 end
ELSE оп2;
А в этой - первому оператору IF:
IF усл1 THEN оп1 ELSE