Заказ дипломной. Заказать реферат. Курсовые на заказ.
Бесплатные рефераты, курсовые и дипломные работы на сайте БИБЛИОФОНД.РУ
Электронная библиотека студента




Факультет математики и информатики

Специальность 030100 - информатика и 021700 - филология

Кафедра информатики и методики ее преподавания












ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

«Моделирование алгоритмических исполнителей»


Содержание


Введение

Глава 1.Теоретические основы темы «Алгоритмические исполнители»

.1 Понятие алгоритмического исполнителя

.2 Классификация алгоритмических исполнителей

.2.1 Исполнители, работающие с величинами

.2.2 Исполнители, работающие в среде

.2.3 ЛогоМиры

.2.4 КуМир

Глава 2. Моделирование алгоритмических исполнителей в среде ЛогоМиры и Delphi

.1 Описание среды ЛогоМиры

.1.1 Проект в ПервоЛого «Смена Дня и Ночи»

.1.2 Тестирование программы

.1.3 Исполнитель «Черный ящик»

.1.4 Тестирование программы

.2 Моделирование алгоритмического исполнителя в интегрированной среде «Delphy»

.2.1 Тестирование программы

.2.2 Описание программы

Заключение

Список литературы

Приложение


Введение


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

Компьютеры стали неотъемлемой частью нашей жизни. Информатика стала обязательным предметом для изучения в школе в старших классах. Но в последнее время, информатика вводится в младших и средних классах общеобразовательных школ. Школьная информатика в настоящее время переживает переломный момент. Идеи алгоритмизации, программирования, информационной технологии решения задач, которыми она питалась в течении почти десяти лет, на сегодня уже почти полностью исчерпаны. Они, несомненно, составляют значительную часть идеологического ядра информатики. Но ясно и то, что далеко не вся она сводится к этим идеям.[11]

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

Актуальность исследования обусловлена необходимостью совершенствования методики преподавания алгоритмизации в школьном курсе информатики с использованием алгоритмических исполнителей.

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

Данная дипломная работа посвящена теме «Моделирование алгоритмических исполнителей».

Объектом исследования являются исполнители алгоритмов.

В качестве предмета исследования выступает разработка классификации основных алгоритмических исполнителей, а также возможность создание алгоритмических исполнителей в среде ЛогоМиры и в среде «Delphi».

Цель исследований состоит в классификации известных исполнителей, создание проекта демонстрации возможностей среды ПервоЛого, исполнителя «Черный ящик» в среде ЛогоМиры, а также алгоритмического исполнителя в интегрированной среде «Delphi».

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

1.Проанализировать и систематизировать научную литературу по теме «Алгоритмические исполнители», а также школьных учебников по информатике.

.Создание классификации известных исполнителей.

.Изучить возможности приложения ПервоЛого и создать проект «Смена дня и ночи» как демонстрацию возможностей этой среды.

.Изучить среду ЛогоМиры и создать алгоритмический исполнитель «Черный ящик».

5.Изучить среду «Delphi» и разработать алгоритмический исполнитель «Умный мячик».

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

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

.Систематизация полученной информации и ее применение для создания классификации, создания алгоритмических исполнителей.

.Проектирование алгоритмических исполнителей.

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

алгоритмический исполнитель демонстрация среда delphi


Глава 1. Теоретические основы темы «Алгоритмические исполнители»


1.1 Понятие алгоритмического исполнителя


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

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

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







Рис.1. Схема исполнителя


Упрощенно исполнитель выступает как некоторое устройство управления соединенное с набором инструментов. Устройство управления понимает алгоритм и организует их выполнение, командуя соответствующими инструментами. В качестве основного свойства алгоритма подчеркивается формальный характер работы исполнителя при его выполнении. Выполняя алгоритм, исполнитель может не вникать в смысл того, что он делает и тем не менее получать нужный результат. В таком случае говорят, что исполнитель действует формально, не отвлекается от содержания поставленной задачи и только выполняет в строгой последовательности все действия. Отсюда делается вывод о том, что исполнителем алгоритма может быть автомат (машина, робот). На этой идее основан принцип программного управления работой компьютера, поскольку программа - это и есть алгоритм, представленный на языке, «понятном» компьютеру - на языке программирования.

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

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

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

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


1.2 Классификация исполнителей


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

В своих методических статьях и выступлениях А. П. Ершов выдвигал следующую идею применительно к школьной информатике: различать исполнителей алгоритмов, работающих с величинами и работающих «в обстановке; а соответствующие алгоритмы для этих исполнителей предлагал называть алгоритмами работы с величинами и алгоритмами работы «в обстановке». В алгоритмах второго типа отсутствуют такие элементы, как величины (переменные, константы), команда присваивания, однако используются все типы алгоритмических структур.[5]


1.2.1 Исполнители, работающие с величинами

Величина - это отдельный информационный объект, который имеет имя, значение и тип.

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

Постоянная величина (константа) не изменяет своего значения в ходе выполнения алгоритма. Константа может обозначаться собственным значением (числа 10, 3.5) или символическим именем (число Я).

Переменная величина может изменять значение в ходе выполнения алгоритма. Переменная всегда обозначается символическим именем ( Х,А, R5 и так далее).

Тип величины определяет множество значений, которые может принимать величина, и множество действий, которые можно выполнять с этой величиной. Основные типы величин: целый, вещественный, символьный, логический.

Выражение - запись, определяющая последовательность действий над величинами. Выражение может содержать константы, переменные, знаки операций, функции. Например: А+В; 2* X - У.

Команда присваивания - команда исполнителя, в результате которой переменная получает новое значение. Формат команды: <имя переменной>: =<выражение>.

К этому типу относятся такие исполнители как: «умный мячик», калькулятор, «черный ящик» [4].

« Умный мячик»

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

Исходные данные - расставленные над линейкой буквы; результат - искомое слово.

Действия исполнителя:

·Перемещение вдоль линейки;

·Чтение (копирование) буквы в текущей позиции;

·Сравнение буквы в текущей позиции с заданной.

Реакция исполнителя:

§«Не понимаю» - на команду, не входящую с СКИ или записанную с ошибкой; на обращение к неописанному вспомогательному алгоритму;

§«Не могу» - при входе исполнителя за деление 0 или 14; при попытке взять букву в позиции, где буквы нет.[4].


