- •Глава 1. Методические особенности изучения алгоритмизации.
- •§1. Подходы к изучению алгоритмизации.
- •§2.Методика введения понятия алгоритма
- •§3. Методика обучения алгоритмизации на учебных исполнителях, работающих «в обстановке».
- •§4. Методические проблемы изучения алгоритмов работы с величинами
- •Глава 2. Разработка заданий по теме: «Алгоритмизация».
- •Задание 1: Закончить фразу, выбрав один вариант ответа из числа предложенных:
- •1.1 Блок-схема это...
- •§2. Задания, выполнение которых осуществляется в лого – среде.
- •3.2Пользуясь процедурой рисования треугольника из первого задания, необходимо нарисовать «бантик».
- •Вариант 1
- •Вариант 4
§2.Методика введения понятия алгоритма
Определение и свойства алгоритма. В подходах к определению алгоритма в разных учебниках четвертого поколения имеются заметные различия. В учебнике [] при раскрытии понятия алгоритма рассматривается кибернетическая модель системы управления, в которой управляющий объект и объект управления связаны между собой каналами прямой и обратной связи. Алгоритм есть последовательность команд, которая передается от управляющего через канал прямой связи к объекту управления. Исполнителем алгоритма является объект управления, поскольку именно он осуществляет действия, предписываемые командами алгоритма. Например, офицер голосом отдает команды солдату и тот четко выполняет их. Солдат здесь является объектом управления, а стало быть, исполнителем алгоритма.
В учебнике []сказано: «Алгоритмы широко используются в технике в системах управления объектами. В любой системе управления существует управляющий объект, который является исполнителем алгоритма управления». Утверждение противоположное тому, что дается в [11] Приводится пример управления обогревателем воздуха со стороны человека, наблюдающего за температурой в помещении. Делается утверждение, что исполнителем алгоритма является человек.
В системах управления, где роль управляющего выполняет человек, следует различать две ситуации:
человек управляет действиями другого объекта — объекта управления;
человек управляет собственными действиями.
Примеры первой ситуации: командир управляет солдатами,
директор управляет рабочим коллективом, регулировщик дорожного движения управляет водителями и пешеходами. Примеры второй ситуации: повар готовит пищу, ученик решает задачу по математике, шахматист играет в шахматы. Во всех случаях человек осуществляет управление согласно определенным правилам- алгоритма.
Примеры первого типа назовем внешним управлением. Примеры второго типа можно назвать самоуправлением. В ситуации самоуправления человек является одновременно и управляющим и объектом управления, а стало быть, исполнителем алгоритма управления. Пример с нагревателем - это ситуация самоуправления: человек управляет собственными действиями в целях поддержки определенного температурного режима в помещении. Он отдает себе команды:
посмотреть температуру воздуха на термометре;
если температура ниже определенной величины, то включить нагреватель.
И сам же их исполняет. В примерах внешнего управления объектами управления и исполнителями алгоритмов управления являются: солдат, рабочий коллектив, водители автотранспорта и пешеходы.
Из сказанного следует, что как для ситуации внешнего управления, так и для самоуправления справедливо утверждение: исполнителем алгоритма является объект управления.
То же самое можно говорить и о компьютере, рассматривая ситуации внешнего управления в режиме реального времени (производственной или экспериментальной установкой, космическим кораблем) и самоуправления (выполнение расчетов с выводом результатов на экран или принтер). Разница состоит в том, что человек может сам программировать свои действия, а работа компьютера программируется человеком. Однако после того как человек занес в память компьютера программу, далее компьютер работает как управляющая или самоуправляемая система.
В учебнике [] введение понятия алгоритма не связывается с кибернетической моделью процессов управления. Определение алгоритма не опирается на понятие исполнителя: «Алгоритм- описание последовательности действии (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов» [3, с. 143].
Далее говорится о том, что создание алгоритма проходит три стадии. «Первая стадия - разработка приближенного алгоритма, ориентированного на создающего его человека: определить цель, для достижения которой будет создан алгоритм; наметить приближенный план действий для достижения поставленной цели» [3, с. 160]. Все положения иллюстрируются на задачах бытового типа: собраться в путешествие, подготовить поздравление с праздником, заточить карандаши и т.п. В связи с тем, что на этом этапе не вводится понятия исполнителя и системы команд исполнителя, среди свойств алгоритма отсутствует свойство понятности, т.е. требования, чтобы алгоритм составлялся только из команд СКИ исполнителя.
«Вторая стадия — детализация алгоритма с учетом специфики среды и других объектов: выбрать среду и объекты, посредством которых алгоритм будет реализован; детализовать алгоритм с учетом особенностей выбранной среды».
Понятие об исполнителе алгоритма появляется на третьей стадии: «…на которой алгоритм должен быть представлен в форме, понятной Исполнителю» [13, с. 164]. Остается непонятным, в чем разница между «средой и объектами» на второй стадии и «исполнителем» на третьей стадии. Далее говорится о том, что если исполнителем является компьютер, то на третьей стадии алгоритм переходит в программу.
Во всех учебниках приводится перечень свойств алгоритма: дискретность, точность (детерминированность), конечность, массовость. Сделаем небольшой комментарий по поводу последнего свойства. «Свойство массовости выражается в том, что алгоритм единым образом применяется к любой конкретной формулировке задачи, для решения которой он разработан» [7]. Другими словами, это можно назвать универсальностью алгоритма по отношению к исходным данным решаемой задачи. Заметим, что данное свойство не является необходимым свойством алгоритма, а скорее определяет качество алгоритма: универсальный алгоритм лучше не универсального (алгоритм решения частной задачи — тоже алгоритм!).
Чрезмерная «бытовизация» темы идет во вред дидактическому принципу научности обучения информатике. С позиции научности при раскрытии понятия алгоритма в большей степени следует использовать формализованные системы. Во всех учебниках говориться о происхождении понятия алгоритма: от правил выполнения операций над многозначными десятичными числами, сформулированными Аль Хорезми. Это формализованная знаковая система. Теория алгоритмов, возникшая в 30-х годах XX в., строилась на формализованных знаковых системах: машины Поста и Тьюринга, алгоритмы Маркова. Существует опыт преподавания темы алгоритмов в школе с использованием таких систем. Можно возразить, что такой подход слишком сложен для массовой школы. Но и учебные исполнители алгоритмов, о которых говорилось ранее, тоже являются формализованными системами, которые позволяют методически корректно вводить основные понятия и обучать практическим навыкам в алгоритмизации. Причем еще с большим успехом это делается на пропедевтической ступени изучения информатики («Роботландия», «Алгоритмика»).
Основные типы учебных алгоритмических задач. Для закрепления основных понятий, связанных с определением алгоритма, полезно рассмотреть с учениками несколько заданий следующего содержания:
выполнить роль исполнителя: дан алгоритм, формально исполнить его;
определить исполнителя и систему команд для данного вида работы;
в рамках данной системы команд построить алгоритм;
определить необходимый набор исходных данных для решения задачи.
В результате обучения учащиеся должны:
знать (понимать): понятие «алгоритм», основные свойства алгоритма, роль алгоритма в системах управления, устройства управления у различных исполнителей могут быть одинаковыми;
уметь: определять примерный набор допустимых действий для решения данного класса задач;
использовать приобретенные знания и умения в практической деятельности и повседневной жизни: распознавать, подходит ли данный исполнитель для решения задач изданного класса.