Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие ИТМО-ПАС.doc
Скачиваний:
6
Добавлен:
15.11.2019
Размер:
769.54 Кб
Скачать

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

Задача №2. Вычислить корни квадратного уравнения общего вида 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. {Конец программы}

Если вторая ветвь отсутствует, тогда имеет место сокращенное ветвление. Фрагмент программы представлен ниже.

2.2.2. Ветвление сокращенное:

2.2.3. Оператор выбора:

Оператор case работает следующим образом. Сначала вычисляется значение выражения-селектора, затем обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Если ни одна из констант не равна текущему значению селектора, выполняется оператор, стоящий за словом ELSE, при его отсутствии выполняется оператор стоящий за словом end.

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

Задача №3. Составить программу для ввода на экран монитора номера дня недели и вывода соответствующего ему дня недели на русском языке.

Программа решения задачи имеет вид:

PROGRAM DNED; {заголовок программы}

VAR {раздел описания переменных}

N:INTEGER,

BEGIN

WRITELN ('ВЫВЕДИТЕ НОМЕР ДНЯ НЕДЕЛИ');{Вывод сообщения}

READ(N); {Ввод значения n с клавиатуры}

CASE N OF {Выбор варианта }

1:WRITELN('понедельник'); { Выполняемые операторы }

2:WRITELN('вторник'); {в зависимости от значения селектора}

3:WRITELN('среда');

4:WRITELN('четверг');

5:WRITELN('пятница');

6:WRITELN('суббота');

7:WRITELN('воскресенье');

END; { Конец оператора Case}

END. {Конец программы}