Билет 6
1. Понятие алгоритма. Исполнитель алгоритма. Система команд исполнителя (на примере учебного исполнителя). Свойства алгоритма. Способы записи алгоритмов; блок-схемы.
Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад (в 825 году) ученый из города Хорезма Абдулла (аль-Хорезми) создал книгу по математике, в которой описал способы выполнения арифметических действий над многозначными числами.
Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.
Мы постоянно сталкиваемся с этим понятием в различных сферах деятельности человека (кулинарные книги, инструкции по использованию различных приборов, правила решения математических задач...). Обычно мы, выполняем привычные действия не задумываясь, механически. Например, вы хорошо знаете, как открывать ключом дверь. Однако чтобы научить этому малыша, придется четко разъяснить и сами эти действия, и порядок их выполнения:
1. Достать ключ из кармана.
2. Вставить ключ в замочную скважину.
3. Повернуть ключ два раза против часовой стрелки.
4. Вынуть ключ.
Свойства алгоритмов:
1. Дискретность - алгоритм должен состоять из конкретных действий, следующих в определенном порядке;
2. Детерминированность- любое действие должно быть строго и недвусмысленно определено в каждом случае;
3. Конечность - каждое действие и алгоритм в целом должны иметь возможность завершения;
4. Массовость - один и тот же алгоритм можно использовать с разными исходными данными;
5. Результативность - отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значений.
Виды алгоритмов:
1. Линейный алгоритм - описание действий, которые выполняются однократно в заданном порядке;
2. Циклический алгоритм - описание действий, которые должны повторятся указанное число, раз или пока не выполнено заданное условие;
3. Разветвляющийся алгоритм - алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий;
4. Вспомогательный алгоритм - алгоритм, который можно использовать в других алгоритмах, указав только его имя.
Исполнитель - объект, который выполняет алгоритм.
На практике наиболее распространены следующие способы записи алгоритмов:
1. В устной форме.
2. В письменной форме на естественном языке.
3. В письменной форме на формальном языке.
Для более наглядного представления алгоритма широко используется графическая форма – блок-схема, которая составляется из стандартных графических объектов.
При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура.
Стандартные графические объекты блок-схемы:
Вид стандартного графического объекта Назначение
Начало алгоритма
Конец алгоритма
Выполняемое действие записывается внутри прямоугольника
Условие выполнения действий записывается внутри ромба
Последовательность выполнения действий
Назначение исполнителя точно выполнить предписания алгоритма, подчас не задумываясь о результате и целях, т.е. формально. Идеальными исполнителями являются машины, роботы, компьютеры...