Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 9.п 9.1.Алгор.docx
Скачиваний:
26
Добавлен:
09.02.2015
Размер:
118.36 Кб
Скачать

9.1.4. Алгоритмы разветвленной структуры

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

Признаком разветвляющего алгоритма является наличие операций проверки условия.

Простым условием (отношением) называется выражение, составленное из двух арифметических выражений или двух текстовых величин, связанных одним из знаков:> (больше), < (меньше), = (равно), <> (не равно), >= (больше или равно), <= (меньше или равно).

В схеме алгоритма операцию проверки выполняет логический блок, выполняемый в виде ромба (решение).

Алгоритмы разветвленной структуры применяются, когда в зависимости от некоторого условия необходимо выполнить одно, либо другое действие (рис.9.4.)

Условие

выполняется?

Условие

выполняется?

да нет да нет

Действие 1

Действие 2

Действие

Рис. 9.4. Примеры разветвления

Пример 9.3

Дано: квадратное уравнение a + b + c = 0

Найти: корни квадратного уравнения. Алгоритм решения задачи приведен на рис.9.5.

пуск

a,b,c

d=

d<0

да нет

останов

Рис. 9.5. Алгоритм нахождения корней квадратного уравнения

Отладка разветвляющихся алгоритмов

Особенность отладки заключается в следующем. Для проверки правильности всех ветвей алгоритма тест должен включать несколько наборов исходных данных – их число должно быть не менее числа ветвей алгоритма, т.е. нужно проверить каждую ветвь алгоритма.

Пример № 5.4. процесса отладки разветвляющего алгоритма.

Дано:Х+А, если Х<10;

Y= Х+В, если 10;

Х+23<Х

Найти: Вычислить Y по одной из формул по составленному алгоритму, провести отладку алгоритма (рис.9.6.)

пуск

Х,А,В

Да

Y:=Х+А

Х<10

Нет Да

Y:=Х+В

Х23

Х+

Y

останов

Рис. 9.6. Алгоритм решения задачи (пример № 9.4.)

Отладка алгоритма

а) Данные выбираем такими, что максимально упростить процесс вычисления, но с учетом, чтобы точки были внутри областей и на границе. Данные сведем в таблицу № 9.2.

Таблица № 9.2. Данные для отладки алгоритма (пример № 9.4.)

Номер выбора

Х

А

В

1

5

2

3

7

7

2

10

2

3

13

13

3

15

2

3

18

18

4

23

2

3

26

26

5

25

2

3

29

29

б). Ручное решение. Решаем с помощью калькулятора и вносим в таблицу № 5.4.

в). Исполнение алгоритма.

Первый ввод данных: Х=5, А=2, В=3

1. Х<10? 5<10 - Да

2. Y=X+A=5+2=7

3. Вывод: Y=7

4.Останов

Второй ввод данных: Х=10, А=2, В=3

1. Х<10? 10<10 - Нет

2. Х<23? 10<23 - Да

3. Y=X+В=10+3=13

4. Вывод: Y=13

5. Останов

Третий ввод данных: Х=15, А=2, В=3

1. Х<10? 15<10 - Нет

2. Х<23? 15<23 - Да

3. Y=X+В=15+3=18

4. Вывод: Y=18

5. Останов

Четвертый и пятый вводы данных проделать самостоятельно!

г) сравнение результатов. Результаты решения задачи вручную и исполнения алгоритма совпали. Вывод: алгоритм верен!