Алгоритмы описывают точную и понятную последовательность вычислительных действий на языке программирования.
Каждый алгоритм обладает следующими свойствами:
Пошаговость (Дискретность)
Алгоритм состоит из последовательности пошаговых команд. В самом начале вводится набор исходных данные (входные данные), на основе которых выполняется следующий шаг. Каждая последовательность команд выполняется лишь после того, как закончится выполнение предыдущего шага.
Определенность (Однозначность)
На каждом шаге алгоритма команда производит выполнение строго определенного действия. Однозначность полностью определяет перечень действий, которые необходимо выполнить.
Понятность
Алгоритм должен быть понятным для выполнения, поэтому его разбивают на определенные шаги, которые могут быть без труда выполнены во время прохождения алгоритма.
Результативность
Завершение работы алгоритма происходит за конечное число шагов. Количество шагов может быть изначально не определено, а также разным для исходных данных.
Массовость
Алгоритм содержит и обрабатывает в себе определенное множество данных, которое можно применить для решения задач одинакового типа.
Простейшим языком для описания алгоритма являются графические блок-схемы. Они имеют специальную систему обозначений:
Начало и конец алгоритма
Начало и конец выполнения алгоритма обозначается в виде прямоугольника с закругленными углами
Ввод и вывод данных
Ввод и вывод данных обозначается в виде параллелограмма
Действие
Выполняемое действие алгоритма обозначается в виде квадрата.
Развилка
Развилка используется для обозначения условий и циклов в виде ромба.
Начало цикла с параметром
Начало цикла с параметром обозначается в виде шестиугольника
Процесс
Процессом является процедуры и подпрограммы.
Стрелки
Стрелками обозначаются переходы между блоками алгоритма
Заключение
Есть много различных задач, которые решаются на основе различных алгоритмов. Во многом, большинство задач схожи и для их решения применяются общие алгоритмы. Понимание разных алгоритмов поможет выбрать наиболее правильный для решения той или иной задачи. А какие алгоритмы вам доводится часто применять на практике?
0 комментариев