If then else в Delphi


Операторы If Then Else (Условия, условные операторы в Delphi)

Чтобы понять, что означает условный оператор If и вся конструкция If then else, ее просто нужно перевести на русский язык.

If then… else…, —  это тоже самое, если бы мы сказали по русски:  

Если… Тогда… Иначе…

Оператор If — не зря назван условным, он предназначен для работы с условиями. К программированию на Delphi это имеет следующее отношение…

Допустим нам нужно, чтобы программа произвела какие нибудь действия, в зависимости от исхода какого нибудь события, например:

если a<>b        тогда c=d+e          иначе c=d*e ,

Тут как раз к нам на помощь и приходит конструкция, If then else, — призванная реализовать нашу задумку.

Записываем, теперь то же условие, только уже на языке понятном программе:

Кстати, применение секции else  в нашей конструкции, не является обязательным, если мы например хотим сформулировать условие, без else, например:

Этот пример, тоже будет работать. Здесь только важно обратить внимание на синтаксис. Если мы применяем постусловие else, то после выражения, за которым оно следует, знак — ; (точка с запятой) — не ставится. Если мы не применяем постусловие — else, тогда наоборот знак — ; (точка с запятой) — ставится обязательно.

Если нужно, чтобы после проверки условия выполнился — ряд операций, тогда этот ряд после «if — then» нужно заключить в конструкцию «begin — end». Например мы хотим, чтобы после проверки  if a<>b then выполнились не только с:=d+e, но еще f:=f*h, иi:=j/k, тогда пишем код следующим образом:

Если все-таки нужно применить постусловие else, например, в случае, если a<>b — ложно, выполнить — l:=m-k, Тогда после — end, идущего перед else, знак — ; (точка с запятой) — не ставится. См пример ниже:

 

Далее рассмотрим некоторые тонкости.

Например, если в операции  if — then  нам нужно рассмотреть несколько условий, например — если a<>b и z<=0тогда выполнить  с:=d+e; мы эти свои два условия   a<>b и z<=0 объединяем при помощи логической операции and, а сами условия берем в скобки.

Здесь у нас and — означает иа еще можно объединять условия при помощи логических операций or — илиnot — неили других  операций — xor например.

Еще, отдельного рассмотрения требует вложенность условий, например когда мы хотим реализовать следующее:

если a<>b тогда проверяем если z<=0 тогда c:=d+e; иначе c:=0; Записываем:

В этом примере не все условные операторы имеют постусловие else.  И чтобы понимать к какому из упомянутых дважды в нашем коде — if, относится постусловие else, в Delphi существует правило, — зарезервированное слово else, всегда относится к ближайшему оператору if, которое с else  еще не было связано.