Вопросы занятия:
· алгоритм;
· свойства алгоритма;
· автоматизация деятельности человека.
Давайте подумаем, каждая ли инструкция или план действий являются алгоритмом. Например, вы собираетесь в поход и вам нужно собрать рюкзак.
Список вещей в поход:
· блокнот, ручка;
· пластиковый лоток или миска, кружка, ложка;
· нож, топорик;
· часы;
· карта, компас;
· налобный фонарик, батарейки к нему;
· зажигалка (спички), сухой спирт (на случай мокрой погоды), свечи;
· горелка и газовый баллончик;
· верёвка обычная бельевая;
· котелок 1-1,5 литра.
С одной стороны, у вас есть инструкция, какие вещи необходимо взять с собой, но с другой стороны вы можете что-то забыть или, например, у вас нет топорика, который прописан в списке, то есть вы самостоятельно можете что-то заменить, отменить или передумать и не делать, предположим вам рюкзак соберёт мама. Как вы думаете это пример алгоритма или нет? Конечно же, нет.
Давайте выделим основные свойства, при выполнении которых некий порядок действий следует считать алгоритмом.
Первое свойство дискретности – т.е. когда весь путь решения задачи делится на отдельные этапы. Где каждый этап может быть выполнен по определённому предписанию или команде. Причём выполнив одну команду, исполнитель знает к какой команде, из заданной системы команд алгоритма, следует переходить далее. (Например, нахождение среднего арифметического двух чисел – если поменять пункты местами, то задача не будет решена).
Второе свойство понятности – это значит, что алгоритм состоит из команд, которые может выполнить данный исполнитель. То есть все команды входят в систему команд исполнителя. (Например, светофор предназначен для регулирования дорожного движения и использовать его, например, для освещения улиц нельзя)
Третье свойство определённости – означает, что все команды толкуются только однозначно, исполнителю ясен и понятен весь процесс исполнения команд, т.е. он знает, какую команду следует исполнять дальше после выполнения предыдущей команды. Исходя из этого при одинаковом наборе исходных данных, результат должен получаться всегда одинаковым. Например, дан угол. Необходимо провести биссектрису. (Есть способ, как, пользуясь линейкой и циркулем, можно решить эту задачу.)
Следующее свойство результативности – это значит, что любой алгоритм должен быть конечным. Т.е. при выполнении определённого количества шагов, даже очень большого должен быть получен результат. Причём результатом может быть, как определённый ответ, так и вывод что задача решения не имеет. (Пример этого свойства - поход в магазин)
И последнее свойство массовости – это значит, что алгоритм может быть применён для решения любой задачи из некоторого класса задач. Например, алгоритм смешивания сухого молока для кормления ребёнка должен быть применён для любого его количества. Или алгоритм решения задач на нахождение неизвестного должен быть применён к любому уравнению, содержащему х.
Рассмотрим пример: из чисел 112, 144, 153, 168, 195 выписать те, которые кратны 12.
Итак, для того чтобы найти числа кратные 12 нужно знать признак делимости на 12. Итак, число делится на 12, если оно одновременно делится на 4 и делится на 4. То есть:
1. если сумма всех цифр этого числа делится на 3;
2. и число, составленное из двух последних цифр этого числа, делится на 4.
Рассмотрим решение. Из предложенного набора чисел можно сразу исключить нечётные числа 153 и 195, так как они не делятся на 4. Оставшиеся числа делятся на 4, потому что числа 12, 44, 68, составленные из их двух последних цифр, кратны 4.
Далее определим, какие из чисел 112, 144, 168 делятся на 3. Найдём суммы их цифр: 1 + 1 + 2 = 4 – не делится на 3.
1 + 4 + 4 = 9 – делится на 3.
1 + 6 + 8 = 15 – делится на 3.
Следовательно, числа 144 и 168 кратны 3. Значит, они же кратны 12.
Данный пример является алгоритмом, так как:
1. Процесс нахождения чисел кратных двенадцати разбит на шаги, значит он удовлетворяет свойству дискретности
2. Каждая команда понятна ученикам, они знают и умеют выполнять данные действия, значит свойство понятности выполнено.
3. Ученики выполняют данные действия однозначно и в строгой очерёдности – свойство определённости соблюдено.
4. Ученики получают результат – свойство результативности так же выполнено.
5. Данный алгоритм применяется для любого натурального числа, значит свойство массовости также выполнено.
Теперь дадим определение алгоритму исходя из рассмотренных свойств.
Алгоритм – это определённая последовательность действий, предназначенная для конкретного исполнителя, приводящая к требуемому результату, причём данная последовательность обладает свойствами дискретности, понятности, определённости, результативности и массовости.
Перейдём к следующему вопросу - Возможность автоматизации деятельности человека.
Давайте обратимся к истории и вспомним те далёкие времена, когда всю нудную, тяжёлую и механическую работу выполнял человек.
Сейчас все компьютеризировано. Роботы на заводах делают все автоматически, человек только нажимает на нужные кнопки. Роботы выполняют работу по заданному им алгоритму, никогда не отходя от конечной цели. Данные алгоритмы им задали программисты и инженеры. Вы понимаете, что такая работа – как разработка алгоритма трудоёмкая задача, но результат от этой работы окупает все затраты времени и сил.
После составления готового алгоритма роботу или человеку, то есть исполнителю достаточно только строго следовать заданным параметрам.
Рассмотрим пример всем известной игры «Крестики-нолики»
Крестики-нолики — логическая игра между двумя противниками на квадратном поле три на три клетки или большего размера. Один из игроков играет «крестиками», второй — «ноликами».
Для каждого игрока известны алгоритмы, которые гарантируют ничью при любой игре противника, а при его ошибке позволяют выиграть. Таким образом, игра находится в состоянии «ничейной смерти».
Ниче́йная смерть — это этап развития логической игры (обычно речь идёт о настольных играх, таких как шахматы, шашки, и других), когда разработанность теории достигает уровня, позволяющего любому владеющему теорией игроку, независимо от квалификации противника, свести партию в худшем случае к ничьей.
Итак, рассмотрим алгоритм игры, которая приводит к победе или ничьей, например, играющего за крестики.
Первый ход сделать в центр. Остальные ходы делаются в тот из свободных углов, который дальше всего от предыдущего хода ноликов, а если и это невозможно — в любую клетку.
Если нолик пойдёт на сторону, то позиция (с точностью до симметрии) окажется следующей:
Если же нолик пойдёт в угол, позиция (с точностью до симметрии) будет следующая:
В зависимости от следующего хода нолика, возникнет одна из трёх позиций (пауза)
В первой и третьей позиции — выигрыш. Во второй — ничья.
Аналогично может поступать нолик.
То есть Исполнитель может не вникать в смысл того, что он делает, и не рассуждать, почему он поступает так, а не иначе, т. е. он может действовать формально. Способность исполнителя действовать формально обеспечивает возможность автоматизации деятельности человека. Для этого:
1. Процесс решения задачи представляется в виде последовательности простейших операций;
2. Создаётся машина (автоматическое устройство), способная выполнять эти операции в последовательности, заданной в алгоритме;
3. Человек освобождается от рутинной деятельности, выполнение алгоритма поручается автоматическому устройству.
Перейдём к практической части урока.
Рассмотрим пример: Последовательность чисел строится по следующему алгоритму:
• Первые два числа последовательности принимаются равными восьми;
• Затем для вычисления каждого последующего числа последовательности необходимо:
1. Найти произведение всех предыдущих членов последовательности;
2. В полученном числе взять первую цифру (цифру старшего разряда) и вычесть из него в начале число ноль, в следующий раз число один, потом два и т.д.
Нам необходимо записать первые шесть членов данной последовательности.
Итак, по условию известно, что первые два числа данной последовательности равны 8. Запишем данные числа.
Теперь, чтобы найти следующий член последовательности нужно:
• найти произведение предыдущих членов, то есть 8*8=64.
• теперь берём первую цифру полученного числа 6 и по правилу из него нужно вычесть 0. Получаем 6. Это третий член нашей последовательности.
Найдём 4-й член последовательности. Теперь нужно перемножить три числа, то есть 8*8*6=384. Берём первую цифру полученного числа – 3 и отнимаем 1. Получим 2 – это 4-й член последовательности.
Далее 8*8*6*2=768. Теперь нужно 7-2. В результате получим число 5 – это 5-й член последовательности.
Чтобы найти следующий член последовательности нужно 8*8*6*2*5=3840. Теперь 3-3. Значит 6-й член последовательности 0.
В результате мы получили следующую последовательность 8, 8, 6, 2, 5 и 0.
Пришло время подвести итоги урока.
Алгоритм — предназначенное для конкретного исполнителя описание последовательности действий, приводящих от исходных данных к требуемому результату.
Основные свойства, при выполнении которых некий порядок действий следует считать алгоритмом - это свойства дискретности, понятности, определённости, результативности и массовости.
Способность исполнителя действовать формально обеспечивает возможность автоматизации деятельности человека.