Блок-схема алгоритма: программы, задачи, элементы, построение

В современном мире цифровой техники программирование является основой для работы различных вычислительных машин, гаджетов и прочего электронного оборудования. А умение быстро и правильно составить блок-схему алгоритма выступает фундаментом, основой данной науки. Такая схема является графической моделью процессов, которые необходимо выполнять оборудованию. Она состоит из отдельных функциональных блоков, выполняющих различные назначения (начало/конец, ввод/вывод, вызов функции и т. д.).

блок схема алгоритма

Алгоритм и алгоритмизация

По сути, алгоритм является обычной инструкцией о том, в какой последовательности необходимо выполнять те или иные действия при переработке исходных данных в требуемый результат. Наряду с этим термином зачастую используют понятие алгоритмизации. Под ней понимают совокупность способов и приемов составления последовательности для решения конкретных задач.

Часто алгоритм применяется не в качестве инструкции для вычислительной машины, а как схема выполнения каких-либо действий. Это позволяет отметить эффективность и результативность данного способа решения, исправить возможные ошибки, а также сравнить его с другими подобными решениями еще до введения в компьютер. Кроме того, алгоритм представляет собой основу для составления программы, которую необходимо написать на языке программирования, с тем, чтобы в дальнейшем реализовать процесс обработки информации на ПК. На сегодняшний день получили известность два практических способа построения таких последовательностей. Первым является пошаговое словесное описание, а вторым - блок-схема алгоритма задачи. Первый из них получил существенно меньшее распространение. Это объясняется отсутствием наглядности и многословностью. Второй способ, наоборот, является весьма удобным средством изображения последовательности. Он широко распространен как в учебной, так и в научной литературе.

элементы блок схемы алгоритма

Элементы блок-схем

Блок-схема алгоритма программы представляет собой последовательность графических символов, предписывающих выполнение конкретных операций, а также связей между ними. Внутри каждого такого изображения указывается информация о задаче, подлежащей выполнению. Размеры и конфигурация графических символов, а также порядок оформления последовательностей регламентированы ГОСТ 19003-80 и ГОСТ 19002-80.

Рассмотрим основные элементы блок-схемы алгоритма (на фото предоставлены примеры их начертания).

1. Процесс - вычислительное действие либо последовательность таких действий.

2. Решение – проверка заданного условия.

3. Модификация – заголовок цикла.

4. Предопределенный процесс – обращение к процедуре.

5. Документ – печать и вывод данных.

6. Перфокарта – ввод информации.

7. Ввод/Вывод – Ввод/Вывод данных.

8. Соединитель – разрыв линий потока.

9. Начало/Конец – начало, конец, остановка, пуск, вход и выход используются во вспомогательных алгоритмах.

10. Комментарий – используют для размещения пояснительных надписей.

11. Вертикальные и горизонтальные потоки – направление последовательности, линия связи между блоками.

12. Слияние – соединение потоков.

13. Межстраничный соединитель – метка, символизирующая о переходе на другой лист.

блок схемы алгоритмов примеры

Правила начертания

Построение блок-схемы алгоритма осуществляется по конкретным требованиям, прописанным ГОСТ. Например, при соединении графических символов используются только горизонтальные или вертикальные линии. Потоки, направленные справа налево и снизу вверх, обязательно помечаются стрелками. Прочие линии могут не помечаться. Расстояние между параллельными потоками не должно быть меньше трех миллиметров, а между остальными элементами - не менее пяти миллиметров. Размеры блоков должны быть кратными пяти. Отношение горизонтали к вертикали графического символа составляет 1,5. Иногда допускается равное двум. Для удобства описания графические символы следует нумеровать. По характеру связей различают виды блок-схем алгоритма линейной, циклической и разветвляющейся структуры.

составить блок схему алгоритма

Переменные, константы и ячейки памяти

Для лучшего понимания принципа действия алгоритма можно рассмотреть простейший автомат. В его состав входят память, состоящая из ячеек; записывающая/считывающая головка; процессор. В чем заключается принцип работы такого устройства? Головка, получив приказ от процессора, осуществляет запись данных в ячейку либо производит считывание константы. В простейшем случае это будет арифметическое число. Кроме того, константами могут быть структуры данных, строки символов и др. Под переменной понимается ячейка памяти, в которой хранится информация. За время выполнения алгоритма в такой ячейке могут быть записаны различные данные. На этом принципе построены персональные компьютеры и прочая электроника. Алгоритм выполнения какой-либо задачи является набором команд для считывания или записи информации в эти ячейки памяти.

Массивы

Массивы являются еще одной разновидностью индексированных переменных. По сути, это совокупность ячеек, которая объединена общим обозначением. Массивы различают двумерные, трехмерные и т. д. Простейший из них представляет собой ряд последовательных ячеек. Такой массив имеет свое имя. Каждый элемент обладает своим номером – индексом. Константа, записанная в ячейку, называется элементом массива.

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

блок схема алгоритма программы

Линейные алгоритмы

Такой тип последовательности блок-схемы алгоритмов (примеры приведены в этой статье) характеризуется выполнением от начала и до конца сверху вниз. В таком случае автомат выполняет предписанные ему операции шаг за шагом. Каждое действие обрабатывается процессором. Кроме вычислений, он при необходимости приказывает записывающей/считывающей головке, куда и что необходимо записать и откуда считать. Конечный результат записывается в ячейки памяти, каждая из которых имеет свой индекс и хранит свою константу.

Разветвляющиеся алгоритмы

На практике линейный тип встречается крайне редко. Зачастую необходимо организовать последовательность, которая в зависимости от заданных условий протекает по той или иной ветви. Блок-схема алгоритма разветвленного типа содержит элемент «Решение», благодаря которому выполняется проверка определенного условия, и чем их больше, тем больше ветвей у последовательности.

