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  еще не было связано.