Учебник для 10 класса

ИНФОРМАТИКА

       

§ 19. Программирование ветвлений

В § 13 был показан способ отображения ветвления (полного и неполного) на блок-схеме и учебном Алгоритмическом языке. Алгоритмическая структура ветвления программируется в Паскале с помощью условного оператора If. В 9 классе вы познакомились с этим оператором. Вспомним его формат.

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

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

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

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

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

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

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

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

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

Рис. 3.14. Алгоритм перевода числовой оценки в словесную

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

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

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

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

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

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

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

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

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

Система основных понятий

Вопросы и задания

  1. Какие операторы используются для программирования ветвящихся алгоритмов?
  2. В каких случаях удобно использование оператора выбора?
  3. Составьте на Паскале программу упорядочения по возрастанию значений в трех переменных: X, Y, Z.
  4. Используя оператор выбора, составьте программу, которая по введенному номеру месяца будет выводить название соответствующего времени года (зима, весна, лето, осень).

 

 

 

Top.Mail.Ru
Top.Mail.Ru