блок схема алгоритма задачи

Блок-схемы алгоритмов: примеры

Рассмотрим, каким образом функционирует разветвленный алгоритм. В качестве примера возьмем функцию: z = y/x. Из условия видно, что данное уравнение обладает одним ограничением – на нуль делить нельзя. Так что необходимо исключить данное решение и предупредить пользователя о возникшей ошибке. Сначала составляется блок-схема алгоритма. Она будет состоять из семи блоков. Первый графический символ – «Начало», второй - «Ввод», здесь следует задать значения Х и Y. Затем следует блок «Решение», в нем проводится проверка условия: Х=0. В данном случае автомат проводит сверку с ячейкой константой, если вводимое значение совпадет с ней, то решение алгоритма пойдет по ветви «Да». В таком случае управление передается четвертому блоку, и автомат выдает «ошибку», работа заканчивается в седьмом символе «Конец». Если результат проверки отрицательный, тогда в пятом графическом символе осуществляется процесс деления и определяется значение Z. В шестом блоке выводится результат на экран.

Циклические алгоритмы

Зачастую при решении задач необходимо повторять выполнение какой-либо операции по одной и той же зависимости при различных значениях переменных и производить неоднократный проход по одному и тому же участку схемы. Такие участки принято называть циклами, а алгоритм - циклическим. Использование данного метода существенно сокращает саму последовательность. Циклические алгоритмы принято делить на два типа: с наперед неизвестным и наперед известным количеством таких проходов.

Пример решения разветвляющегося алгоритма

Рассмотрим пример, в котором дана блок-схема алгоритма с наперед неизвестным количеством проходов. Для этого следует решить задачу – указать наименьшее число членов ряда натуральных чисел, сумма которых превышает число К. Такая блок-схема алгоритма состоит из восьми символов. Вначале вводим значение числа К (№2). Затем в блоке 3 переменная П получает значение «единица», это значит, что с него начнется отсчет натуральных чисел. А накопительная сумма С в начале получает значение «нуль». Далее управление передается в пятый блок, где происходит выполнение команды: С=С+П. То есть происходит суммирование значений ячеек С и П, и результат перезаписывается в С. После сложения первого члена данной последовательности в блоке №6 осуществляется проверка условия – не превышает ли сумма заданное число К? Если условие не выполнено, тогда управление передается четвертому блоку, где к переменной П прибавляется единица и осуществляется переход снова к блоку №5. Данная процедура будет происходить до тех пор, пока не выполнится условие: С>К, то есть накапливаемая сумма превысит заданное значение. Переменная П является счетчиком цикла. Далее происходит переход к блоку №7, где отпечатываются результаты работы.

алгоритм задан блок схемой

Алгоритмы, содержащие структуры вложенных циклов

Часто при алгоритмическом решении поставленной задачи возникает потребность создания цикла, который содержит в своем теле другой цикл. Это считается нормой. Такие элементы называют структурами вложенных циклов. Их порядок может быть достаточно большим. Он определяется методом, благодаря которому достигается решение необходимой задачи. Например, при обработке одномерного массива, как правило, строится блок-схема алгоритма без вложения циклов. И тем не менее в ряде случаев при решении подобных задач возникает необходимость выбора именно такого варианта решения. Следует отметить, что все вложенные циклы, включая первый (наружный), должны содержать счетчики с разными именами. Вне пределов своего цикла они могут использоваться в качестве обычных переменных.

Вспомогательные алгоритмы

Данный тип последовательности является аналогом языковой подпрограммы. Вспомогательный алгоритм имеет имя и параметры, которые называют формальными. Имя дается для того, чтобы отличать его в ряду других, а параметры выполняют роль выходных и входных математических функций. Их выбирают таким образом, чтобы был исчерпан полный набор необходимых величин. Часто один и тот же формальный параметр оказывается одновременно и входным, и выходным. Например, в таком алгоритме на вход может подаваться массив для обработки. А в результирующей части он может быть представлен в измененном виде в качестве выходного параметра. Среди алгоритмов вспомогательного типа различают функции и процедуры.

Декомпозиция алгоритма

Под этим термином понимают разложение общей схемы алгоритма на вспомогательные (функции и процедуры) и головной. Этот метод весьма прост, когда алгоритм задан блок-схемой - сначала из него вычленяют участки, отвечающие за основную работу. Наиболее сложные этапы оформляются как функции и процедуры верхнего уровня. Далее их делят на элементарные участки низкого уровня. Здесь работает принцип «от сложного к простому». Это проводится до тех пор, пока алгоритм не будет разобран на простейшие элементы. Обычно решение декомпозиции последовательности состоит из трех главных этапов: ввода данных, сортировки массива, вывода отсортированного массива. Первый и последний этапы вследствие их элементарности не нуждаются в разложении, поэтому их выполняют в головном алгоритме. А вот второй является весьма сложным самостоятельным фрагментом вычислений, поэтому его обычно выводят в отдельный блок. Этапы сортировки, в свою очередь, делятся на две части: установления необходимости проведения процедуры (N–1)–кратного прохода по заданному массиву и нахождения наименьшего элемента в рассматриваемом фрагменте массива с последующей перестановкой его с начальным элементом участка. Так как последний этап неоднократно повторяется, то его оформляют как отдельную процедуру.

Статья закончилась. Вопросы остались?
Комментарии 0
Подписаться
Я хочу получать
Правила публикации
Редактирование комментария возможно в течении пяти минут после его создания, либо до момента появления ответа на данный комментарий.
Новости и общество
Новости и общество
Новости и общество