Определение и свойства алгоритма
Происхождение понятия «алгоритм» В IX веке математик Мухаммед аль-Хорезми описал правила выполнения четырех арифметических действий в десятичной системе счисления. Эти правила были изложены Мухаммедом в книге по математике, изданной в 825 году. Позже в Европе эти приемы назвали алгоритмами, от Algorithmi – латинского написания имени аль- Хорезми. В наше время понятие алгоритма понимается шире, не ограничивается только арифметическими вычислениями. Мухаммед аль-Хорезми ( )
Исполнитель алгоритма Игра Боше. Играют двое. Перед ними 21 предмет, допустим, камни (также может быть 11, 16, 26 и т.д.). Игроки берут камни по очереди. За один ход можно взять 1, 2, 3, 4 камня. Проигрывает тот, кто забирает последний камень. Алгоритмом – это последовательность команд по управлению каким-либо объектом. Исполнитель алгоритма – это тот объект, для управления которым составлен алгоритм. Выигрышный алгоритм: Игра Боше 1. Предоставить ход сопернику. 2. Взять столько камней, чтобы в сумме с предыдущим ходом соперника получилось Если остался один камень, то объявить о своём выигрыше, иначе вернуться к выполнению пункта 1.
Свойства алгоритма системой команд исполнителя Множество команд управления исполнителем называется системой команд исполнителя (СКИ) Данные Алгоритм Исполнитель Результат Только имея полный набор данных, можно решить задачу. Конечность каждое действие и алгоритм в целом должны иметь возможность завершения Результативность алгоритм должен приводить к правильному результату для всех допустимых входных значениях Детерминированность любое действие должно быть строго и недвусмысленно определено в каждом случае Дискретность алгоритм должен состоять из конкретных действий, следующих в определенном порядке Массовость один и тот же алгоритм можно использовать с разными исходными данными
Определение алгоритма Алгоритм Алгоритм – конечный набор точных и понятных предписаний (правил, инструкций, команд), позволяющих чисто механически (формально) решать любую конкретную задачу из некоторого класса однотипных задач. Результативность алгоритм должен приводить к правильному результату для всех допустимых входных значениях Конечность каждое действие и алгоритм в целом должны иметь возможность завершения Детерминированность любое действие должно быть строго и недвусмысленно определено в каждом случае Дискретность алгоритм должен состоять из конкретных действий, следующих в определенном порядке Массовость один и тот же алгоритм можно использовать с разными исходными данными
Виды алгоритмов Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке). Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено задание). Разветвляющий алгоритм (алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий). Вспомогательный алгоритм (алгоритм, который можно использовать в других алгоритмах, указав только его имя).
Способы представления алгоритма В устной форме. В письменной форме на естественном языке. В письменной форме на формальном языке. Для более наглядного представления алгоритма широко используется графическая форма - блок- схема, которая составляется из стандартных графических объектов.
Язык блок-схем Вид стандартного графического объекта Назначение НАЧАЛО или КОНЕЦ алгоритма Выполняемое ДЕЙСТВИЕ записывается внутри прямоугольника УСЛОВИЕ выполнения действий записывается внутри ромба СЧЕТЧИК кол-во повторов Ввод данных / Вывод результата
ВОПРОСЫ Что такое алгоритм? Приведите примеры алгоритмов. Какие свойства алгоритмов вы знаете? Какие виды алгоритмов вы знаете? Какие способы записи алгоритмов вы знаете? Что такое исполнитель алгоритмов? Что такое программа?