Оператор if використовується, якщо у алгоритмі у залежності від стану якогось процесу потрібно виконати ту чи іншу дію.
Повна версія оператору має вигляд:
if умова then оператор1 else оператор2 ;
Тобто “якщо виконуються умова, то виконувати оператор1, якщо ні – то оператор2”.
Бувають випадки, коли у алгоритмі вимагається умовний оператор “якщо виконуються умова, то виконувати оператор1”. Тоді його вигляд буде:
if умова then оператор1;
Зазначимо, що перед else символ “;” ніколи не ставиться.
Виходячи з вигляду оператору слід відзначити, що за виконання умови чи ні може виконуватись тільки один оператор (оператор1 чи оператор2). Якщо необхідним є виконання кількох операторів, то слід використовувати складний оператор begin – end. Тоді всі необхідні команди будуть розташовуватись між begin та end, як це зазначалось вище.
Наприклад
if a>max then max:=a else max:=b;
if a[i]>a[i+1] then
begin
a[i]:=a[i]+a[i+1];
a[i+1]:=a[i]‑a[i+1];
a[i]:=a[i]‑a[i+1];
end;
У наведених прикладах використовується проста умова, тобто умова, що використовує тільки одне порівняння. Оператор if допускає ще і складні умови. Тоді вони записуються у дужках ( ). Наприклад:
if ( a>b and b>c) then midd:=b ;
Нехай нам потрібно написати програму, яка при натисканні на клавішу Button1, зчитує з рядку редагування Edit1 текст і, якщо цим текстом є рядок “автотекст”, то надпис на клавіші міняється на “введіть свій текст”, у противному разі – на клавішу виводиться текст, введений користувачем у Edit1, і у Edit1 виводиться текст “автотекст”.
Для цього нам спочатку треба на формі розташувати два об'єкти: кнопку Button1 та рядок редагування Edit1. Після цього встановити головну подію для кнопки Button1 подвійним натисканням на неї. Далі, у автоматично згенерованій процедурі
procedure TForm1.Button1Click
дописати алгоритмічну частину, яка матиме вигляд
procedure TForm1.Button1Click(Sender: TObject);
begin
if Edit1.Text=’автотекст’
then Button1.Caption:=' введіть свій текст '
else
begin
Button1.Caption:=Edit1.Text;
Edit1.Text:= ‘автотекст’;
end;
end;