Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Методика введения понятия алгоритм




 

Изучение алгоритмизации и программирования делится на два этапа, это и есть само изучение алгоритмизации, а затем программирования. Во многих учебных программах останавливаются только на изучении алгоритмизации, так как небольшое количество учителей информатики имеют должный уровень подготовки для преподавания программирования на каком-либо конкретном языке программирования.

Изучение алгоритмизации помогает развить у учащихся алгоритмическое мышление, что само по себе является базой для освоения программирования. Поэтому изучение алгоритмизации является важной частью курса информатики и при преподавании этой части курса учитель должен быть особенно внимателен и осторожен.

В образовательном стандарте базового курса по информатики и ИКТ основное содержание по линии алгоритмизации определяется через следующие понятия:

алгоритм, свойства алгоритма, способы записи алгоритмов;

исполнители алгоритмов (назначение, среда, режим работы, система команд);

компьютер как формальный исполнитель алгоритмов;

основные алгоритмические конструкции (следование, ветвление, повторение);

разбиение задачи на подзадачи, вспомогательный алгоритм;

алгоритмы работы с величинами (тип данных, ввод и вывод данных).

Изучение алгоритмизации начинается с введения понятия алгоритма. Понятие алгоритма относится к исходным математическим понятиям, поэтому не может быть определено через другие, более простые понятия. Из-за этого определение алгоритма в школьных учебниках по информатике отличается большим разнообразием. Вот некоторые из них:

В учебнике И.Г. Семакина и др. алгоритм определяется как последовательность команд, управляющих работой какого-либо объекта, и далее дается более строгое определение - понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных данных к искомому результату.

В учебнике А.Г. Кушниренко алгоритм определяется как программа, записанная на специальном школьном алгоритмическом языке.

В учебнике Н.Д. Угриновича алгоритм вводится как чёткое описание последовательности действий.

В обыденной жизни дети не встречаются с этими понятиями дословно, но они находят применение алгоритмов в различной деятельности человека, о чем важно сообщить детям на первом же уроке и подтвердить это примерами. Вводя понятие алгоритма, учителю следует акцентировать внимание учащихся на том, что алгоритм всегда составляется с ориентацией на исполнителя алгоритма. На мой взгляд, для этого хорошо подходит определение, приведенное в учебнике И.Г. Семакина и др.

Так как одной из особенностей курса «Алгоритмизация и программирование» является его практическая направленность, то понятие исполнителя алгоритма следует вводит на основе практических примеров из жизни учащихся. Основным исполнителем на начальном моменте изучения темы должен быть человек. Ученики сами должны выступить в роли исполнителей не сложных алгоритмов, например рисование окружности при помощи циркуля. В зависимости от класса в котором изучается данная тема задачи для исполнителя могут быть и сложнее: найти корень квадратного уравнения, построить вписанную в треугольник окружность, и т. д.

Основной характеристикой исполнителя, с точки зрения управления, является система команд исполнителя (СКИ). Это конечное множество команд, которые понимает исполнитель, т.е. умеет их выполнять. Для знакомства с СКИ можно дать ученикам такой алгоритм, который они заведомо не смогут выполнить. После этого должно следовать закрепление данного понятия на основе задач определения СКИ у различных исполнителей.

СКИ определяет первое свойство алгоритма - понятность, то есть алгоритм может включать в себя только команды, входящие в СКИ. Он не должен быть рассчитан на принятие исполнителем самостоятельных решений, не предусмотренных составителем алгоритма.

После свойства понятности следует свойство точность. Опять же можно привести несколько примеров алгоритмов, которые выполняются не точно. Вот один из них: кулинарный рецепт можно рассматривать как алгоритм для исполнителя-повара по приготовлению блюда. Но если одним из пунктов в нем будет написано: «Положить несколько ложек сахара», то это пример неточной команды. Сколько ложек? Каких ложек (чайных, столовых)? Каждый повар может это понимать по-своему, и результаты будут разными. Пример точной команды: «Положить 2 столовые ложки сахара».

Еще одно свойство, которое отражено в определении алгоритма - конечность. Оно формулируется так: исполнение алгоритма и, следовательно, получение искомого результата должно завершиться за конечное число шагов. Здесь под шагом подразумевается выполнение отдельной команды. В данном случае это свойство отражает ситуации, когда алгоритм «зацикливается» и не дает результата. Такой алгоритм бесполезен, учащиеся должны научится отличать эти алгоритмы.

Еще одно свойство алгоритма дискретность. «Дискретность состоит в том, что команды алгоритма выполняются последовательно, с точной фиксацией моментов окончания выполнения одной команды и начала выполнения следующей» [7]. Требование последовательного выполнения команд заложено в определении алгоритма, но, на мой взгляд, на данном свойстве нужно заострить внимание. Не каждый ребенок сможет выделить его из определения алгоритма.

«Свойство массовости выражается в том, что алгоритм единым образом применяется к любой конкретной формулировке задачи, для решения которой он разработан» [7]. От свойства массовость легко перейти к такому понятию как исходные данные. По сути, это свойство можно назвать универсальностью алгоритма по отношению к исходным данным решаемой задачи. Данное свойство не является необходимым свойством алгоритма, а скорее определяет качество алгоритма: универсальный алгоритм лучше неуниверсального (алгоритм решения частной задачи - тоже алгоритм!). Следует указать учащимся на то, что исполнителю всегда необходимо иметь исходные данные с которыми он будет работать (деньги, продукты, детали, таблицы чисел и т.п.). Например, исполнителю, решающему математическую задачу нужна исходная числовая информация, которая обычно задаётся в условии. Если вам нужно найти номер телефона нужного человека, то исходными данными будут фамилия человека, его инициалы, телефонная книга, а иногда ещё и домашний адрес, так как Ивановых или Петровых с одинаковыми инициалами может оказаться в телефонной книге несколько.

Если все данные свойства выполняются, то исполнитель выполняет алгоритм формально. Это означает, что при выполнении алгоритма исполнитель строго следует командам и не какого творчества с его стороны быть не может. Отсюда следует вывод о возможности создания автоматических исполнителей. Таким автоматическим исполнителем по обработке информации является компьютер. Дети сами могут назвать таких автоматических исполнителей: роботы, станки с автоматическим управлением, автоматическая стиральная машина и так далее.

После того как все свойства алгоритма разобраны следует их закрепить при помощи задач. Для этого полезно рассмотреть с учениками несколько заданий следующего содержания:

) выполнить роль исполнителя: дан алгоритм, формально исполнить его;

) определить исполнителя и систему команд для данного вида работы;

) в рамках данной системы команд построить алгоритм;

) определить необходимый набор исходных данных для решения задачи.

В качестве примера задачи первого типа можно использовать алгоритм игры Баше, рассматриваемый в учебниках [6]. Правила игры определены так: в игре используются 7, 11, 15, 19 предметов. За один ход можно брать 1, 2 или 3 предмета. Проигрывает тот игрок, который берет последний предмет. Предлагается алгоритм выигрыша для первого игрока. После того как ученики поиграли в эту игру по тем правилам, что описаны в учебнике, можно предложить им несколько заданий аналитического характера на тему игры Баше. Задания могут быть предложены в качестве домашней работы.

Теперь рассмотрим пример задания второго типа.

Задача: Описать систему команд исполнителя «Геометр», который мог бы выполнять геометрические построения с помощью циркуля и линейки.

Решение. Ученикам знаком класс задач, которые в геометрии называются задачами на построение с помощью линейки, циркуля и карандаша. Полной системой команд для исполнителя «Геометр» является следующий список:

. Провести отрезок прямой между двумя данными точками.

. Установить раствор циркуля, равный длине данного отрезка.

. Установить ножку циркуля в данную точку.

. Провести окружность.

. Выделить общие точки двух линий (пересечения или касания).

Необходимо обратить внимание учеников на элементарность каждой команды. Делить их на более простые не имеет смысла.

При построении СКИ ученики должны решать две проблемы: проблема элементарности команд и проблема полноты системы команд. Система команд исполнителя называется полной, если она содержит весь минимально-необходимый набор команд, позволяющий построить любой алгоритм в том классе задач, на который ориентирован исполнитель.

Отрешения предыдущей задачи можно перейти к задачам третьего типа. Оставив исполнитель и СКИ прежними ученикам можно дать такую задачу: «Записать для исполнителя Геометр алгоритм построения окружности, для которой задан её диаметр отрезком АВ».

Данный переход способствует лучшему восприятию задачи, так как ученики уже знакомы с исполнителем и его СКИ.

Решение: установить ножку циркуля в т. А;

установить раствор циркуля, равный АВ;

провести окружность установить ножку циркуля в т. В;

провести окружность;

выделить точки пересечения окружностей: т. Сит. D;

провести отрезок CD;

выделить точку пересечения АВ и CD: т. О;

установить ножку циркуля в т. О;

установить раствор циркуля, равный ОВ;

провести окружность.

С учениками необходимо проанализировать данную задачу на соответствие свойствам алгоритма. Учеников следует подвести к такому выводу: «данный алгоритм удовлетворяет всем основным свойствам: понятности, точности, конечности; благодаря чему может исполняться формально».

Задания четвертого типа относятся к проблеме постановки задач на построение алгоритмов. Для выполнения требуемой работы - решения данной задачи - необходим не только алгоритм, но и полный набор исходных данных. Это могут быть какие-то материальные объекты (например, детали для сборки устройства; продукты для приготовления блюда и пр.) или информация (числовые данные для расчетов). Вот пример задачи на определение полного набора данных.

Задача: Определить полный набор данных для вычисления времени падения кирпича с крыши дома.

Ответ: высота дома, ускорение свободного падения.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...