Алгоритм и его свойства. Виды и формы записи алгоритмов
В своей жизни человек постоянно сталкивается с различными инструкциями: путеводителями, книгами по приготовлению пищи, лечебниками и т.п. - предписывающими порядок действий для получения результата. В математике для решения задачи также нужно выполнить определенную последовательность действий с исходными данными, чтобы получить искомый результат. Такие последовательности действий получили название - алгоритм.
Алгоритм это точное и понятное предписание исполнителю на выполнение последовательности действий, приводящих к достижению поставленной цели или получению искомого результата.
К алгоритмам, составленным для технических средств предъявляются повышенные требования. Алгоритм для технического средства называют также программой.
Алгоритм состоит из отдельных команд. Команды выполняются последовательно одна за другой, если нет условия при котором меняется порядок выполнения команд.
Массовость - возможность применения алгоритма для множества решений при различных исходных данных. При этом исходные данные вводятся в алгоритм во время решения, а не находятся в нем изначально.
Понятность - доступность выполнения исполнителем любой команды алгоритма.
Определенность - отсутствие неоднозначных толкований в алгоритме.
Конечность - завершение алгоритма за конечное число шагов. Под шагом понимают выполнение одной команды алгоритма.
Результативность - обязательное получение результата после завершения исполнения алгоритма.
Однозначность - получение одинаковых результатов при одинаковых исходных данных, независимо от числа решений этого алгоритма и его исполнителя.
По виду алгоритмы бывают: линейными, разветвляющимися, циклическими и смешанными.
Линейным называется алгоритм, команды которого выполняются последовательно обна за другой один раз.
Разветвляющимся называется алгоритм, в котором в зависимости в зависимости от выполнения поставленного условия или его невыполнения, исполняются разные последовательности команд, называемые ветвями.
Циклическим называется алгоритм, в котором некоторая последовательность команд, называемая циклом, повторяется заданное число раз. После этого продолжается последовательное исполнение алгоритма.
Смешанным называется алгоритм, в котором присутствуют циклы и ветви.
Алгоритмы, которыми пользуется человек могут быть записаны словесно в виде текстов, на специальном алгоритмическом языке или в виде блок-схем. Чтение алгоритма в виде текста не требует специальной подготовки, но тексты получаются объемные и ненаглядные. Алгоритмический язык позволяет значительно сократить запись и сделать ее более строгой, но это требует дополнительной подготовки. Наибольшей наглядностью обладают алгоритмы, записанные в виде блок-схем.
Блок-схема - графическое описание алгоритма в виде плоских геометрических фигур, соединенных линиями связи со стрелками, указывающими направление вычислительного процесса.
Начало и конец алгоритма обозначаются кругом или овалом. Внутри блока начала записывается имя алгоритма или слово - начало. Внутри блока конца записывается слово - конец. Блок начала имеет только одну исходящую линию связи, а блок конца только входящие линии связи.
Вычислительный блок или блок переработки информации имеет форму прямоугольника, внутри которого записывается имя переменной значение которой вычисляется, знак присваивания из двух символов - := и вычисляемое выражение. Блок переработки имеет одну исходящую линию связи и хотя бы одну входящую.
Блоки ввода и вывода информации или блок преобразования информации имеет форму параллелограмма. Внутри него записывается список переменных, значения которых необходимо ввести или вывести. В блок преобразования может входить не менее одной линии связи и выходить из него только одна линия связи.
Блок перехода по условию имеет форму ромба. Внутри него записывается условие на которое можно ответить да или нет. Блок имеет две исходящие линии, обозначенные словами: ДА или НЕТ. В зависимости от ответа на условие процесс исполнения алгоритма пойдет по соответствующей линии связи. Блок имеет одну или несколько входящих линий связи. Блок перехода по условию предназначен для организации разветвляющихся алгоритмов.
Блок модификации предназначен для организации циклических алгоритмов и имеет форму шестиугольника. Внутри шестиугольника записывается слово ДЛЯ имя модифицируемой, т.е. изменяемой по определенному закону, переменной. Обычно переменная изменяется от своего начального значения до конечного последовательно, путем прибавления к ней константы, называемой шагом. Поэтому в блоке записывается после имени переменной слово ОТ, после него имя переменной, обозначающей начальное значение, затем записывается слово ДО и имя переменной, обозначающей конечное значение, а затем после слов С ШАГОМ записывается имя переменной для обозначения значений шага. Шаг представляет собой разность текущего и предыдущего значения модифицируемой переменной. Начальное, конечное значение и значение шага могут быть заданы и константами. Блок модификации должен иметь как минимум две входящие линии и только две исходящие линии. Одна из исходящих линий проходит блоки цикла и возвращается на блок модификации, другая показывает направление исполнения алгоритма после исполнения цикла заданное число раз.
Блок схема или любая другая форма записи алгоритмов могут служить основой для составления программ, т.е. алгоритмов для технических средств на специальных языках.