Алгоритмическая структура ветвления программируется в Паскале с помощью условного оператора If

Полное ветвление:

If < логическое выражение >
Then < оператор 1 >
Else < оператор 2 >

Неполное ветвление:

If < логическое выражение >
Then < оператор >

То, что в алгоритмах называется условием, в Паскале является логическим выражением, которое вычисляется в первую очередь. Если его значение равно true, то будет выполняться < оператор 1 > (после Then), если — false, то < оператор 2 > (после Else) для полной формы или оператор, сразу следующий после условного, для неполной формы (без Else). На ветвях может быть как простой оператор, так и составной — серия операторов в операторных скобках Begin, End.

Пример 1. По длинам трех сторон треугольника а, b, с требуется вычислить его площадь.

Для решения задачи используется формула Герона

image

где р = (а + b + с)/2 — полупериметр треугольника. Исходные данные должны удовлетворять основному соотношению для сторон треугольника — длина каждой стороны должна быть меньше суммы длин двух других сторон, и длины сторон не могут быть отрицательными величинами.

Имея возможность в одном условном операторе записывать достаточно сложные логические выражения, используя логические операции, мы можем сразу «отфильтровать» все варианты неверных исходных данных.

image

Пример 2. Требуется перевести пятибалльную оценку в ее на-именование: 5 — «отлично», 4 — «хорошо», 3 — «удовлетворительно», 2 — «неудовлетворительно».

Блок-схема алгоритма приведена на рис. 3.14.

image

Этот алгоритм имеет структуру вложенных ветвлений и может быть запрограммирован с использованием условного оператора If следующим образом:

image

Пример 3. Решение рассмотренной в предыдущем примере задачи можно запрограммировать с помощью одного оператора выбора, имеющегося в языке Паскаль. Вот как будет выглядеть такая программа:

image

Оператор выбора имеет следующий формат:

Case <  селектор > of
< список констант 1 > :	< оператор 1 > ;
···
< список констант N > :	< оператор N > ;
Else <оператор>
End

Здесь < селектор > — это выражение любого порядкового типа; < константа > — постоянная величина того же типа, что и селектор; < оператор > — любой простой или составной оператор.

Выполнение оператора выбора происходит так: вычисляется выражение-селектор; затем в списках констант ищется такое значение, которое совпадает с полученным значением селектора; далее исполняется оператор, помеченный данной константой. Если такой константы не найдено, то происходит переход к выполнению оператора, следующего после слова Else.

Пример 4. В этом примере демонстрируется использование списка констант в операторе выбора. Программа сообщает, сдал студент экзамен или не сдал. Если оценка одна из следующих: 3, 4, 5, то экзамен сдан; если 2, то не сдан.

Case N of
	3,	4,	5:	WriteLn('Экзамен сдан');
			2:	WriteLn('Экзамен не сдан');
	Else WriteLn('Нет такой оценки')
End

Так же как условный оператор, оператор выбора может ис-пользоваться в неполной форме, т. е. без ветви Else.

Если применить условный оператор, то эта программа запишется так:

If (N=3) or (N=4) or (N=5)
Then WriteLn('Экзамен сдан')
Else If N=2
	Then WriteLn('Экзамен не сдан')
	Else WriteLn('Нет такой оценки');

В условии ветвления использовано сложное логическое выражение, содержащее операции логического сложения or (или).

image




Последнее изменение: воскресенье, 29 октября 2023, 15:41