Задача №1. Вычислить корни квадратного уравнения общего вида ax2 + bx + c= 0 в области действительных чисел.
Программа имеет вид:
(* ОПРЕДЕЛЕНИЕ КОРНЕЙ КВАДРАТНОГО УРАВНЕНИЯ *)
PROGRAM KU; {Имя программы}
VAR {Раздел описания переменных}
A,B,C:INTEGER; {коэффициенты уравнения}
D,X1,X2:REAL; {Дискриминант и корни уравнения}
BEGIN
WRITE('ВВЕДИТЕ КОЭФФИЦ. А,В,С '); {Вывод сообщения}
READ (A,B,C); {Ввод данных с клавиатуры}
WRITELN ('A=',A,'B=',B,'C=',C); {Эхо-печать ввода исходных данных}
D:=SQR(B)-4*A*C; {Вычисление дискриминанта}
IF D>0 THEN {Проверка выполнения условия}
BEGIN
X1:=(-B+SQRT(D))/(2*A); {Выполняемые действия }
X2:=(-B-SQRT(D))/(2*A); {если условие ИСТИНА}
WRITELN ('X1=',X1,'X2=',X2); {Вывод результата }
END
ELSE IF D=0 THEN {ИНАЧЕ, Проверка выполнения условия}
BEGIN
X1:=(-B+SQRT(D))/(2*A); {Выполняемые действия }
X2:=X1; {если условие ИСТИНА}
WRITELN ('X1=',X1,'X2=',X2);
END
ELSE WRITELN ('НЕТ РЕШЕНИЯ'); {если условие ложь}
END. {Конец программы}
Если вторая ветвь отсутствует, тогда имеет место сокращенное ветвление. Фрагмент программы представлен ниже
Оператор выбора:
Оператор case работает следующим образом. Сначала вычисляется значение выражения-селектора, затем обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Если ни одна из констант не равна текущему значению селектора, выполняется оператор, стоящий за словом ELSE, при его отсутствии выполняется оператор стоящий за словом end.