1.+ числоДвижение вправо на указанное число единиц.2.- числоДвижение влево на указанное число единиц.3.!Взять копию буквы, над которой находится мячик.4..Конец собирания слова.5.? буква (действие1, действие2)Проверка буквы и выбор действий; если буква, над которой находится мячик, совпадает с буквой, указанной в команде, то выполняется действие1, а при несовпадении - действие 2.6.ПОКА НЕ буква (действие)Выполнение действий, указанных в скобках, до тех пор, пока буква, на которую указывает мячик, не совпадет с буквой, указанной в команде.7.ЭТО имя Действия_вспомогате льного_Алгоритма КОНЕЦОписание вспомогательного алгоритма. Обращение к нему - указать в основной программе имя.Система команд исполнителя:


«Черный ящик»

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



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

Если входные и выходные параметры являются числовыми величинами, то на языке математики связь между ними может быть задана в виде функции (формулы). Например, входные параметры: xl, jc2; выходной - у. Связь между ними: y=F(xl,x2). [4]

Ниже приводятся примеры «черных ящиков».


Пример1:

ВходауАбвгдеыыыяяяббббабвбвавбавввбокводаВыход0001111000000011110111101101111011010

Пример2:

Вход1231021123Выход012920122

1.2.2 Исполнители, работающие в среде

Средой исполнителя является обстановка, в которой функционирует исполнитель.

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

Графический исполнитель (ГРИС)

Среда: лист (страница экрана) для рисования. На лист нанесена прямо-

угольная сетка. ГРИС располагается в узлах сетки и может иметь одно из четырех направлений: вверх, вниз, налево, направо.

Назначение исполнителя, получение рисунков, составленных из вертикальных и горизонтальных отрезков.

Данные: исполнитель работает «в обстановке». Исходными данными являются положение исполнителя на поле и его направление. Результатом -полученный рисунок.

Действия исполнителя: перемещение вдоль линии сетки с рисованием или без; поворот; проверка условия выхода на край поля [4].

Формат описания основной программы:

Программа имя

Нач

<тело программы>

Кон

Формат описания вспомогательного алгоритма:

Процедура имя

Нач

<тело процедуры>

Кон


Система команд исполнителя:

1.ШагПеремещение ГРИС на один шаг вперед с рисованием линии.2.ПоворотПоворот на 90 градусов против часовой стрелки.3.ПрыжокПеремещение на один шаг вперед без рисования линии.4.Сделай Имя_вспомогательного _алгоритмаВызов вспомогательного алгоритма.5.Пока <условие>, повторять Нц <тело цикла> КцЦикл. Варианты условий: «впереди край» или «впереди не край». Тело цикла повторяет выполнение пока условие истинно.6.Если «условие» То<серия _1> Иначе<серия_2> КвВетвление. Серия_1 выполняется, если условие, записанное после слова «если» истинно. В противном случае выполняется серия_2.

Исполнитель «Машинист »

У исполнителя «Машинист» в Роботландии имеются определенные условия (среда): главный путь; два тупика - верхний и нижний; три прицепных вагона в верхнем тупике - крытый вагон, цистерна, платформа; стрелка для переезда то в верхний тупик, то в нижний. Система команд исполнителя «Машинист» ВПЕРЕД, НАЗАД, СТРЕЛКА, ПРИЦЕПИ, ОТЦЕПИ. Интерфейс программы яркий, четкий. Для машиниста существуют следующие виды заданий:

1.взять из сцепки указанный или указанные вагоны и отвезти в нижний тупик;

.переформировать вагоны в обратном порядке в нижнем тупике;

.сформировать новый состав из прежнего, но вагоны для выбора указаны избирательно. [8]

Исполнитель «Кенгуренок»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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











Рис.2.Схема режимов работы исполнителя


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

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

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

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

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

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

В свою очередь команда РАЗНОЕ имеет два уровня подменю, состоящих из команд файлового типа. В режим справки можно попасть, нажав одновременно клавиши [Ctrl]+[H]. [3]

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

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

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

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

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

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

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

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

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

Исполнитель «Паркетчик»

Паркетчик представляет из себя «бездумного исполнителя», назначение которого - выкладывать на клетчатом поле узоры из разноцветных плиток (красных и зеленых). Поле имеет прямоугольную форму; каждая клетка идентифицируется двумя индексными номерами - по горизонтали и по вертикали, например: (1,1), (3,5).

Паркетчик может перемещаться с помощью команд «шаг вверх», «шаг вниз», «шаг влево», «шаг вправо» к соседним клеткам, а также к любой клетке поля по команде «перейти на (m,n)». В текущую клетку Паркетчик может положить плитку указанного цвета по команде «положить (цвет)»или убрать плитку по команде «снять плитку». Условиями в командах ветвления и цикла может быть проверка цвета лежащей плитки или проверка наличия препятствия (стены) в любом направлении от текущей клетки.

Паркетчик предназначен для методичного обучения структурному способу построения алгоритмов. Форма языка Паркетчик применяется также и для описания вычислительных алгоритмов, подобно тому, как используется алгоритмический язык А. Г. Кушниренко. По сути дела, между алгоритмическим языком и языком Паркетчика нет принципиальной разницы тот и другой представляет собой структурный русскоязычной псевдокод. Видимо, считая описание алгоритма на языке Паркет достаточно структурированным и наглядным, авторы отказались от использования блок-схем [4].

Исполнитель « Чертежник»

А.Г. Гейн также применял исполнитель с названием «Чертежник», который относится к категории исполнителей, работающих по принципу «черепашьей графики». Команды перемещения (сделать шаг, прыгнуть) и вращения (повернуть налево) не имеет параметров. По одной команде исполнитель перемещается на строго определенное расстояние - один шаг, или поворачивается против часовой стрелки на 90°. Поэтому создаваемые рисунки могут состоять только из горизонтальных и вертикальных отрезков. Можно сказать, что Чертежник А. Г. Гейна в чистом виде является исполнителем, работающим «в обстановке».

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

Для моделирования методов решения задач обработки табличной информации А.Г. Гейном введен исполнитель Робот-манипулятор.

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

нц пока снизу стена

закрасить

вправо кц

Здесь использован цикл с предусловием - основной тип циклической команды (нц - начало цикла, кц - конец цикла). Рассмотрим еще один пример: Робот движется вдоль горизонтальной стены и закрашивает только пустые (не закрашенные) клетки. Прямоугольная таблица имитируется стеллажом, состоящим ячеек, в которые могут быть помещены различные радиодетали (микросхемы, транзисторы и прочее). Робот умеет перемещаться в вертикальном и горизонтальном направлениях вдоль ячеек, перемещать в них детали или извлекать детали из ячеек. Здесь можно говорить о появлении величин, рассматривая имя детали в ячейке как величину (производится сравнение ее имени с именем искомой детали). Характерная структура алгоритмов управления Роботом - вложенные циклы с ветвлениями [3]. Помимо классов исполнителей, работающих с величинами и в среде, существуют также две категории исполнителей, которые не входят в данные классы. Это среда программирования ЛогоМиры и КуМир.


