Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR_informatika / Лекции.doc
Скачиваний:
50
Добавлен:
14.02.2016
Размер:
761.86 Кб
Скачать

5.4.3. Структура развилки

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

Как и в случае с линейным алгоритмом, сначала определимся с исходными данными. Из математического выражения видно, что исходные данных имеют символическое название AиB, и с результатами вычисления, исходя из того же выражения, это объект с именемC. Как и в предыдущем примере мы имеем два математически выражения, этоC=AиC=B, однако исходное выражение содержит условие, то есть, в зависимости от исходных данным, в процессе выполнения алгоритма, должно быть выполнено только одно выражение. Если значение объектаAменьше значения объектаB, то выполнится первое выражениеC=A, а если нет, то второеC=B. Получается, что в зависимости от исходных данных, алгоритм должен иметь два пути решения, либо выполняется первое выражение, либо второе.

Итак начинаем строить алгоритм решения поставленной задачи, рисунок 18. За основу как обычно берем общую структуру алгоритма, в блок «ввод данных» вводим символическое представление объектов, определенных как исходные данные, в нашем случае этоAиB. Далее идет блок выполнения алгоритма. Поскольку поставленная задача может иметь два пути решения, вводим в блок процесса структуру развилки, и записываем в нее условие, которое является причиной различных путей решения, в нашем случае этоA<B.Теперь у нас получилось два возможных пути решения, в случае выполнения условия, мы можем организовать один вычислительный процесс, а в случае его невыполнения другой, так и поступаем в случае выполнения условия организуем процесс, в котором будет выполняться шаг, выполняющий действиеC=A, а в случае его невыполнения шаг на котором выполняется выражениеC=B. После выполнения одного из возможных действий мы объединяем пути и организуем вывод результатов, для этого записываем в блок «результат» символическое название объекта, являющегося результирующим, в нашей задаче это объектC. На этом процесс построения алгоритма решения задачи можно считать завершенным.

Возможны варианты задач, в которых используется структура развилки, не имеющая шагов, в случае невыполнения условий, например:C=A+B, еслиC<10, тоC=C+10, графическое представление алгоритма приведено на рисунке 19. Как и в предыдущих примерах, определяемся с исходными данными, здесь они имеют символические названияAиB, и с результатами работы алгоритма, это объект, имеющий символическое названиеC. Теперь рассмотрим непосредственно процесс выполнения алгоритма. У нас имеется два выражения, этоC=A+BиC=C+10, однако, первое выражение выполняется всегда, а второе, только при определенных исходных данных, в нашем случае условиемC<10. Следовательно, нам необходимо внедрить развилку, но с одним условием, что дополнительный шал алгоритма, появляется только при выполнение условия развилки. В случае его невыполнения, дополнительные шаги не предусматриваются. Итак, анализ задачи проведен, теперь обращаемся к общей структуре алгоритма. В блок «ввод данных», как и в предыдущих примерах вносим список символических представлений объектов, являющихся исходными данным, в блок процесса, первым шагом, вычисление выраженияC=A+B, далее идет блок развилкиC<10, в случае выполнения которого, вводим дополнительный шагC=C+10, и последним нашим действием, будет запись в блок «результаты» символического представления результатов работы алгоритма, в нашем случае это объектC. Процесс разработки алгоритма завершен.

Общая структура алгоритма, использующего условное определение пути решения приведена на рисунке 20.