Программирование ветвлений на Паскале

Основные темы параграфа:

■ оператор ветвления на Паскале;

■ программирование полного и неполного ветвления;

■ программирование вложенных ветвлений;

■ логические операции;

■ сложные логические выражения.

Оператор ветвления на Паскале

В языке Паскаль имеется оператор ветвления. Другое его название — условный оператор.

Формат полного оператора ветвления следующий:

if <логическое выражение> then <оператор1>

else <оператор2>

Здесь if — «если», then — «то», else — «иначе».

Программирование полного и неполного ветвления

Сравните запись алгоритма ВИД 1 из предыдущего параграфа с соответствующей программой.

 
  Программирование ветвлений на Паскале - student2.ru

Очень похоже на перевод с русского языка на английский. Обратите внимание на следующее отличие: в программе нет специального служебного слова, обозначающего конец ветвления. Здесь признаком конца оператора ветвления является точка с запятой. (Разумеется, оставлять в программе пустую строку совсем не обязательно. Здесь это сделано только ради наглядности.)

Простой формой логического выражения является операция отношения. Как и в АЯ, в Паскале допускаются все виды отношений (ниже указаны их знаки):

< (меньше); <= (больше или равно);

> (больше); = (равно);

<= (меньше или равно); <> (не равно).

А теперь запрограммируем на Паскале алгоритм БИД2, в котором использовано неполное ветвление.

 
  Программирование ветвлений на Паскале - student2.ru

Опять всё очень похоже. Ветвь elseв операторе ветвления может отсутствовать.

Программирование вложенных ветвлений

Запишем на Паскале программу определения большего из трех чисел, блок-схема которой показана на рис. 2.6. Структура этого алгоритма — вложенные ветвления. Алгоритм на АЯ (БИТ2) приведен в предыдущем параграфе.

Программирование ветвлений на Паскале - student2.ru

ProgramBIT2;

varА, В, C, D: real;

Begin

readln(А, В, C);

if A>B

then ifA>CthenD:=AelseD:=B

else ifB>CthenD:=Belse D:=C;

writeln(D)

End.

Обратите внимание на то, что перед elseсимвол «;» не ставится, так как этот символ является разделителем операторов. Вся ветвящаяся часть структуры алгоритма заканчивается на точке с запятой после оператора D: =С.

Составим программу упорядочения значений двух переменных.

 
  Программирование ветвлений на Паскале - student2.ru

Этот пример иллюстрирует следующее правило Паскаля: если на какой-то из ветвей оператора ветвления находится несколько последовательных операторов, то их нужно записывать между служебными словами begin и end. Конструкция такого вида:

begin <последовательность операторов> end

называется составным оператором. Следовательно, в описанной выше общей форме ветвления <оператор1> и <оператор2> могут быть простыми и составными операторами.

Логические операции

Наконец, составим еще один, третий вариант программы определения наибольшего числа из трех.

ProgramBIT3;

varА, В, С, D: real;

Begin

readln(А,В,С);

if (А>=В) and (А>=С) then D:=A;

if (В>=А) and (В>=С) then D:=B;

if (C>=A) and (C>=B) then D:=C;

writeln(D)

End.

Нетрудно понять смысл этой программы. Здесь использованы три последовательных неполных ветвления. А условия ветвлений представляют собой сложные логические выражения, включающие логическую операцию and (И). С логическими операциями вы встречались, работая с базами данных и с электронными таблицами.

Напомним, что операция and называется логическим умножением или конъюнкцией. Ее результат — «истина», если значения обоих операндов — «истина». Очевидно, что если А ³ В и А ³ С, то А имеет наибольшее значение и т.д. В Паскале присутствуют все три основные логические операции:

and — И (конъюнкция),

or — ИЛИ (дизъюнкция),

not — НЕ (отрицание).

Замечание. Мы рассмотрели три варианта решения задачи о поиске максимального числа из трех заданных (БИТ1, БИТ2, БИТЗ). Предложенные варианты решения, помимо всего прочего, отличаются еще и эффективностью: эффективность тем выше, чем меньше исполняется операций при выполнении программы. С этой точки зрения, самым неэффективным является алгоритм БИТЗ. В любом случае в нем будет выполняться 6 операций отношения. При исполнении алгоритмов БИТ1 и БИТ2 выполняются 2 операции отношения. Понятно, что на практике необходимо использовать наиболее эффективные алгоритмы.

Наши рекомендации