Пример выполнения задачи на полное ветвление

Задача №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.


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



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