IF ... THEN ... ELSE ... шартты операторлары берілген шарттардың орындалуын реттейді. Олар бірнеше операторлардан тұрады, сондықтан құрамы жағынан структуралық операторлар болып табылады. Бағдарлама орындалғанда IF операторы өзінде жазылған логикалық шарттың орындалуын тексереді, олардың жалпы жазылуы мен орындалуы:
IF шарт THEN 1 -блок ELSE 2-блок;
а) Егер логикалық шарттың нәтижесі "Ақиқат" болса, онда басқару THEN операторына беріліп, тек сонда тұрған бағдарламаның тармағы (1-блоктағы операторлар) ғана орындалады. Әрі қарай баскару ELSE операторын оқымай аттап кетіп, бағдарламаның келесі операторларына беріледі.
ә) Егер логикалық шарттың нәтижесі "Жалған" болса, онда бағдарлама орындалуы THEN операторынан аттап кетеді де, басқару ELSE операторына беріліп, бағдарлама осы оператордағы тармағы (2-блоктағы операторлар) орындалады. Әрі қарай басқару бағдарламаның келесі операторларына беріледі.
THEN немесе ELSE операторларындағы блоктардың өзінде де IF операторы арқылы шарт тексеру процесін ұйымдастыруға болады.
IF операторындағы шарт кез-келген логикалық өрнек болуы мүмкін.
Шартта қолданылатын айнымалылар мәні алдын-ала анықталуы тиіс. Мысалдар:
1)Program TarmakS;
VAR Х,У,S: Real; BEGIN Readln (X,Y);
if X<5 Then S:=Y*X EIse S:=5*X+Y;
2) Program TarmakS; VARX.Y.S: Real; B: Boolean; BEGIN Readln(X.Y); B:=X<5;
if B Then S:=Y*X Else S:=5*X+Y;
Жоғарыдағы мысалдардың екеуінде де бағдарлама орындалғанда бірдей шарттар тексеріледі. Бағдарламалау барысында тармақталу процестерін шартты операторлардың көмегімен төмендегі үлгілердей құруға болады:
1. IF шарт THEN 1-блок;
Егер шарт орындалса, онда басқару THEN операторына беріліп, 1 -блок орындалады, әйтпесе басқару нүктелі үтірден кейінгі операторға беріледі.
2. IF шарт THEN 1 -блок ELSE 2-блок;
Егер шарт орындалса, онда басқару THEN операторына беріліп, 1-блок орындалады, әйтпесе басқару ELSE операторына беріліп, 2-блок орындалады.
3 IF 1 шарт THEN 1 -блок ELSE IF 2 шарт THEN 2-блок ELSE IF 3 шарт THEN 3-блок ELSE 4-блок;
Егер 1 шарт орындалса, онда басқару THEN операторына беріліп, 1 блок орындалады, әйтпесе басқару ELSE операторына беріліп, 2 шарт тексеріледі, егер 2 шарт орындалса 2 блок орындалады, орындалмаса 3 шарт тексеріледі, егер 3 шарт орындалса 3 блок орындалады, әйтпесе 4 блок орындалады. THEN операторынан кейін және ELSE операторының алдында нүктелі үтір қойылмайды. Нүктелі үтір шартты оператордың соңында ғана қойылады. Егер THEN не ELSE операторларында бірнеше оператор болса, онда олар құрама оператор түрінде жазылады:
If X<5 Then Begin S:=Y*X; T:=Y+X End
Else Begin S:=5*X+Y; T:=Sqr(Y)+X End
Тармақталу командаларында OR, AND, XOR, NOT логикалық амалдарын қолдануға болады. Егер IF операторында бірнеше шарт болса, онда олар жай жақшаларға алынып, қүрама шарттар түрінде жазылады.
If (Х>20) Or (Х<10) // егер X 20-дан үлкен немесе X 10-нан кіші болса "Ақиқат"
lf(X<20)And(X>10) //егер X 20-дан кіші жәнеХ 10-нан артық болса "Жалған"
If (Х<5) Хог (Х<0) //егер X 5-тен үлкен немесе X 0-ден кіші болмаса "Ақиқат"