Алгоритм — это упорядоченный набор однозначных выполнимых шагов.
Лекция 5. Алгоритмы.
Набор шагов должен быть упорядочен. Должен состоять из выполнимых шагов. Шаги должны быть однозначными - для выполнения каждого шага должно требоваться не наличие творческих способностей, а только способность следовать указаниям. Алгоритм определяет конечный процесс, то есть выполнение алгоритма должно когда-нибудь закончиться
Основные свойства алгоритмов:
1. понятность для исполнителя
2. дискретность (процесс решения задачи представляется как последовательность выполнения простых шагов)
3. определенность (однозначность)
4. конечность (должен приводить к решению задачи за конечное число шагов)
5. универсальность (должен быть применим для некоторого класса задач, область применения алгоритма)
Для представления алгоритма требуется язык представления: естественный, картинок, блок-схем.
При естественном представлении алгоритм можно понять неправильно, потому что используемые термины могут иметь несколько значений. Неправильное понимание также может возникнуть из-за недостаточной степени детализации алгоритма. Блок-схемы полезны, когда целью является графическое изображение алгоритма. В вычислительной технике с помощью строго определенного набора стандартных блоков модет быть построено представление алгоритма. Такие стандартные блоки называют примитивами. Также используется представление алгоритма в виде псевдокода, в соответствии с которым алгоритмы записываются с помощью строго определенных текстовых структур.
Например, элементы псевдокода:
1) присваивание значения а¬в+2
2)условие if (условие) then (действие1) else (действие2)
3)исполнение действий, пока условие истинно while (условие) do (действие)
Программа является одним из видов представления алгоритма. Специалисты в области вычислительной техники используют термин «программа» по отношению к формальному представлению алгоритма, разработанному для прикладной вычислительной системы (для ЭВМ).
Ранее говорилось о процессе, как о действии по выполнению программы. Но выполнить программу, означает выполнить алгоритм, представленный этой программой. Поэтому процесс также можно определить как действия по выполнению алгоритма. Таким образом, программы, алгоритмы и процессы являются разными, хотя и взаимосвязанными сущностями. Программа является представлением алгоритма, а процесс является выполнением алгоритма.
Процесс решения задач имеет творческую природу. Нестрогие этапы решения задач (Г.Пойа, 1945): 1) понять задачу, 2) разработать план решения задачи, 3) выполнить план, 4) оценить точность решения и его возможности как инструмента для решения других задач.