Умовний оператор призначений для вибору однієї із двох можливих дій, в залежності від певної умови. Структура оператора IF
IF <логічний вираз> THEN <оператор1>
[ ELSE <оператор2>];
Синтаксична діаграма Рис.4

Рис.4. Оператор IF
Спочатку обчислюється логічний вираз. Якщо значення виразу TRUE, то виконується "оператор 1", вказаний після слова THEN. Якщо результат FALSE, виконується "оператор 2", вказаний після службового слова ELSE.
Частина оператора із словом ELSE може бути відсутня. Тоді управління передається оператору, що стоїть після оператора EF.
Слід відзначити, що після службового слова IF і ELSE може виконуватись тільки один оператор. Якщо користувачеві необхідно виконати кілька операторів, то їх треба взяти в операторні дужки BEGIN і END, тобто зробити ці декілька операторів складеним оператором. Приклад:
обчислити x=sin(a*i);
y=(b+c)/x
при виникненні математичної некоректності ділення на нуль, видрукувати відповідне повідомлення.
PROGRAM TEST1;
VAR
I:INTEGER;
А, В, С, X, Y:REAL;
BEGIN
WRITELN ('Введи a, b, c, i' );
READLN (A, B, C, I); X=SIN(A*I);
IF X=0
THEN WRITELN ('Ділення на нуль')
ELSE
BEGIN
Y:= (B+C)/X;
WRITELN ('X=', X, 'Y=', Y)
END
END.
В реальних програмах часто виникає ситуація вкладення одного умовного оператора в інший. В цих випадках необхідно чітко дотримуватися структури: IF-THEN-ELSE, оскільки може виникнути синтаксична невизначеність, а з нею і помилка. Приклад: Обчислити

Оператор умови буде мати такий вигляд:
IF X<-1 THEN Y=-l
ELSE IF X>=1 THEN Y:=l
ELSE Y:=X*X*X;
Якщо пропустити перше службове слово
ELSE
IF X<=-1 THEN Y:=-l IF X>=1 THEN Y:=l
ELSE Y:=X*X*X;
Така програма дасть нам неправильний результат оскільки, коли Х<=-1, Y пристоїться значення -1, тоді, після перевірки другої умови управління передасться оператору Y:=X*X*X і результат буде помилковим.