Объединение операторов
Формат записи оператора 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 здесь совершенно лишние.
Дата добавления: 2015-03-19; просмотров: 810;