Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теоретический материал к уроку 9 класс.docx
Скачиваний:
31
Добавлен:
18.08.2019
Размер:
3.04 Mб
Скачать

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

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

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

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

алг БИТ1 вещ А, В, С, D нач ввод А, B, С если А>В то D:=A иначе D:=B кв если C>D то D:=C кв вывод D кон

Рис. 3.9. Блок-схема алгоритма "БИТ" с последовательными ветвлениями

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

Эту же задачу можно решить с помощью алгоритма, имеющего структуру вложенных ветвлений. Его блок-схема приведенная на рис. 3.10.

А вот как выглядят описание этого алгоритма на АЯ и трассировочная таблица при А = 5,В = 7,С = 2.

Алг БИТ2 вещ А, В, С, D нач ввод А, В, С если А>В то если A>C то D:=A иначе D:=С кв иначе если В>С то D:=B иначе D:=С кв кв вывод D кон

Шаг

Операция

А

В

С

D

Проверка условия

1

ввод А, В, С

5

7

2

-

2

А>В

5

7

2

-

5 > 7, нет

3

В>С

5

7

2

-

7 > 2, да

4

D:=B

5

7

2

7

5

вывод D

5

7

2

7

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

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

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

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

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

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

6. Для вывода на экран произвольной символьной строки нужно в команде вывода записать эту строку в апострофах. Например, по команде

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

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

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

алг Задача-6 вещX нач ввод X если Х < 0 то вывод "отрицательное число" иначе вывод "положительное число" кв кон

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

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

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