5. Графический способ
Рассмотрим подробнее графический способ, как наиболее часто используемый.
Так как алгоритм есть последовательность шагов (действий), в его записи нужно изобразить и сами действия и указывать их последовательность. Существует несколько разновидностей графического способа, наиболее распространенным является метод блок-схем. В нем действия изображаются стандартными блоками, а их последовательность - однонаправленными линиями. Существует довольно большой набор различных видов блоков, однако на практике обычно используют не более десятка блоков. Их изображение и назначение представлено в следующей таблице.
Основные элементы блок-схем Таблица 2.
Обозначение |
Наименование |
Назначение, примечания |
|
Процесс |
Основной блок обработки данных. В укрупненной блок-схеме - для описания любых процессов, в детальных - для присваивания переменным значений выражений |
|
Предопределенный процесс |
Обращение (вызов) предопределенных алгоритмов(подпрограмм) Внутри указывается имя п/п. |
|
Ввод/Вывод |
Чтение и запись данных в файлы на магнитных носителях. Часто используется для обозначения только процесса ввода данных с любого устройства ввода |
|
Ввод файла |
Раньше использовался для ввода данных с перфокарт. Может применяться для любого ввода, в том числе ручного ввода с клавиатуры |
|
Печатный документ |
Применяется для обозначения вывода результатов пользователю на принтер или на дисплей, часто и для вывода на внешнюю память |
|
Решение |
Выбор одного из двух альтернативных путей. Внутри - логическое выражение, у выходов обозначения "да" и "нет" (по истинности и ложности значения) |
|
Модификатор |
Блок, используемый для организации арифметических циклов. Устанавливает начальное значение, модифицирует счетчик цикла, проверяет необходимость выхода |
|
Начало алгоритма |
Начало программы или подпрограммы (для п/п внутри - имя) |
|
Конец алгоритма |
Конец программы или выход из подпрограммы (для п/п внутри ставится слово "возврат") |
|
Межстраничный и внутристраничный соединитель |
Передача управления на блок, расположенный на другой или на той же странице. N - номер страницы, n - номер соединителя на странице |
Лекция 13
6. Правила изображения алгоритмов
Любой алгоритм можно изобразить, используя только блоки "начало", "процесс", "ввод", "вывод" "решение" и "конец", хотя размер блок-схемы при этом может сильно возрасти. Использование модификаторов, переключателей (не показанных в таблице) и особенно предопределенных процессов существенно сокращает блок-схему.
Блоки изображаются в габаритах блока процесс, кроме начала, конца и модификатора, которые имеют половинную высоту. У каждого блока может стоять номер, используемый не для указания последовательности выполнения блоков, а для удобства ссылок на них в пояснениях. Нумерация обычно возрастает сверху вниз и слева направо. Номер ставится либо слева вверху над блоком, либо в разрыве линии контура блока (см. ниже).
5
Рисунок 2. Нумерация блоков при изображении алгоритма.
При изображении блоков в алгоритме следует придерживаться следующих правил:
- всякий блок кроме "начала" и "модификатора" имеет только один вход;
- всякий блок, кроме "решения", "модификатора", "переключателя" и "конца" имеет только один выход;
- "решение" имеет один вход и два выхода (по истинности и ложности условия в момент проверки);
- "модификатор" имеет основной вход, основной выход, внутренний вход и выход;
- "переключатель" имеет один вход и несколько выходов.
Линии передачи управления могут соединяться (сливаться) но не могут разъединяться или пересекаться. Для исключения пересечения используются соединители. На линиях могут ставиться стрелки, хотя направления сверху вниз и слева направо обычно не помечаются.
В алгоритмах не должно быть тупиков, зацикливаний, должен быть один вход и один выход. От входа к выходу каждый блок должен принадлежать какому-либо из путей (ветвей алгоритма).