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