Управляющая конструкция if
В предыдущих примерах нам уже приходилось применять эту конструкцию на практике, теперь пришло время познакомиться с ней поближе. Управляющая конструкция if является основной конструкцией, на которой строится логика программы. Простейшийсинтаксис этой конструкции выглядит так:
if условие then оператор;Кто знаком с английским языком, уже ухватил суть этой конструкции. На русский язык это выражение можно перевести так:
если условие то оператор;Другими словами, если какое-то заданное условие верно, то выполняется указанный оператор. Иначе этот оператор не выполняется.
Часто одного оператора бывает недостаточно, тогда используют программные скобки:
if условие then begin Оператор 1; Оператор 2; ... Оператор n;end;Операторы, заключенные в программные скобки begin .. end воспринимаются, как единый оператор. Иногда и этого бывает недостаточно. Что, если по логике программы требуется выполнить один оператор, если условие верно, и другой, если оно неверно? Тут приходит на помощь расширенная конструкция:
if условие then оператор 1else оператор2;Как видно из синтаксиса, если указанное условие истинно, то выполнится оператор 1. Иначе выполнится оператор 2. Еще одно правило, которое следует запомнить: перед словом else точка с запятой не ставится!
Конечно же, с помощью программных скобок можно расширить и эту конструкцию:
if условие then begin Оператор 1; … Оператор n;end else begin Оператор 1; … Оператор n;end;Сейчас самое время упомянуть о классических стилях программирования. Мы уже говорили, что хороший стиль программирования подразумевает каждый отдельный оператор писать на своей строке, применять отступы. В литературе по программированию часто встречается два классических стиля. Один стиль выглядит так:
if условие then begin Оператор 1; … Оператор n;end;То есть, слово begin пишется на отдельной строке. Другой стиль выглядит иначе:
if условие then begin Оператор 1; … Оператор n;end;Оба эти стиля являются классическими, какой из них применять – дело вкуса. На этой лекции будет использоваться второй стиль.
Однако и это еще не все. В предыдущем примере мы рассматривали только одно условие. Если оно верно, то выполнялся один оператор, а если нет – другой. А что, если по логике программы требуется проверить более, чем одно условие? И снова мы можем расширить эту конструкцию. Взгляните на синтаксис:
if условие 1 then оператор 1else if условие 2 then оператор 2else оператор 3;Здесь, если условие 1 будет верно, конструкция выполняет оператор 1 и завершает работу. Если это условие неверно, проверяется условие 2. Если условие 2 верно, то выполняется оператор 2, и конструкция завершает работу. Если же оба условия неверны, выполняется оператор 3. Расширений else if в такую конструкцию можно вставлять сколько угодно.
Давайте теперь проанализируем часть кода из примера "Целые и вещественные типы. Процедуры и функции" .
If Perem2 = 0 then begin Soobshenie; Edit3.Text := '0'; end else begin Perem3 := Delenie(Perem1, Perem2); Edit3.Text := FloatToStr(Perem3); end;Вам уже должно быть понятно, что если Perem2 действительно равна 0, то выполнится первый блок кода. Иначе будет выполнен второй блок кода.