Блок-схемы – это способ графического изображения алгоритма, при котором его шаги изображаются в виде различной формы блоков, которые соединены между собой стрелками.
Введение
Блок-схема, по сути, является алгоритмом разрешения заданной специалистам проблемы. Понятие алгоритма появилось благодаря Мухаммеду аль-Хорезми, жившему в восьмом - девятом веках нашей эры. Он считается автором правил осуществления четырёх основных арифметических операций. Если брать более современные определения алгоритма, то по ГОСТ от 1974 года алгоритмом является: точное и однозначное представление очерёдности процедур, которое определяет процесс вычислений. При этом существуют некоторые переменные с определёнными параметрами, приводящие вычисления к требуемому итогу. Алгоритм ясно предписывает его исполнителю осуществлять в строгой очерёдности конкретные действия для разрешения указанной задачи и достижения необходимой цели. Создание алгоритма заключается в подразделении решения единой большой задачи на некоторую последовательную цепь действий. Проектировщик алгоритма должен обладать знаниями по методике и правилам этой работы.
Особенности алгоритма
Для практически всех типов разрабатываемых алгоритмов, следует подчеркнуть следующие их особенности:
- Всегда в составе алгоритма должна быть в наличии операция занесения исходных данных.
- После окончания работы основной части алгоритма должен выдаваться окончательный итоговый результат, поскольку это и есть основная цель создания алгоритма.
- Алгоритм должен иметь дискретную структуру. То есть, его возможно представить в форме последовательных шагов. Очередной шаг всегда начинается после окончания действий предыдущего шага.
- Толкование операций алгоритма всегда однозначно. Любой этап имеет чёткое определение, не допускающее другой трактовки.
- Конструкция алгоритма предполагает конечность его процедур, то есть он должен осуществляться за чётко назначенное число шагов.
- Корректность алгоритма должна быть абсолютной, то есть он выдаёт только правильное разрешение исходной задачи.
- Алгоритм должен быть способен функционировать с разными начальными данными.
- Время выполнения алгоритма должно быть минимизировано, что даёт более эффективное разрешение исходной задачи.
Далее рассмотрим возможные методики и формы представления алгоритмов.
Словесная запись
Этот тип используется при определении очерёдности осуществления действий для людей: «Сходи туда, не знаю куда, найди то, не знаю что». Естественно, это лишь шуточный пример, но он выражает суть словесного описания алгоритма. Более достоверным примером является надпись на автобусном стекле: «При аварии, выдерните шнур и выдавите стекло». Тут уже ясно прописано условие, при появлении которого необходимо осуществить две операции, соблюдая их очерёдность. Это несложные алгоритмы, но есть и гораздо сложнее. Часто применяются в алгоритмах разные формулы и специальные обозначения, но только с обязательным условием, что их поймёт исполнитель алгоритма.
Графическая запись алгоритма
При интерпретации алгоритма в виде графики используются компоненты блок-схем. Они стандартизированы и у всех команд существует некоторое определение в формате графики. А, собственно, текст команды пишется внутри графического блока. Блоки соединены при помощи линий, которые определяют очерёдность исполняемых команд. Такой тип описания алгоритма больше применим при программировании, чем словесная запись. Когда выстроенный алгоритм служит для его реализации программой на компьютере, то он может быть записан специальными кодами. Для этих целей есть большое количество языков программирования. Но и алгоритм в таком случае имеет название программы.
Базовой графической формой записи алгоритма является блок-схема. Все операции и действия представляются в виде геометрических фигур. В этих фигурах расположен перечень подлежащих исполнению в этом блоке операций. Связи отображаются обычными линиями, и, если это нужно, то со стрелками. Правила формирования блок-схем алгоритмов прописаны в ГОСТ 19.701-90. Он предписывает законы и правила проектирования алгоритмов в формате графики и методику их решения. Необходимо подчеркнуть следующие главные правила формирования любых блок-схем:
- Всегда предполагается присутствие блоков «Начало» и «Конец». И они не должны повторяться.
- Первый и последний блоки соединяются связующими элементами и линиями.
- От любого блока, кроме последнего, отходят потоковые линии.
- Блоки имеют нумерацию сверху вниз и слева направо.
- Блоки алгоритма соединяются линиями, которые назначают очерёдность исполнения операций. В случае движения потока в другом направлении (снизу вверх или справа налево), оно должно быть указано стрелками.
- Все линии могут быть входными и выходными. Причём одна и та же линия для одного блока будет входной, а для другого выходной.
- Начальный блок имеет только выходную линию потока, поскольку он первый.
- Последний (конечный) блок обладает только входящей линией.
- Для более удобного отображения блок-схем, все входящие линии располагаются сверху, а выходящие снизу.
- Возможно присутствие разрывных потоковых линий, но они всегда отмечаются специальными соединителями.
- Для большей наглядности блок-схемы, позволительно дополнительную информацию располагать в комментариях.
Линейные алгоритмы
Наиболее простым видом алгоритмов считается линейный. Он предполагает фиксированную очерёдность действий, которая не зависит от начальных данных. В нём имеется набор команд, выполняемых однократно и только по завершению предыдущей команды. Линейную блок-схему модно представить в следующем виде:
Рисунок 1. Линейный алгоритм. Автор24 — интернет-биржа студенческих работ.
При этом связи, как указывалось выше, идут сверху вниз или слева направо. Такой тип блок-схем применяется для представления алгоритмов расчётов по несложным формулам, не имеющих ограничений на величины переменных, которые есть в расчётных формулах. Линейный алгоритм является составляющим компонентом более сложных вычислительных алгоритмов.
Разветвляющиеся алгоритмы
Блок-схемы этих алгоритмов более сложные, чем линейные, но исходный смысл остаётся прежним. Разветвляющийся алгоритм является процессом, в котором последующие операции определяются выполнением некоторых условий или итогов решений. Все возможные операции являются ветвями алгоритма.
Рисунок 2. Разветвляющиеся алгоритмы. Автор24 — интернет-биржа студенческих работ
Схемы отображают блоки, имеющие название «Решение». У них есть пара выходов и записанное в блоке некоторое условие логики. Это условие определяет, по какой ветви алгоритма пойдёт дальнейшее продвижение. Алгоритмы с ветвлениями подразделяются на следующие типы:
- С «обходом». В одной ветви нет команд. Выполняется проход мимо некоторых процедур соседней ветви.
- С «разветвлением». Во всех ветвях есть некоторый комплекс операций, подлежащих выполнению.
- С «множественным выбором». Это ветвление, при котором имеется набор ветвей и во всех содержится некоторый комплекс процедур.
Следует заметить, что определение ветви, по которой пойдёт далее процесс, находится в прямой зависимости от заданных величин параметров, включённых в алгоритм.