Блок-схема решения задачи
Разработка алгоритма решения задачи (алгоритмизация) - один из самых сложных и ответственных этапов. Он включает формализацию процесса обработки данных и представление его в форме, позволяющей упростить дальнейшее кодирование алгоритма, т. е. его запись на одном из алгоритмических языков. Алгоритмизация включает выделение предполагаемых этапов процесса обработки данных и запись их в определенной форме и последовательности, например в виде схем алгоритмов.
Алгоритм - это точное предписание по выполнению некоторого процесса обработки данных, который через разумное конечное число шагов приводит к решению задачи данного типа для любых допустимых вариантов исходных данных.
Для записи алгоритмов может использоваться естественный язык или формальный язык с ограниченным словарем (часто на основе английского языка), промежуточный между естественным языком и языком программирования.
Для разработки структуры программы удобнее пользоваться записью алгоритма в виде блок-схемы. Для изображения основных алгоритмических структур и блоков в блок-схемах используют специальные графические символы [5].
Блок-схема работы программы должна строиться в соответствии с требованиями ГОСТ 19.701 – 90 (ИСО 5807 – 85) Схемы алгоритмов, программ, данных и систем.
Согласно данному стандарту, схема программы состоит из: символов процесса, указывающих фактические операции обработки данных, линейных символов, указывающих поток управления, специальных символов, используемых для написания и чтения схемы [4].
Основные элементы блок-схемы представлены в таблице ниже (табл.1).
Таблица 1 – Некоторые обозначения, используемые в блок-схемах алгоритмов
Символ | Название | Описание |
Данные | Отображает данные, носитель которых не определен. Используется для ввода-вывода данных | |
Процесс | Функция обработки данных любого вида (выполнение определенной операции или группы операций, приводящее к изменению значения, формы или размещения информации или к определению, по которому из нескольких потоков следует двигаться) | |
Предопределенный процесс | Символ отображает предопределенный процесс, состоящий из одной или нескольких операций или шагов программы, которые определены в другом месте (в подпрограмме, модуле) | |
Подготовка | Отображает модификацию команды или группы команд с целью воздействия на некоторую последующую функцию |
Продолжение таблицы 1
Символ | Название | Описание |
Решение | Символ отображает решение или функцию переключательного типа, имеющую один вход и ряд альтернативных выходов, один и только один из которых может быть активирован после вычисления условий, определенных внутри этого символа | |
Линия | Отображает поток данных или управления. При необходимости для повышения удобочитаемости могут быть добавлены стрелки-указатели | |
Соединитель | Выход в часть схемы и вход из другой части схемы и используется для обрыва линии и продолжения ее в другом месте | |
Терминатор | Символ отображает выход во внешнюю среду и вход из внешней среды (начало или конец схемы программы, внешнее использование и источник или пункт назначения данных) | |
Комментарий | Символ используют для добавления описательных комментариев или пояснительных записей в целях объяснения или примечаний. Пунктирные линии в символе комментария связаны с соответствующим символом или могут обводить группу символов. Текст комментариев или примечаний должен быть помещен около ограничивающей фигуры |
Окончание таблицы 1
Символ | Название | Описание |
Пропуск | Символ (три точки) используют в схемах для отображения пропуска символа или группы символов, в которых не определены ни тип, ни число символов. Символ пропуска используют только в символах линий или между ними. Он применяется главным образом в схемах, изображающих общие решения с неизвестным числом повторений. |