Блок-схема алгоритма: программы, задачи, элементы, построение
В современном мире цифровой техники программирование является основой для работы разных вычислительных машин, девайсов и остального электрического оборудования. А умение стремительно и верно составить блок-схему метода выступает фундаментом, основой данной науки. Такая схема является графической моделью процессов, которые нужно делать оборудованию. Она состоит из отдельных многофункциональных блоков, выполняющих разные предназначения (начало/конец, ввод/вывод, вызов функции и т. д.).
Метод и алгоритмизация
На самом деле, метод является обыкновенной аннотацией о том, в какой последовательности нужно делать те либо другие деяния при переработке начальных данных в требуемый итог. Вместе с этим термином часто употребляют понятие алгоритмизации. Под ней понимают совокупа методов и приемов составления последовательности для решения определенных задач.
Нередко метод применяется не в качестве аннотации для вычислительной машины, как схема выполнения каких-то действий. Это позволяет отметить эффективность и результативность данного метода решения, поправить вероятные ошибки, также сопоставить его с другими схожими решениями еще до введения в компьютер. Не считая того, метод представляет собой базу для составления программки, которую нужно написать на языке программирования, с тем, чтоб в предстоящем воплотить процесс обработки инфы на ПК. На сегодня получили известность два практических метода построения таких последовательностей. Первым является пошаговое словесное описание, а вторым — блок-схема метода задачки. 1-ый из их получил значительно наименьшее распространение. Это разъясняется отсутствием наглядности и многословностью. 2-ой метод, напротив, является очень комфортным средством изображения последовательности. Он обширно всераспространен как в учебной, так и в научной литературе.
Элементы блок-схем
Блок-схема метода программки представляет собой последовательность графических знаков, предписывающих выполнение определенных операций, также связей меж ними. Снутри каждого такового изображения указывается информация о задачке, подлежащей выполнению. Размеры и конфигурация графических знаков, также порядок дизайна последовательностей регламентированы ГОСТ 19003-80 и ГОСТ 19002-80.
Разглядим главные элементы блок-схемы метода (на фото предоставлены примеры их начертания).
1. Процесс — вычислительное действие или последовательность таких действий.
2. Решение – проверка данного условия.
3. Модификация – заголовок цикла.
4. Предопределенный процесс – воззвание к процедуре.
5. Документ – печать и вывод данных.
6. Перфокарта – ввод инфы.
7. Ввод/Вывод – Ввод/Вывод данных.
8. Соединитель – разрыв линий потока.
9. Начало/Конец – начало, конец, остановка, запуск, вход и выход употребляются во вспомогательных методах.
10. Комментарий – употребляют для размещения объяснительных надписей.
11. Вертикальные и горизонтальные потоки – направление последовательности, линия связи меж блоками.
12. Слияние – соединение потоков.
13. Межстраничный соединитель – метка, символизирующая о переходе на другой лист.
Правила начертания
Построение блок-схемы метода осуществляется по определенным требованиям, прописанным ГОСТ. К примеру, при соединении графических знаков употребляются только горизонтальные либо вертикальные полосы. Потоки, направленные справа влево и снизу ввысь, непременно помечаются стрелками. Остальные полосы могут не помечаться. Расстояние меж параллельными потоками не должно быть меньше 3-х мм, а меж остальными элементами — более 5 мм. Размеры блоков должны быть кратными 5. Отношение горизонтали к вертикали графического знака составляет 1,5. Время от времени допускается равное двум. Для удобства описания графические знаки следует нумеровать. По нраву связей различают виды блок-схем метода линейной, повторяющейся и разветвляющейся структуры.
Переменные, константы и ячейки памяти
Для наилучшего осознания принципа деяния метода можно разглядеть простой автомат. В его состав входят память, состоящая из ячеек; записывающая/считывающая головка; микропроцессор. В чем заключается механизм работы такового устройства? Головка, получив приказ от микропроцессора, производит запись данных в ячейку или производит считывание константы. В простом случае это будет арифметическое число. Не считая того, константами могут быть структуры данных, строчки знаков и др. Под переменной понимается ячейка памяти, в какой хранится информация. За время выполнения метода в таковой ячейке могут быть записаны разные данные. На этом принципе построены индивидуальные компы и иная электроника. Метод выполнения какой-нибудь задачки является набором команд для считывания либо записи инфы в эти ячейки памяти.
Массивы
Массивы являются очередной разновидностью индексированных переменных. На самом деле, это совокупа ячеек, которая объединена общим обозначением. Массивы различают двумерные, трехмерные и т. д. Простой из их представляет собой ряд поочередных ячеек. Таковой массив имеет свое имя. Каждый элемент обладает своим номером – индексом. Константа, записанная в ячейку, именуется элементом массива.
Двумерный тип по собственному расположению частей припоминает матрицу. Ячейки в таком массиве характеризуются 2-мя индексами (это припоминает шахматную доску с нумерацией клеток). По такому же принципу реализованы трехмерные и больше структуры.
Линейные методы
Таковой тип последовательности блок-схемы алгоритмов (примеры приведены в этой статье) характеризуется выполнением от начала и до конца сверху вниз. В таком случае автомат делает предписанные ему операции шаг за шагом. Каждое действие обрабатывается микропроцессором. Не считая вычислений, он по мере надобности приказывает записывающей/считывающей головке, куда и что нужно записать и откуда считать. Конечный итог записывается в ячейки памяти, любая из которых имеет собственный индекс и хранит свою константу.
Разветвляющиеся методы
На практике линейный тип встречается очень изредка. Часто нужно организовать последовательность, которая зависимо от данных критерий протекает по той либо другой ветки. Блок-схема метода разветвленного типа содержит элемент «Решение», с помощью которого производится проверка определенного условия, и чем их больше, тем больше веток у последовательности.
Блок-схемы алгоритмов: примеры
Разглядим, каким образом работает разветвленный метод. В качестве примера возьмем функцию: z = y/x. Из условия видно, что данное уравнение обладает одним ограничением – на нуль разделять нельзя. Так что нужно исключить данное решение и предупредить юзера о появившейся ошибке. Поначалу составляется блок-схема метода. Она будет состоять из 7 блоков. 1-ый графический знак – «Начало», 2-ой — «Ввод», тут следует задать значения Х и Y. Потом следует блок «Решение», в нем проводится проверка условия: Х=0. В этом случае автомат проводит сверку с ячейкой константой, если вводимое значение совпадет с ней, то решение метода пойдет по ветки «Да». В таком случае управление передается четвертому блоку, и автомат выдает «ошибку», работа завершается в седьмом знаке «Конец». Если итог проверки отрицательный, тогда в 5-ом графическом знаке осуществляется процесс деления и определяется значение Z. В шестом блоке выводится итог на экран.
Циклические методы
Часто при решении задач нужно повторять выполнение какой-нибудь операции по одной и той же зависимости при разных значениях переменных и создавать многократный проход по одному и тому же участку схемы. Такие участки принято именовать циклами, а метод — повторяющимся. Внедрение данного способа значительно уменьшает саму последовательность. Циклические методы принято разделять на два типа: с наперед неведомым и наперед известным количеством таких проходов.
Пример решения разветвляющегося метода
Разглядим пример, в каком дана блок-схема метода с наперед неведомым количеством проходов. Для этого следует решить задачку – указать меньшее число членов ряда натуральных чисел, сумма которых превосходит число К. Такая блок-схема метода состоит из восьми знаков. Сначала вводим значение числа К (№2). Потом в блоке 3 переменная П получает значение «единица», это означает, что с него начнется отсчет натуральных чисел. А накопительная сумма С сначала получает значение «нуль». Дальше управление передается в 5-ый блок, где происходит выполнение команды: С=С+П. Другими словами происходит суммирование значений ячеек С и П, и итог перезаписывается в С. После сложения первого члена данной последовательности в блоке №6 осуществляется проверка условия – не превосходит ли сумма данное число К? Если условие не выполнено, тогда управление передается четвертому блоку, где к переменной П прибавляется единица и осуществляется переход опять к блоку №5. Данная процедура будет происходить до того времени, пока не выполнится условие: С>К, другими словами накапливаемая сумма превзойдет данное значение. Переменная П является счетчиком цикла. Дальше происходит переход к блоку №7, где отпечатываются результаты работы.
Методы, содержащие структуры вложенных циклов
Нередко при алгоритмическом решении намеченной цели появляется потребность сотворения цикла, который содержит в собственном теле другой цикл. Это считается нормой. Такие элементы именуют структурами вложенных циклов. Их порядок может быть довольно огромным. Он определяется способом, с помощью которого достигается решение нужной задачки. К примеру, при обработке одномерного массива, обычно, строится блок-схема метода без вложения циклов. И все же в ряде всевозможных случаев при решении схожих задач появляется необходимость выбора конкретно такового варианта решения. Необходимо подчеркнуть, что все вложенные циклы, включая 1-ый (внешний), должны содержать счетчики с различными именами. Вне пределов собственного цикла они могут употребляться в качестве обыденных переменных.
Вспомогательные методы
Данный тип последовательности является аналогом языковой подпрограммы. Вспомогательный метод имеет имя и характеристики, которые именуют формальными. Имя дается для того, чтоб отличать его в ряду других, а характеристики делают роль выходных и входных математических функций. Их выбирают таким макаром, чтоб был исчерпан полный набор нужных величин. Нередко один и тот же формальный параметр оказывается сразу и входным, и выходным. К примеру, в таком методе на вход может подаваться массив для обработки. А в результирующей части он может быть представлен в модифицированном виде в качестве выходного параметра. Посреди алгоритмов вспомогательного типа различают функции и процедуры.
Декомпозиция метода
Под этим термином понимают разложение общей схемы метода на вспомогательные (функции и процедуры) и головной. Этот способ очень прост, когда метод задан блок-схемой — поначалу из него вычленяют участки, отвечающие за основную работу. Более сложные этапы оформляются как функции и процедуры верхнего уровня. Дальше их делят на простые участки малого уровня. Тут работает принцип «от сложного к обычному». Это проводится до того времени, пока метод не будет разобран на простые элементы. Обычно решение декомпозиции последовательности состоит из 3-х основных шагов: ввода данных, сортировки массива, вывода отсортированного массива. 1-ый и последний этапы вследствие их элементарности не нуждаются в разложении, потому их делают в головном методе. А вот 2-ой является очень сложным самостоятельным куском вычислений, потому его обычно выводят в отдельный блок. Этапы сортировки, в свою очередь, делятся на две части: установления необходимости проведения процедуры (N–1)–кратного прохода по данному массиву и нахождения меньшего элемента в рассматриваемом куске массива с следующей перестановкой его с исходным элементом участка. Потому что завершающий шаг не один раз повторяется, то его оформляют как отдельную функцию.