Понятие алгоритма такое же основополагающее для информатики, как и понятие информации. Название "алгоритм" произошло от латинской формы имени величайшего среднеазиатского математика Мухаммеда ибн Муса ал-Хорезми (Alhorithmi), жившего в 783—850 гг. В своей книге "Об индийском счете" он изложил правила записи натуральных чисел с помощью арабских цифр и правила действий над ними "столбиком", знакомые теперь каждому школьнику. В XII веке эта книга была переведена на латынь и получила широкое распространение в Европе.
Алгоритм – подробное описание последовательности действий, позволяющих решить конкретную задачу. Элементарные действия, на которые разбивается алгоритм, называются инструкциями или командами.
Свойства алгоритма:
· дискретность - представление алгоритма в виде последовательности шагов;
· массовость - применимость алгоритма к некоторому множеству исходных данных;
· определенность - за конечное число шагов либо должен быть получен результат, либо доказано его отсутствие;
· однозначность - при повторном применении алгоритма к тем же исходным данным должен быть получен тот же результат.
На практике наиболее распространены следующие формы представления алгоритмов:
· словесная (запись на естественном языке);
· графическая форма (изображения из графических символов);
· псевдокоды (описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
· программная форма (тексты на языках программирования).
При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.
Такое графическое представление называется схемой алгоритма или блок-схемой. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура. Блоки соединяются линиями переходов, определяющими очередность выполнения действий. В таблице приведены основные блоки.
Блок
Назначение
Начало, конец алгоритма
Ввод значений переменных с клавиатуры
Блок действий, присвоение переменным вычислительных значений
Проверка условия и выбор одного из двух или нескольких возможных путей дальнейшего решения
Блок цикла
Обращение к подпрограмме
Вывод результатов на печать
Правила построения блок-схем:
· блок-схема выстраивается в одном направлении либо сверху вниз, либо слева направо;
· все повороты соединительных линий выполняются под углом 90 градусов.
Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных блоков. Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование, ветвление, цикл. Характерной особенностью базовых структур является наличие в них одного входа и одного выхода. При разработке блок-схемы допускается делать любые записи внутри блоков, однако эти записи должны содержать достаточно информации для выполнения очередных действий.