1.2.3 Логомиры

Программная среда Лого (ЛогоМиры) была разработана и реализована под руководством американского психолога С. Пейперта в 1989 г. в Масса-чусетском технологическом институте. Она была создана не просто как формализованный язык программирования, а как среда, в которой дети могли бы научиться естественному общению с компьютером. ЛогоМиры - универсальная учебная компьютерная среда на базе языка Лого. Эта среда интегрирует графику, мультипликацию, звуки, программирование и позволяет осуществлять проектный подход к занятиям по всем направлениям учебного плана, а также обеспечивает возможность осуществлять межпредметные связи с другими дисциплинами на уроках информатики.

Лого реализует новые подходы к обучению, направленные не на заучивание правил, а на формирование процесса мышления. В ситуации традиционного обучения наблюдать за мыслительной деятельностью ребенка просто невозможно. Среда Лого является тем окном, которое позволяет заглянуть в мыслительные процессы ребенка. У учителя появляется возможность проанализировать накопленные в памяти компьютера данные о том, как ребенок думает, как он понимает задачу, расчленяет ее.[12]

В Лого первоначально заложены принципы конструктивного обучения. Согласно этим принципам в процессе создания реального продукта (для реализации конкретной задачи) значительно повышается эффективность обучения. Это возможно только потому, что Лого - полноценный язык программирования, допускающий возможность создания настоящих, графически оформленных, работоспособных программ. Так же, как и школьный алгоритмический язык, Лого является интерпретатором, обеспечивающим диалоговый характер общения с пользователем, превращающим компьютер в мощный калькулятор в режиме непосредственных вычислений. Структурное построение программы роднит Лого и Паскаль. В ранних версиях языка мы имели черно-белый экран, одну треугольную черепашку и англоязычный вариант записи команд для нее. Позднее в России была популярна версия Лого для компьютеров ЮМ система Logo Writer. В дальнейшем среда ЛогоМиры была модифицирована и адаптирована для детей более раннего возраста. Программа ПервоЛого доступна для детей 5-6 лет [1]. В школьной информатике ПервоЛого рекомендуется изучать в пропедевтическом курсе. Среда «ПервоЛого» обладает ярким интерфейсом и, простым и доступным для детей способом программирования.


1.2.4 КуМир

В 60-70гг. XX столетия А. П. Ершовым был разработан АЛЬФА-язык программирования (развитая версия структурного языка Алгол-60 с русскоязычной нотацией) и создан транслятор с этого языка (АЛЬФА-транслятор). Учебный алгоритмический язык содержит в себе многие черты АЛЬФА-языка. Алгоритмический язык А. П. Ершова можно назвать русскоязычным псевдокодом, предназначенным для обучения методике структурного программирования Для учебных целей на базе алгоритмического языка был создан язык программирования РАПИРА. Однако он не получил распространения. В 1987 г. в МГУ была осуществлена разработка учебной среды программирования на основе алгоритмического языка, получившая название «Е-практикум» (Е-87). Впоследствии она получила развитие и распространение через известный пакет учебного программного обеспечения КуМир (Комплект Учебных Миров) [5]. Обучаемый сам может конструировать исполнителей средствами УАЯ. Синтаксически все просто. Вводятся слова исп и кон, а между ними размещается описание данных, относящихся среде исполнителя, и затем - вспомогательные алгоритмы, или методы. Данные исполнителя являются общими для этих методов [3].

Согласно всему выше сказанному, классификацию исполнителей можно представить в виде следующей схемы:


Глава2. Моделирование алгоритмических исполнителей в среде ЛогоМиры и Delphi


2.1 Среда ЛогоМиры


Исторически первым педагогическим программным средством, предназначенным для обучения детей алгоритмизации, был язык программирования ЛОГО, разработанный в конце 1960-х гг. американским педагогом-психологом С. Пейпертом. В состав ЛОГО ходит исполнитель Черепашка, назначение которого - изображение на экране чертежей, рисунков, состоящих из прямолинейных отрезков. Программы управления Черепашкой составляются из команд: вперед(а), назад(а), направо(в), налево(в), поднять хвост, опустить хвост. Имеется в виду, что Черепашка рисует хвост и если хвост опущен, то при перемещении проводится линия, когда хвост поднят, то линия не рисуется. Кроме того, в языке имеются все основные структурные команды. В целом ЛОГО предназначен для обучения структурной методике программирования. От ЛОГО происходит понятие черепашьей графики, используемой также и в некоторых профессиональных системах компьютерной графики. Важную роль в новых направлениях обучения играет отношение к ошибкам и их устранение. Отладка программы (поиск и исправление в ней ошибок) обычно является трудоемким процессом. Язык Лого значительно упрощает его. Решение разбивается на множество мелких шагов, каждый из которых может быть проверен отдельно. Если допущена ошибка, то черепашка просто не выполнит задания или выполнит его не так, как следовало. Так как ученики могут самостоятельно найти ошибку, исправить и снова попробовать, то они перестают бояться ошибок. Школьники чувствуют себя исследователями, не боящимися творить. Они обретают уверенность в своих силах и могут выразить свое знание предмета в форме, отличной от вербальной.

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

Лого объединяет в себе черты многих языков программирования, Изучение Лого как начального языка значительно облегчает дальнейшее обучение профессиональных языков программирования.[12]

Объектно-ориентированный подход (ООП) является одним из наиболее эффективных и удобных средств, используемых сегодня. Окружающий нас мир состоит из целостных объектов, которые обладают определенными свойствами и поведением. В технологии объектного ориентирования объекты сохраняют свою целостность, все свойства объекта и его поведение описываются внутри самого объекта. Объектами ЛогоМиров будут рисунок, текст, бегунок, кнопки и т.д. В системах объектного - ориентирования обычно используется графический интерфейс. Появляется возможность создавать объекты, задавать им свойства и поведение с помощью мыши.

Главное методическое достоинство исполнителя Черепашки - ясность для ученика решаемых задач, наглядность процесса работы в ходе выполнения программы. Как известно, дидактический принцип наглядности является одним из важнейших в процессе любого обучения.[1]

Управлять черепашками можно непосредственно (интерактивно), для этого в специальной области экрана - в «Поле команд» нужно написать соответствующие команды, которые будут немедленно выполнены. Лого включает в себя более 200 команд. Среди них есть и графические команды: команды перемещения черепашки, изменения цвета, изменение формы (черепашка может, например, «надеть на себя» форму самолета или стать цветком) и так далее. Знакомство с мультипликацией позволяет «оживить» формы черепашки, и тогда экран заполняется летающими птицами, скачущими лошадьми, мчащимися автомобилями. Есть команды, позволяющие создавать музыку, выполнять арифметические действия и прочее. Кроме непосредственного управления в ЛогоМирах доступен и режим программирования. В особом листе на экране компьютера можно записать программы, которые, как и большинство языков программирования, «расширяют исходный словарь языка». Имена записанных программ можно использовать в интерактивном режиме, при записи новых программ, а также при применении кнопок. Объекты «кнопки» обеспечивают функции гипертекстовой структуры, при нажатии на них выполняют функции гипертекстовой структуры, при нажатии на них выполняются заранее предписанные действия: переходы, движения и так далее. Объект «бегунок» позволяет использовать в проектах переменные числовые величины. Значение бегунка видно и может быть изменено с помощью мыши.

Черепашки могут иметь любую форму, но видеть цвет пера черепашки и направление можно, только когда черепашка имеет исходную «черепашью» форму. Можно изменить цвет и размер пера черепашки в Графическом редакторе.

Перемещение черепашки

Перетащить черепашку можно с помощью мышки. Нужно потащить черепашку за голову - она повернется.

Изменение размеров черепашки

Можно изменять размер с помощью луп, находящихся в Поле форм.

Направление черепашки

Направление черепашки исчисляется в градусах как на компасе.

Новые черепашки и имена черепашек

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

vВыбрать пиктограмму Черепашки.

vЩелкнуть на Черепашку на листе.




vНаписать новое имя .




vЩелкнуть ОК.

Программирование черепашки

vОткрыть диалоговое окно черепашки.

vНапечатать инструкцию





vУказать «Один раз» или «Много раз» будут выполняться инструкции.

vЩелкнуть на «ОК».

vЩелкнув на черепашку, можно посмотреть, что произойдет.

Мультипликация

В поле форм есть несколько пар (троек) похожих форм. Меняя похожие формы можно создать летящую птицу, идущего мальчика или бегущую собаку.

Пример:

Открыть диалоговое окно Черепашки.

Напечатать: нов_форма «птица1 вп2 нов_форма «птица2 вп2. Выбрать режим «Много раз ». Щелкнуть «ОК».

Щелкнуть на черепашку. Если птица летит неправильно, но надо напечатать в Поле команд: нов_курс 300.

Выделение черепашек

Протащить мышку вокруг нее или нажать клавишу Shift и щелкнуть на черепашку.

Удаление черепашки

На поле форм выбрать Ножницы, щелкнуть ими по черепашке, которую необходимо удалить. [1]


Основные команды языка программирования среды ЛогоМиры

НаименованиеНазначениеПримерВперед(вп)число Всегда список инструкций Домой Жди число Жди_пока логическое значение Запусти список инструкций Курс Налево (лв)число Место Надпись слово Назад (нд)число Направо (пр)число Нов_курс(нк)число Нов_место(нм)[ху] Нов_размер (нрз) число Нов_размер_пера(нрп) число Нов_форма(нф) имя или число Нов_цвет (нц) имя или число Ответ Пиши слово или список Плавно расстояние скорость по Повтори число список-инструкций пп пч сг ск или сс Сотри Спроси слово или список ст сч Удали Цвет Штамп Перемещает черепашку вперед. Бесконечно повторяет Остановка:Ctrl+Break. Перемещает черепашку в точку[0,0]. Пауза в работе. Время изменяется1/10сек. Система будет ждать, ока входной параметр не сообщит Да. Выполняет список-инструкций как независимый процесс. Сообщает направление активной черепашки. Поворачивает черепашку налево. Сообщает координаты активной черепашки. Черепашка при движении будет печатать указанное слово. Перемещает черепашку назад Поворачивает черепашку направо. Черепашка получает направление, соответствующее числу градусов. Перемещает черепашку в точку с координатами[ху]. Меняет размер черепашки min-5, исходный -40, max-150. Изменяет толщину пера активной черепашки. Изменяет форму черепашки Изменяет цвет пера черепашки. Сообщает последний ответ, напечатанный в диалоговом окне. Печатает слово или список в активном текстовом окне. Плавно перемещает черепашку на указанное расстояние. Опускает перо у активной черепашки. Выполняет список-инструкций указанное число раз. Поднимает перо у активной черепашки. Делает активную черепашку видимой. Стирает графическое изображение на листе, возвращает активную черепашку на место. Стирает текст в поле команд. Стирает графическое изображение, не изменяя положения черепашки. Открывает диалоговое окно, в котором напечатан вопрос и предлагается напечатать ответ. Стирает текст в активном текстовом окне. Прячет активную черепашку. Удаляет названную черепашку, текстовое окно, бегунок, кнопку, лист, звук или мелодию. Сообщает цвет черепашки в виде числа. Делает копию изображения черепашки на экране. Вп 50 по вп10 всегда[вп1] всегда [пр1] вп 50 домой жди 10 пч жди 10 жди_пока[цп=15] пр 180 запусти [плавно 10001] покажи курс 180 вп 40 лв 50 покажи место 50 49 надпись «школа» повтори 5 [вп 10] лв 30 по нд 20 пр 90 вп 50 пр 38 нк 0 нк 120 нк 180 нм [50 50] нрз 20 нрз40 по нрп 20 вп50 нф «луна нц «красный спроси[Сколько тебе лет?] покажи ответ Мне 10 лет. Повтори 5 [пиши «хелло] Плавно 1001 Повтори 10 [по вп 10 пп вп 10] Повтори 10 [нФ «птица1 жди5 нф «птица2 жди 5] Повтори 10 [по п 10 пп вп 10] Повтори [сч жди 5 пч жди 5] По вп 50 пр 90 штамп вп 50 сг Ск По нФ 12 нц 10 Спроси[Сколько Вам лет?] Покажи ответ Мне 10 лет. Текст1, пиши «хелло ст Повтори[сч жди 5 пч жди 5] Удали «текст1 Удали «ч1 Удали «лист1 Нц «красный Покажи цвет НФ «дерево пп повтори 10 [штамп вп 40]

2.1.1 Проект в ПервоЛого «Смена Дня и Ночи»

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


Рис.3. День Рис.4. Ночь


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

Рис.5. Поле форм


После создания объектов, на форму помещаются четыре черепашки и «одеваются » в следующем порядке: дневное небо, солнце, луна и дневная земля. Черепашку, которая будет луной нужно повернуть на 180 градусов, чтобы она смотрела вниз. Совмещаем рисунок и должно получиться следующее:


Рис.6. Лист проекта


Теперь, чтобы солнце двигалось по кругу, необходимо задать ему следующую команду: 10 шагов, поворот на 13 градусов и пауза 0.3 сек. В окне команд для солнца нужно задать эту цепочку действий и щелкнув на стрелке, задать многократное повторение этих действий. Чтобы посмотреть что получилось, надо щелкнуть мышкой на солнышко. Оно всходит и заходит, но земля и небо остаются дневными. Это можно исправить с помощью светофора. Для этого надо вызвать окно обучения для солнышка, щелкнуть на закладку с двумя черепашками и выбирать землю, щелкнув на ней мышкой. Теперь на поле команд необходимо выбрать Светофор и установить фиолетовый цвет. Также необходимо научить землю и небо реагировать на изменение сигнала светофора. Для этого надо открыть окно обучения для земли, щелкнув Ключом. Выбирать закладку с светофором и установить фиолетовый цвет и ночную Землю. Точно также учим реагировать на изменение сигнала светофора небо. На данный момент, когда солнышко зашло, Земля и Небо стали ночными, но когда оно вышло, темнота осталась. Чтобы это исправить надо открыть окно обучения для солнца, щелкнув ключом, выбирать закладку с двумя черепашками. Установить дневное небо. В закладке Светофор необходимо установить значок светофора с оранжевым цветом. Теперь землю и небо необходимо обучить реагировать на оранжевый сигнал светофора. Для этого надо вызвать окно обучения для Земли, на закладке Светофор выбрать оранжевый сигнал. Установить дневную форму земли. Закрыть окно обучения. Точно также учим реагировать небо на изменение сигнала светофора. Осталось задать Луне команду движения по кругу. Аналогично солнцу, в окне обучения Луны необходимо записать команду: 10 шагов, поворот на 13 градусов и пауза 0.3 сек.

Приведенный ниже листинг программы генерируется автоматически. Ученики создают команды лишь с помощью мыши.

Листинг программы

это шагай :n:n

my-cmt3react

конец

это removeitem :item :list[res []][i :list]

[if not equal? :item :i [let [res lput :i :res]]]:res

конец

это clr-last-meet :t1 :t2:t1 [if member? :t2 <l-meet> [установи_<l-meet> removeitem :t2 <l-meet>]]:t2 [if member? :t1 <l-meet> [установи_<l-meet> removeitem :t1 <l-meet>]]

конец

это set-last-meet :t1 :t2:t1 [установи_<l-meet> fput :t2 <l-meet>]:t2 [установи_<l-meet> fput :t1 <l-meet>]

конец

это get-some :t1 :t2 :whatequal? :what "can-meet

[equal? :t1 :t2 [op "нет][i ask :t1 [<my-meet>]] [if equal? :t2 first :i [op "да]][i ask :t2 [<my-meet>]] [if equal? :t1 first :i [op "да]]"нет

]equal? :what "last-meet

[equal? :t1 :t2 [op "нет][ask :t1 [<l-meet>]ask :t2 [<l-meet>]t2 member? :t2 :lm1t1 member? :t1 :lm2]or :t1t2 :t2t1

]equal? :what "comm

[equal? :t1 :t2 [op [[][]]][com1 [][]ask :t1 [<my-meet>]ask :t2 [<my-meet>]

][i :m1] [if equal? :t2 first :i [let [com1 last :i]]][i :m2] [if equal? :t1 first :i [let [com2 last :i]]]list :com1 :com2

]

конец

это find-page :tur[i pagelist]

[dolist [j get :i "черепашки]

[equal? :tur :j [op :i]]]

конец

это my-cmt3[tm who

page find-page :tm] [i get :page "черепашки]

[get-some :tm :i "can-meet

[ ifelse touching? :tm :i

[not get-some :tm :i "last-meet

[ let [cod get-some :tm :i "comm]not empty? first :cod

[launch [ask :tm [run first :cod]]]not empty? last :cod

[launch [ask :i [run last :cod]]]

]last-meet :tm :i

]

[ clr-last-meet :tm :i ]

]

]

конец

это get-table-color :color:color = 9 [op 1]:color = 0 [op 9]:color < 70 [op 2 + int (:color / 10)]3 + int (:color / 10)

конец

это color-react[pl get-table-color colorunder]not empty? item :pl <c-list> [not :pl = <l-color> [run item :pl <c-list>]

]

установи_<l-color> :pl

конец

это светофор :n

if :n < 1 [stop]:n > 6 [stop][i get first pagelist "черепашки ]

[if not empty? item :n ask :i [<traf-list>] [[ask :i [run item :n <traf-list>]]]]

конец

это наугад :n[zn 1]

if less? :n 0 [let [zn -1]] [n abs :n][res product :zn random sum :n 1]

op :res

конец

это перо :l-com

ifelse equal? item 3 :l-com "true [let [p_col random 255]]

[let [p_col item 2 :l-com ]]item 1 :l-com:p_col

конец

это пусто

конец


2.1.2 Тестирование программы

Данная программа была протестирована во 2 и 3 классах лингвистической школы и в 6 классе коррекции СОШ№3 г. Славянска-на-Кубани. В течение третей четверти 2003-2004учебного года ученикам предлагалось изучить возможности ПервоЛого. За это время они приобрели навыки по работе в данной среде, научились программированию. В качестве контрольного задания было предложено создать проект «Смена Дня и Ночи». Все ученики успешно справились с заданием. Были сделаны интересные и красивые проекты, что показало эффективность использования данного приложения в качестве обучающей программы.


2.1.3 Исполнитель «Черный ящик»

Всякая система представляет собой некоторый объект, который можно выделить из окружающей среды. Система взаимодействует с окружающей средой: среда оказывает влияние на систему , а система - на среду. Воздействие среды на систему называют входами или входом системы, в воздействие системы на среду - выходами или выходом системы. Здесь «воздействие» понимается в широком смысле. Это могут быть материальные объекты, которыми обменивается среда и система, физическое воздействие, информация. Для всякой системы можно перечислить множество входов и выходов, совсем не обязательно связанных с ее прямым назначением. Например, система «ручные механические часы». Ее входы -это верньер для завода часов и для перевода стрелок; но в тоже время и пыль, грязь, вода, тряска, удары. Выходы - циферблат со стрелками, тиканье, вес, способ крепления на руке, способ изображения цифр на циферблате, точность хода и так далее. Для большинства реальных систем список входов/выходов бесконечен. Мы часто не знаем как объект устроен «внутри». Нам важно лишь знать к каким результатам на выходе приведут определенные воздействия на входе системы. В таких случаях говорят, что система рассматривается как «черный ящик».

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


Рис.6 Лист «инструкция»

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


Рис.7. Лист «игра» Рис.8. Ввод начального значения


Если вы решите, что отгадали - щелкните по кнопке отгадка, и ответьте на вопросы, которые задаст компьютер.


Рис.9. Окно «Отгадки»


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

Листинг программы

это startup

пусть "помню [] {Создает переменную с именем помню и присваивает ей нулевое значение. Переменные не исчезают при закрытии проекта}

вл "инструкции {Показывает на экране лист «инструкции». Входной параметр - имя листа в активном проекте. Для загрузки листа можно просто напечатать его имя.}

конец

это новая.игра

экран, ст { Стирает текст в активном текстовом окне. }

пусть "помню []

загадка, покажи_текст{ Спрятанное активное текстовое окно появляется на экране. В этом блоке программы, при нажатии кнопки «новая игра» , появляется спрятанное окно, в котором можно изменить формулу по которой производятся вычисления.}

конец

это черный_ящик

спроси "|Введите число на вход черного ящика| { Открывает диалоговое окно, в котором предлагается ввести число на вход черного ящика и нужно напечатать ответ. После того как ответ будет напечатан, его текст хранится в виде символьной цепочки, до следующего применения команды спроси и может быть получен с помощью датчика ответ. }

если не число? ответ [сообщи [На вход черного ящика можно подать только число!] стоп] { Если входной параметр не является числом, выводится сообщение в сигнальном окне, что на вход черного ящика можно подать только число. Чтобы закрыть окно, щелкните на OK.

Работа процедуры останавливается. }

пусть "цифра ответ {Если входной параметр является числом, сообщает последовательность символов, напечатанную в диалоговом окне, открытом командой спроси. Ответ сообщает введенный текст как одно (длинное) слово. }

пусть "помню внсп :цифра :помню {Сообщает список, полученный добавлением первого входного параметра в начало второго. Второй параметр должен быть списком.}

экран, вставь "|Ввели | вставь :цифра вставь "| получили | пиши вычисления :цифра{ Печатает входной параметр в позиции курсора в активном текстовом окне. Курсор не переходит на следующую строку.}

конец

это вычисления :цифра

выход делай разбери загадка {Останавливает процедуру и сообщает результат.}

конец

это отгадка

пусть "проверка 1

пусть "счетчик 0 контроль

конец

это контроль

подбор

локально "вопрос { Делает указанную переменную локальной по отношению к процедуре, содержащей команду локально. }

пусть "вопрос пред "|Сколько получится если на вход черного ящика подать| :проверка спроси :вопрос

если_иначе ответ = (вычисления :проверка) [пусть "счетчик :счетчик + 1

если :счетчик = 3 [сообщи [Все правильно !] стоп] контроль][сообщи [Неправильно !]] {В данной процедуре происходит проверка правильности работы черного ящика. Выводится диалоговое окно, в котором спрашивается сколько получится, если на вход черного ящика подать число (число предлагается, которое не было использовано в процессе работы черного ящика.). Если в течении трех раз были получены правильные ответы, выводится сообщение, что все правильно сделано, иначе выводится сообщение «неправильно».}

конец

это подбор

пусть "проверка :проверка + 1

если входит? :проверка :помню [подбор]

конец


2.1.4 Тестирование программы

Данная программа была апробирована на учениках 3 класса лингвистической школы г. Славянска-на-Кубани. Ребята справились с заданием, но в зависимости от уровня учеников кто-то быстрее сообразил что за команда «скрывается» в черном ящике, а кто-то медленнее. Данный исполнитель развивает алгоритмическое мышление, сообразительность, внимательность. Эксперимент показал, что данная программа подходит для любого возраста учащихся, в зависимости от сложности задания.


2.2 Моделирование алгоритмического исполнителя в интегрированной среде Delphi


Согласно классификации, приведенной выше, исполнители могут быть работающими в среде и с величинами.

Данная программа является примером исполнителя, работающего с величинами, но в среде.

В качестве величин выступают буквы, а средой является линейка с пронумерованными буквами. Описанный ниже исполнитель «Умный мячик» создан на основе исполнителя, описанного в учебнике по информатике Семакина И.Г.[4], но в упрощенной среде.

При запуске программы появляется следующее окно:

Рис.10.Вид программы


Мячик находится в нулевой точке отсчета шагов. Над ним расположена линейка с алфавитом от А до Я, а также нумерация букв, чтобы проще было определять шаг.

В окне команд задается направление движения мячика: вправо или влево, а также размер шага.


Рис.11. Окно команд


После того как данная команда задана, нужно нажать на кнопку ВЫПОЛНИТЬ. Мячик остановится на заданной букве, в окно ВЫПОЛНЕННЫЕ ДЕЙСТВИЯ запишется команда, которая была выполнена и в окно ПОЛУЧИЛИ СЛОВО помещается буква, на которой остановился мячик. Затем в окно команд вводится новое задание и действия повторяются. Если по ошибке была указана неправильная команда, с помощью кнопки ОТМЕНИТЬ ПОСЛЕДНЕЕ ДЕЙСТВИЕ эта команда будет удалена. Действия повторяются до тех пор, пока нужное слова не будет получено. В данном примере завершенная команда выглядит следующим образом:

Рис.12. Пример работы исполнителя


Эта программа может быть использована учителями информатики при обучении темам «Алгоритмизация» и «Алгоритмические исполнители»., а также на интегрированных уроках информатики и русского языка в качестве контроля знаний орфографии.

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

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

Листинг программы

program Project1;

uses

Forms,in 'Unit1.pas' {Form1};

{$R *.res}

begin

Application.Initialize;.CreateForm(TForm1, Form1);.Run;

end.

unit Unit1;

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Grids, ExtCtrls, jpeg;

type

TForm1 = class(TForm): TStringGrid;: TGroupBox;: TComboBox;: TRadioButton;: TRadioButton;: TEdit;: TLabel;: TStringGrid;: TButton;: TLabel;: TMemo;: TShape;: TButton;FormActivate(Sender: TObject);Button1Click(Sender: TObject);Button2Click(Sender: TObject);FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations };

var

Form1: TForm1;:array[1..33] of char = (А, Б, В, Г, Д, Е, Ё, Ж, З, И, Й, К, Л, М, Н, О, П, Р, С, Т, У, Ф, Х, Ч, Ц, Ш, Щ, Ъ, Ы, Ь, Э, Ю, Я );,ym,xms,Count: integer;: string;:Boolean;

implementation

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);

var i:byte; k:byte;: integer;:TRect;:TBitmap;

begin

for i:=1 to 33 do begin.Cells[i,0]:=alf[i]; ;j:=1 to 33 do begin

StringGrid2.Cells[j,0]:=inttostr(j);

end;:=0; :=80;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

Key:=true;(Count);:=xm;:=Edit1.Text;

if radiobutton1.Checked=true then

begin

memo1.Lines.Add('Влево '+inttostr(combobox1.itemindex+1));:=xm-(combobox1.itemindex+1)*20;

If xm<0 then xm:=xm+(combobox1.itemindex+1)*20;

end;

if radiobutton2.Checked=true then

memo1.Lines.Add('Вправо '+inttostr(combobox1.itemindex+1));:=xm+(combobox1.itemindex+1)*20;

If xm>33*20 then xm:=xm-(combobox1.itemindex+1)*20;

end;.Left:=xm;.Text:=Edit1.Text+alf[xm div 20];

end;

procedure TForm1.Button2Click(Sender: TObject);

begin Key=true then

begin

memo1.Lines.Delete(Count);(Count);:=False;

end;.Left:=xms;.Text:=ss;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

Key:=False;:=-1;

end;

end.


2.2.1 Тестирование программы

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

Описанная выше программа была предложена для работы в 5 «А» классе СОШ №13 г. Приморско - Ахтарска в качестве контроля знаний орфографии. Ученикам предлагалось написать словарные слова, данные на доске, в которых были пропущены орфограммы. Каждому ученику были розданы два кружечка красного и зеленого цвета. Если у него возникли трудности при выполнении задания, то он поднимает красный кружек, если выполнил задание - поднимает зеленый. Таким образом учителю легче контролировать работу класса. Данный вид работы был интересен ученикам и они с удовольствием выполняли задание.

Также данный исполнитель был предложен в 10 «Б» классе при изучении темы «Алгоритм и алгоритмический исполнитель». Перед объяснением нового материала учащимся предлагалось ознакомиться с работой данного исполнителя. Затем учитель в форе эвристической беседы подводит учащихся к определению алгоритма и исполнителя алгоритма. С помощью «Умного мячика» легко можно определить последовательность действий и построить алгоритм. Апробация показала, что использование такого вида работы эффективно и интересно как ученикам, так и учителю.


2.2.2 Описание программы

Данная программа состоит из файла проекта Progect1. Он включает следующие процедуры :

procedure TForm1.FormActivate(Sender: TObject);

В данной процедуре задаются начальные координаты мячика. В компонент StringGrid1 вводится алфавит, а в StringGrid2 - нумерация букв

procedure TForm1.Button1Click(Sender: TObject);

Переменной ss присваивается значение Edit1.Text. Переменной key присваивается значение true. Переменной xms присваевается значение координаты мячика xm. В компонент Edit1 вводится буква.

Проверятся условие, если выбран компонент Radiobutton1, то в компонент memo1 записывается: «Влево» и значение компонента ComboBox1, а если выбран Radiobutton2, в memo1 записывается: «Вправо» и значение компонента ComboBox1.

procedure TForm1.Button2Click(Sender: TObject);

В компоненте memo1 удаляется последняя строка. Проверяется условие, если переменная key= true, то последняя строка удаляется и key присваивается значение false.

procedure TForm1.FormCreate(Sender: TObject);

Переменной key присваивается значение false.


Заключение


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

1. Проанализировать и систематизировать научную литературу по теме «Алгоритмические исполнители», а также школьных учебников по информатике.

2. Создана классификация известных исполнителей.

. Изучены возможности приложения ПервоЛого и создан проект «Смена дня и ночи» как демонстрация возможностей этой среды.

4.Изучена среда ЛогоМиры и создан алгоритмический исполнитель «Черный ящик».

.Изучена среда «Delphi» и разработан алгоритмический исполнитель.


Список литературы


1. Информатика. 5-6 класс. Начальный курс/под ред. Н.В.Макаровой.-СПб.:Питер, 2002.-160с.

. Основы информатики и вычислительной техники: Проб.учеб. для средних учебных заведений/А.Г.Кушниренко, Г.В.Лебедев, Р.А.Сворень. 3-е издание- М.:Просвещение, 1993. - 224с.

. Основы информатики и вычислительной техники:Проб.учеб. для 10-11 классов средней школы / А.Г.Гейн, В.Г.Житомирский, Е.В. Линецкий и др. 3- е изд. - М.:Просвещение, 1993. - 254с.

. Информатика. Задачник - практикум в 2-х томах / Под ред. И.Г. Семакина, Е.Х. Хеннера:Том1, - М.: Лаборатория базовых знаний, 2001. - 304с.

. Методика преподавания информатики: учеб. Пособие для студентов пед.вузов / М.П.Лапчик, И.Г. Семакин, Е.К.Хеннер; Под общей редакцией М.П.Лапчика. - М.: Издательский центр «Академия», 2000г. - 816с.

. Информатика: Учеб. пособие для сткдентов пед. вузов/ А.В.Могилев, Н.И.Пак, Е.К.Хеннер; Под ред. Е.К.Хеннера. - М.: Изд. Центр «Академия», 2000. - 816с.

. Delphi5. Справочное пособие. / А.Р.Архангельский - М.: «Издательство БИНОМ», 2001г. - 768с.

. Основы информатики и вычислительной техники : Пробный учеб. для сред.учеб.заведений/ А.Г. Кушниренко, Г.В. Лебедев, Р.А. Сворень. - М.:Просвещение, 1985 - 1986. - 245с.

. Основы информатики и вычислительной техники: Пробное учеб.пособие для сред.учеб.заведений: В 2 ч./ Под ред. А.П.Ершова и В.М. Монахова. - М.: Просвещение, 1985 - 1986. - 376с.

. Пейпет С. Дети, компьютер и плодотворные идеи: Пер с англ. - М.:Мир, 1990. - 243с.

. Бешенков С.А. Школьная информатика: Новый взгляд, новый курс// Педагогическая информатика. - 1993. - №2

. Патаракин Е.Д. Телекоммуникации в среде Лого: Многообразие сообщений// Педагогическая информатика. - 1991. - №2.

. Обучение алгоритмизации с помощью исполнителя//Информатика и образование. - 2001. -№9. с.56-62.

. ЛаврентьевВ.Н.,Пак Н.И., Информационные и коммуникационные технологии в образовании//Информатики иобразование. - 2000. - №9. - с.87 - 89

. Шкабура О.В. Стиль мышления как стратегия решения задач с использованием компьютера// Информатика и образование. - 2000. №10. - с.9-16

. Сенокосов А. И. Основы алгоритмизации//Приложение к газете «Первое сентября», Информатика. - 1998. - № 15. - с.11 - 17

. Хеннер Е.К., Информатика - М.: Издательство «Академа», 2000. - 643с.

. Бобровский С.С. Delphi5: учебный курс - СПб : Питер, 2001. - 640с.

. Архангельский А.Я. Программирование в Delphi4 - М.:ЗАО «Издательство БИНОМ», 1999г. - 768с.

. Матрос Д.Ш., Полев Д.М., Мельникова Н.Н. Управление качеством образования на основе новых информационных технологий и образовательного маниторинга. М.: Педагогическое общество России,1999. - 96с.


Приложение


Поурочное планирование

Урок 1

Тема: Графический редактор.

Цели:

Обучающая:

Познакомить с Графическим редактором и его основными операциями, познакомить учащихся с объектами и их свойствами, научить создавать разноцветные рисунки.

Развивающая:

Развитие воображения, развитие внимания, восприятия, развитие познавательных интересов в данной области.

Воспитательная:

Воспитание инициативы у учащихся, воспитание самостоятельности в работе.

План урока:

  1. Орг.момент.
  2. Повторение пройденного материала
  3. Изучение новой темы. Объекты Графического редактора и его свойства. Знакомство с интерфейсом Графического редактора в ЛогоМирах.
  4. Закрепление навыков. Применение основных операций графического редактора.
  5. Практическое задание. Нарисовать Снеговика, или Башню, или Мухомор.
  6. Домашнее задание.

Ход урока:

1.Организационный момент.

2.Повторение пройденного материала. Мы с Вами раньше уже работали с Графическим редактором.

  • Что это за редактор?
  • - Для чего нужен Графический редактор?
  • -Какой вид информации обрабатывает графический редактор?
  • 3. Изучение новой темы.
  • Графический редактор - программная среда, предназначенная для создания, обработки и хранения изображений, созданных на экране. Познакомить учащихся с объектами среды и их свойствами.
  • Объект - точка. Свойства: координаты, цвет.
  • Объект - линия. Свойства, толщина, цвет.
  • Объект - замкнутая область. Свойства. цвет замкнутой, внешней,
  • внутренней области.
  • Объект - графическое изображение. Свойства, цвет, размер, разрешение. Познакомить учащихся с основными операциями над объектами графического редактора и со способами их управления:
  • выбор объекта;
  • выбор цвета;
  • операции с фрагментами, выделить область, вырезать участки изображения, перемещать их, копировать, составлять изображения из нескольких
    фрагментов и так далее.
  • дополнительные операции (стирание участков картинки, очистка всего эк рана и так далее).
  • 4.3акрепление навыков.
  • Учащиеся знакомятся с построением линий, контурных и закрашенных овалов и прямоугольников; учатся выбирать цвет, менять толщину линии; выделять область, вырезать и копировать.
  • 5.Практическая работа проходит в виде Лабораторной работы. Используя пиктограммы Графического редактора создать «Снеговика» или «Башню» или «Мухомор» и ответить на следующие вопросы:
  • Какими инструментами меню Графического редактора вам пришлось воспользоваться?
  • Сколько раз пришлось вставлять скопированный овал (прямоугольник)?

6.Домашнее задание.

В конце урока учитель ставит задачу создания общего рисунка на тему:

  1. Осенний лес
  2. Морские глубины
  3. Моя улица или другие.

Дети выбирают тему и продумывают элементы будущего рисунка в картине.

Осенний лес. Дать задание: на альбомном листе нарисовать что-нибудь для будущего леса - дерево, животное, птицу, гриб или еще что-то, что бывает в лесу.

Морские глубины. Нарисовать на альбомном листе кораллы, или водоросли, или рыбу, или каких-нибудь других обитателей водных глубин.

Моя улица. Здесь могут быть дома, качели, горки, машины, собаки, кошки, люди и так далее, насколько хватит фантазии.

Урок в ПервоЛого

Тема: Формы черепашек. Цель:

Образовательная: научить создавать новую форму черепашки, изменить готовую, как удалить и как скопировать форму.

Развивающая: развить навыки логического мышления, памяти.

Воспитывающая: воспитать бережное отношение к оборудованию, самоконтроль, дисциплинированность.

План урока:

1.Организационный момент.

.Ознакомление с новым материалом

3.Закрепление нового материала

4.Подведение итогов

Ход урока

1. Организационный момент (перекличка, проверка дежурства)

2. Ознакомление с новым материалом.

Вы заметили, что в окошке с формами черепашки есть пустые клетки. Они нужны для того, чтобы вы сами нарисовали нужную вам форму. Как создать новую форму

Существует несколько способов для создания новой формы черепашки. Можно нарисовать новую форму с помощью инструментов Рисовлки или переделать имеющуюся форму. Давайте попробуем нарисовать новую форму. Для этого нужно выполнить следующий алгоритм.

  1. Выберите в инструментах Ключ.
  2. Откройте окно редактирования формы, щелкнув Ключом на пустой форме или же щелкнув по ней правой кнопкой мышки.
  3. На листе появится окно с увеличенной пустой формой, а набор форм сменится Рисовалкой

4.Не забудьте, что в вашем расположении есть кнопки поворота картинки на 90 градусов и зеркального отображения.

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

  1. Выберите в инструментах Ключ.
  2. Щелкните ключом по форме.
  3. На листе вы увидите окошко с увеличенной выбранной формой. Набор форм сменился Рисовалкой. Поменяйте форму. Например, сделайте черного лебедя с короной.

4.Изменив форму, щелкните на черепашке с узелком - окно форм закроется, нарисованная форма записалась в нужную клетку. Посмотрите, что получилось.

Как удалить форму

1. Выберите Ножницы в Ящике с инструментами.

  1. Щелкните на форме.
  2. Форма исчезнет.

Если вы по ошибке удалили нужную форму, то щелкните немедленно на лесенке - содержимое клетки восстановится. Как скопировать форму

1.Выберите Руку в ящике с инструментами.

2.Появившейся Рукой схватите форму, которую нужно скопировать,щелкнув по ней мышкой.

  1. Рука сожмется в кулак.
  2. Щелкните на пустой клетке в наборе форм. Вы увидите копию формы.

3. Закрепление нового материала.

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

4. Подведение итогов.



Похожие работы

Развитие алгоритмической культуры школьников методами дистанционных технологий
С точки зрения дидактики очень важно такое функциональное свойство алгоритмов и алгоритмических предписаний, как...
Цукарь, А.Я. Схематизация и моделирование при решении текстовых задач [Текст] /А.Я. Цукарь // Математика в школе. – 2003. – № 5.
Развитие алгоритмического мышления младших школьников на уроках информатики
Если в процессе обучения информатики включать анализ и решение алгоритмических задач, то у...
...задать среду, в которой он действует, и действия, которые он совершает при нажатии каждой из кнопок. Основой для введения исполнителей служат задачи.
Благотворительность

Загружая свои работы, Вы помогаете не только студентам, но и людям, которым Ваша помощь действительно нужна. Чем именно это помогает? Читать дальше…..