Чтобы сгруппировать условные операторы и избежать неоднозначности, используются операторные скобки begin ... end.
Исходный фрагмент программы:
if a > b then c := 1; if a > b then d := 2; if a <= b then c := 3; if a <= b then d := 4;
С использованием операторных скобок (предполагается, что условные операторы должны выполняться независимо друг от друга):
begin
if a > b then
begin
c := 1;
d := 2;
end;
if a <= b then
begin
c := 3;
d := 4;
end;
end;
Другой вариант, если каждый оператор независим:
begin
if a > b then c := 1;
end;
begin
if a > b then d := 2;
end;
begin
if a <= b then c := 3;
end;
begin
if a <= b then d := 4;
end;
Однако, наиболее вероятное условие подразумевает, что при a > b выполняются два действия, а при a <= b — тоже два действия. В этом случае используется один блок begin...end для каждой ветки.
Ответ:
begin
if a > b then
begin
c := 1;
d := 2;
end
else
begin
c := 3;
d := 4;
end;
end;