Лекция 3. Линейные и разветвляющиеся алгоритмы
Блок схемы
Использование блок-схем дает возможность:
• наглядно отобразить базовые конструкции алгоритма;
• сосредоточить внимание на структуре алгоритма, а не на синтаксисе языка;
• анализировать логическую структуру алгоритма;
• преобразовывать алгоритм методом укрупнения (сведения к единому блоку) или детализации – разбиения на ряд блоков;
• использовать принцип блочности при коллективном решении сложной задачи;
• осуществить быструю проверку разработанного алгоритма (на уровне идеи);
• разобрать большее число учебных задач. Составление блок-схемы алгоритма является важным и в большинстве случаев необходимым этапом решения сложной и большой задачи на ЭВМ, значительно облегчающим процесс составления программ.
Отдельные блоки алгоритмов соединяются между собой линиями потоков, которые проводятся параллельно внешней рамке чертежа. Направления линий потока сверху вниз и слева направо принимаются за основные и, если линии потоков не имеют изломов, стрелками не обозначаются. Обратные направления линий потока помечаются стрелкой.
«Процесс» (этап вычисления) изображается прямоугольником, внутри которого записывается набор действий. Ромбом изображается «решение», внутри которого осуществляется проверка условия. Ввод исходных данных и вывод результатов изображаются параллелограммами, внутри которых пишутся слова 8 «ввод» или «вывод» и перечисляются переменные, подлежащие вводу или выводу.
Представление алгоритма в виде блок-схемы является промежуточным, так как алгоритм в таком виде не может быть непосредственно выполнен ЭВМ, но помогает пользователю при создании (написании) программы для ПК.
Выделяют три основные структуры алгоритмов:
1. Линейная.
2. Разветвляющаяся (альтернатива «если–то–иначе» или «если–то»).
3. Циклическая (повторение).
Линейная структура – является основной. Она означает, что действия выполняются друг за другом (рис. 1). Прямоугольник, показанный на рисунке, может представлять как одну единственную команду, так и множество операторов, необходимых для выполнения сложной обработки данных, где F1 и F2 – некоторые команды для соответствующего исполнителя. Команды записываются с помощью операции присваивания. Присваивание переменной какого-либо значения или присваивание одной переменной значения другой переменной является наиболее часто выполняемым действием в программе, написанной на любом языке программирования. В языке программирования присваивание является операцией и обозначается как «:=». Это означает, что при выполнении этой операции происходит не только присваивание значения определенной перемен- ной, но и возвращается некоторое значение.
Разветвляющаяся структура (ветвление) – это структу- ра, обеспечивающая альтер- нативный выбор в зависи- мости от заданного условия. Выполняется проверка ус- ловия, а затем выбирается один из путей (рис. 2), где P – это условие, в зависимо- сти от истинности (Да) 1 или ложности (Нет) которого управление передается по одной из двух ветвей. Рис. 2. Ветвление Рис. 3. Неполное ветвление Может оказаться, что для одного из результатов проверки условия ничего предпринимать не надо. В этом случае можно применять только один обраба- тывающий блок (рис. 3). Эта структура называется также ЕСЛИ –ТО – ИНАЧЕ. Каждый из путей (ТО или ИНАЧЕ) ведет к общей точке слияния, так что выполнение программы продолжается независимо от того, какой путь был выбран.
А) 0, 0, 0, 5
Б) 0, 0, 5, 0
С) 10, 10, 20, 6
Д) 10, 10, 10, 4
Самостоятельная работа: