Сложные ветвящиеся алгоритмы

Получим алгоритм решения еще одной задачи: найти наибольшее значение среди трех величин: А, В, С.

Естественно, возникает следующая идея этого алгоритма: сначала нужно найти большее из значений А и В и присвоить его какой-то дополнительной переменной, например D; затем найти большее среди D и С. Это значение можно присвоить той же переменной D.

Решение задачи сводится к двукратному применению уже знакомого алгоритма нахождения большего из двух значений. Блок-схема алгоритма — на рис. 2.5.

Сложные ветвящиеся алгоритмы - student2.ru

Нетрудно догадаться, что «БИТ» обозначает «Большее из трех». В структуре этого алгоритма содержатся два последовательных ветвления: первое — полное, второе — неполное.

Эту же задачу можно решить с помощью алгоритма, имеющего структуру вложенных ветвлений. Его блок-схема приведена в следующем параграфе на рис. 2.6. А вот как выглядят описание этого алгоритма на АЯ и трассировочная таблица при А = 5, В = 7, С = 2.

алг БИТ2

вещ А, В, С, D нач

ввод А, В, С

если А>В

то если А>С то D:=A иначе D:=C кв

иначе если В>С то D:=B иначе D:=C кв

кв

вывод D

Кон

Шаг Операция A B C D Проверка условия
вводА, В, С А>В В>С D:=B вывод D 7 7 7 7 7 2 2 2 2 2 - - - 7 7   5 > 7, нет 7 > 2, да

Коротко о главном

В команде ветвления в качестве условия может использоваться отношение неравенства между величинами.

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

Для решения одной и той же задачи можно построить несколько вариантов алгоритмов.

Несколько ветвлений в одном алгоритме могут быть последовательными и вложенными.

Сложные ветвящиеся алгоритмы - student2.ru Вопросы и задания

1. Какую структуру имеет алгоритм нахождения большего из двух значений?

2. Почему отношение неравенства можно назвать логическим выражением?

3. В каком случае для числовой переменной следует указывать целый тип, в каком — вещественный?

Сложные ветвящиеся алгоритмы - student2.ru 4. Составьте алгоритм (в виде блок-схемы и на АЯ) нахождения меньшего из двух значений.

Сложные ветвящиеся алгоритмы - student2.ru 5. Составьте алгоритм нахождения наименьшего из трех значений.

Сложные ветвящиеся алгоритмы - student2.ru 6. Для вывода на экран произвольной символьной строки нужно в команде вывода записать эту строку в кавычках. Например, по команде

вывод "ОТВЕТ"

на экран выведется слово ОТВЕТ.

Определите, какая задача решается по следующему алгоритму,

алг Задача-6

вещ X

Нач

ввод X

если Х<0

товывод "отрицательное число"

иначевывод "положительное число”

кв

Кон

Сложные ветвящиеся алгоритмы - student2.ru 7. Составьте алгоритм, по которому на компьютере будет происходить следующее: в переменную -S вводится возраст Саши, в переменную М вводится возраст Маши. В качестве результата на экран выводится фраза «Саша старше Маши» или «Маша старше Саши» (предполагаем, что кто-нибудь из них обязательно старше).

Сложные ветвящиеся алгоритмы - student2.ru 8. Решите предыдущую задачу, учитывая возможность одинакового возраста Саши и Маши. В таком случае может быть получен ответ: «Саша и Маша — ровесники».

Сложные ветвящиеся алгоритмы - student2.ru 9. Составьте алгоритм упорядочения значений трех переменных по возрастанию, т. е. при любых исходных значениях А, В, С отсортируйте их так, чтобы стало: А < В < С. Проверьте алгоритм трассировкой при разных вариантах значений исходных данных.

Сложные ветвящиеся алгоритмы - student2.ru ЕК ЦОР: часть 2, глава 6, § 36. ЦОР № 6, 12-14.

§ 13

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