Объединение операторов

Формат записи оператора IF позволяет поместить внутрь его лишь один оператор, выполняющийся, когда условие истинно, и один – когда оно ложно. Часто же нужно выполнить не один, а много операторов. Например, при решении квадратного уравнения после проверки неотрицательности дискриминанта нужно вычислить действительные корни уравнения, что требует как минимум двух операторов присваивания. Следующая запись невернаи вызовет ошибку при компиляции:

Как же быть? Очень просто – нужно превратить несколько операторов в один. Для этого их объединяют при помощи уже известных нам операторных скобок BEGIN и END. Запись вида

BEGIN

оператор 1;

оператор 2;

оператор n

END;

рассматривается как один оператор. Не путайте BEGIN и END, являющимися операторными скобками, с BEGIN и END, отмечающими начало и конец всей программы. Таким образом, правильная запись такова:

d:=SQR(b)-4*a*c;

IF d>=0 THEN

BEGIN

x1:=-b+SQRT(d)/(2*a);

x2:=-b-SQRT(d)/(2*a)

END

ELSE

Label1.Caption:='Корни комплексные';

Обратите внимание, что оператор Label1.Caption:='Корни комплексные' в операторные скобки не заключен. Причина очевидна: это один-единственный оператор, его не с чем объединять. Запись вида

IF a>b THEN

BEGIN

c:=a+10

END;

хотя и не вызовет ошибки, но является избыточной и свидетельствует о низкой квалификации программиста. Скобки BEGIN … END здесь совершенно лишние.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: