Алгоритмизация и программирование

Автор работы: Пользователь скрыл имя, 12 Марта 2014 в 17:56, лекция

Краткое описание

Изучение алгоритмизации в школьной информатике может иметь два целевых аспекта: первый — развивающий аспект, под которым понимается развитие алгоритмического (еще говорят — операционного) мышления учащихся; второй — программистский аспект. Составление программы для ЭВМ начинается с построения алгоритма; важнейшим качеством профессионального программиста является развитое алгоритмическое мышление. Если в первом школьном учебнике информатики [15] в изучении алгоритмизации превалировал второй, программистский, аспект, то в дальнейшем стала больше подчеркиваться развивающая роль данной темы.

Прикрепленные файлы: 1 файл

Лекции по теме Алгоритмизация и программирование.docx

— 132.66 Кб (Скачать документ)

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

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

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

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

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

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

 

Следующая задача относится к третьему типу.

 

Задача 6. Записать для Геометра алгоритм решения следующей задачи: дан отрезок АВ; построить окружность, для которой отрезок АВ является диаметром.

Решение.

Алгоритм ОКРУЖНОСТЬ ДАННОГО ДИАМЕТРА

начало

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

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

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

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

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

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

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

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

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

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

конец

 

Анализируя этот пример, следует подчеркнуть то, что данный алгоритм удовлетворяет всем основным свойствам: понятности, точности, конечности; благодаря чему может исполняться формально.

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

 

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

Ответ: количество каждого вида купленных товаров и цена рдиницы товара (1 кг или 1 штуки).

 

Задача 8. Определить полный набор данных для вычисления лесячной платы за расход электроэнергии.

Ответ: показания счетчика в конце предыдущего и в конце настоящего месяца, стоимость 1 квт/часа.

 

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

Ответ: высота дома, ускорение свободного падения (без учета сопротивления воздуха).

 

  Лекция №3 Методика обучения алгоритмизации на учебных исполнителях, работающих «в обстановке»

 

Изучаемые вопросы:

ª Основные требования к учебным исполнителям алгоритмов.

ª Описание архитектуры учебного исполнителя.

ª Типовые учебные задачи.

ª Способы описания алгоритмов.

Обучение методам построения алгоритмов — один из наиболее отработанных разделов школьной информатики. Традиционно применяемым дидактическим средством в этом разделе являются учебные исполнители алгоритмов. Некоторые из таких исполнителей перечислены выше; известны и другие, например, КУКАРАЧА из Роботландии, МУРАВЕЙ Г. Н. Гутмана, КЕНГУРЕНОК, реализованный фирмой КУДИЦ. Вообще говоря, подходит любой исполнитель, который удовлетворяет следующим условиям:

• это должен быть исполнитель, работающий «в обстановке»;

• этот исполнитель должен имитировать процесс управления некоторым реальным объектом (черепахой, роботом и др.);

• в системе команд исполнителя должны быть все структурные команды управления (ветвления, циклы);

• исполнитель позволяет использовать вспомогательные алгоритмы (процедуры).

Последние два пункта означают, что на данном исполнителе можно обучать структурной методике алгоритмизации. Всякое педагогическое средство должно соответствовать поставленной учебной цели. Главной целью раздела алгоритмизации является овладение учащимися структурной методикой построения алгоритмов.

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

Рассмотрим в качестве примера описание архитектуры широко известного исполнителя КЕНГУРЕНОК (аналогом является исполнитель Чертежник к учебнику [12]). Авторы программы КЕНГУРЕНОК назвали своего героя Ру (Roo) — по имени персонажа мультфильма. Мы также будем пользоваться этим именем.

Архитектура учебного исполнителя. Среда исполнителя. На экране присутствуют три основных элемента среды учебного исполнителя: строка меню, поле программы и поле рисунка, на котором находится Кенгуренок. На поле рисунка неявно (т.е. ее не видно) нанесена прямоугольная сетка. Длину стороны одной квадратной ячейки этой сетки назовем шагом. Размер всего поля — 15 шагов по горизонтали и 19 шагов по вертикали.

Режимы работы. Режим работы — это определенное состояние учебного исполнителя, в котором могут выполняться определенные действия. Необходимо в наглядной форме представить ученикам все возможные режимы работ используемого исполнителя. Для исполнителя «Кенгуренок» вся система режимов работы отражена в схеме на рис. 11.2.

 

 

Рис. 11.2. Система режимов работы исполнителя «Кенгуренок»

Кенгуренок может работать в режиме прямого управления: «команда — исполнение» (в схеме это названо ручным управлением), и в режиме программного управления: «программирование — автоматическое исполнение программы». Программный режим устанавливается тогда, когда текстовый курсор находится на поле программы. Если его вывести за границу поля программы, то установится режим прямого управления.

Реализация этих двух режимов очень полезна с методической точки зрения, в контексте темы управления. Работа Кенгуренка в режиме прямого управления имитирует ситуацию «ручного» управления объектом со стороны человека. Человек отдает только простые команды (шаг, поворот, прыжок), а управляющие решения принимает сам, анализируя обстановку на поле исполнителя.

Режим программного управления следует трактовать как имитацию ситуации, когда объектом управляет компьютер. Роль человека — составление алгоритма, ввод программы и инициализация ее исполнения компьютером.

В свою очередь, в режиме программного управления имеются следующие режимы (подрежимы) работы:

— установка исходного состояния: стирается рисунок с поля Кенгуренка, устанавливается исходное положение и направление Кенгуренка (этот режим работает и при «ручном» управлении);

— программирование: набор программы на программном поле;

— исполнение: работа Ру по заданной программе.

И, наконец, исполнение может проходить в трех режимах:

— в автоматическом режиме (на экране сразу появляется результат выполнения программы);

— в автоматическом пошаговом режиме (Кенгуренок демонстрирует выполнение каждой команды);

— в отладочном режиме (исполнение каждой команды запускается отдельно и подробно комментируется мультипликационными средствами).

Режим работы с файлами. В этом режиме можно сохранить программу в файле, прочитать программу из файла в поле программы, сохранить рисунок в файле, распечатать на принтере рисунок и программу.

Режим справки. Позволяет получить справку о работе системы и о способах редактирования программы.

Система команд исполнителя (СКИ). Команды делятся на команды установки (изменения) режимов и команды управления Кенгуренком (команды программы). Все команды могут быть выбраны из меню. Меню команд первого типа имеет желтый цвет; меню команд второго типа — белый цвет. Будем называть их кратко: «желтое меню» и «белое меню». Переход от одного меню к другому производится нажатием клавиши [Tab].

Каждую команду можно вызвать нажатием определенной функциональной клавиши. «Желтое меню» является многоуровневым. Команды первого уровня «желтого меню» и соответствующие им функциональные клавиши, следующие:

[F1] — ПУСК — запуск на исполнение готовой программы в пошаговом автоматическом режиме;

[F2] — ОТЛАДКА — выполнение программы в отладочном режиме с остановкой после каждой команды;

[F3] — УСТАНОВКА — очистка поля и установка положения Ру с помощью клавиш перемещения курсора;

[F4] — РАЗНОЕ — содержит подменю с дополнительными командами работы с файлами;

[F5] — РЕЗУЛЬТАТ — мгновенное получение результата работы программы (автоматический режим исполнения).

В свою очередь команда РАЗНОЕ имеет два уровня подменю, состоящих из команд файлового типа. Это дерево меню изображено на рис. 11.3.

В режим справки можно попасть, нажав одновременно клавиши [QTRL]+[H].

 

    Рис. 11.3. Система файловых команд  исполнителя «Кенгуренок»

 

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

В режиме ручного управления (курсор за программным полем) используются всего три простые команды «белого меню»:

1) шаг — перемещение Ру на один шаг вперед с рисованием линии;

2) поворот — поворот Ру на 90° против часовой стрелки;

3) прыжок — перемещение Ру на один шаг вперед без рисования линии.

При переходе в режим программирования «белое меню» меняется. К нему, кроме перечисленных, добавляются следующие команды:

4) пока <условие> повторять <тело цикла> конец цикла — цикл с предусловием;

5) если <условие> то <серия 1> иначе <серия 2> конец ветвления — полное ветвление;

6) если <условие> то <серия > конец ветвления — неполное ветвление

7) сделай <имя процедуры> — обращение к процедуре.

Данными при работе с этим исполнителем является обстановка на поле Кенгуренка. Она определяется имеющимся рисунком и состоянием самого Кенгуренка: его позицией на поле и направлением (куда смотрит). Обычно исходной обстановкой является отсутствие рисунка (чистое поле) и определенное состояние Ру. Такая обстановка устанавливается в режиме УСТАНОВКА. Результатом работы является рисунок.

Приведенное выше описание можно назвать описанием архитектуры исполнителя КЕНГУРЕНОК. По такой же схеме рекомендуется описывать архитектуру любого другого алгоритмического исполнителя.

Обучение алгоритмизации. Первыми заданиями по управлению Кенгуренком должны быть задачи на работу в режиме прямого управления с целью получить определенный рисунок. Этими рисунками могут быть фигуры, узоры, буквы, построенные из вертикальных и горизонтальных отрезков. Следует обратить внимание учеников на необходимость первоначальной установки Ру на поле.

Продемонстрируйте ученикам реакцию Ру в случае, если его пытаются переместить за границу поля. С Кенгуренком происходит «авария». Следовательно, выход за край поля допускать нельзя.

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

Обучение программированию для исполнителя нужно строить на последовательности решаемых задач. Очередность задач должна определяться следующими принципами:

— от простого к сложному: постепенное усложнение задач;

— новизна: каждая задача вносит какой-то новый элемент знаний (новая команда, новый прием программирования);

— наследование: следующая задача требует использования знаний, полученных при решении предыдущих задач.

В учебнике [6] рассматривается последовательность задач, которая позволяет ученикам осваивать приемы алгоритмизации в таком порядке:

— составление линейных алгоритмов;

— описание и использование вспомогательных алгоритмов;

— составление циклических алгоритмов;

— использование ветвлений в алгоритмах;

— использование метода последовательной детализации при составлении сложных алгоритмов.

Алгоритмы решения задач, которые рассматриваются ниже, приведены в [6]. Здесь же будут обсуждаться только дидактические и методические проблемы, связанные с решением каждой задачи.

 

Задача 1: составить алгоритм рисования буквы «Т» в центре поля рисунка. Длина горизонтального и вертикального отрезков — 4 шага. Кенгуренок находится в крайней левой точке горизонтального отрезка и смотрит на восток (направо).

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

Второе: алгоритм зависит не только от сформулированной цели (искомого результата), но и от исходного состояния исполнителя. Если бы исходное состояние было другим (например, Ру находится в нижней точке вертикального отрезка и направлен на север), то был бы другим и алгоритм, несмотря на то, что в результате получается один и тот же рисунок. Для алгоритмов работы «в обстановке» начальное состояние исполнителя является исходным данным задачи. Состояние Кенгуренка определяется местом его расположения на поле и ориентацией. Результатом же выполнения алгоритма становится не только рисунок (главная цель), но и конечное состояние исполнителя.

Информация о работе Алгоритмизация и программирование