1 КОНОНОВ Алексей Тимофеевич Краснодарский край, Славянский район, поселок Совхозный МБОУ СОШ №6, 7 класс ВОЗМОЖНОСТИ СРЕДЫ SCRATCH ДЛЯ РЕШЕНИЯ МАТЕМАТИЧЕСКИХ ЗАДАЧ. Научный руководитель: Данильченко Юлия Николаевна, учитель математики и информатики МБОУ «СОШ №6» Введение. В настоящее время основы компьютерной грамотности и использования сети Интернет стали неотъемлемой частью как умение писать и читать. Резко возрос интерес к программированию. Это связано с развитием и внедрением в повседневную жизнь информационно-коммуникационных технологий. Существуют множество языков программирования, которые предназначены для выполнения конкретных задач. Scratch (Скретч) гораздо легче, чем все традиционные языки программирования Паскаль, Бейсик, Си и т. д. Эта программа разрабатывалась как новая учебная среда для обучения школьников программированию. В Scratch можно создавать фильмы, играть с различными объектами, видоизменять их вид, перемещать их по экрану, устанавливать формы взаимодействия между объектами. Это объектно-ориентированная среда, в которой блоки программ собираются из разноцветных кирпичиков команд точно так же, как собираются из разноцветных кирпичиков конструкторы Лего. При этом блоки Scratch позволяют собирать только синтаксически верные конструкции, исключая ошибочные. Разные типы данных в среде обозначаются визуально различными формами и цветами, а значит, среда сама не допустит, чтобы пользователь создал неверно работающий код. Применений возможностям Scratch можно найти множество: в этой среде легко создавать анимированные открытки, презентации, игры, мультфильмы. Ну и, конечно же, намного интереснее изучать строгие понятия из разных областей наук, такие как, например, координаты или случайные числа из математики, программируя движения какоголибо объекта, понятного и визуально привлекательного. Можно предположить, что такая наглядность принесет гораздо больше пользы, чем правила в учебнике математики, написанные сухим академичным языком. Важно и то, что готовыми проектами, созданными по этой технологии, можно обмениваться внутри сообщества, объединяющего весь мир, которое активно формируется сейчас в Интернете. Scratch полностью бесплатен, его свободно можно загрузить с сайта разработчиков, как версию для Windows, так и для Linux и др. 2 Цель работы: исследовать возможности среды Scratch для решения математических задач. Для реализации главной цели было необходимо освоить вне учебной программы тему построение графиков функций, решение квадратного уравнения, равенство треугольников, теорема Пифагора, поэтому при выполнении этой работы рассматривались и такие цели, как расширение знаний по курсу алгебры и геометрии за 7-8 класс. Задачи, поставленные для достижения цели: – изучить среду программирования Scratch, ее возможности и характеристики, уточнить особенности программирования на Scratch; – рассмотреть потенциал программирования на Scratch, при решении математических задач; – создать собственные проекты решения математических задач; – провести анализ полученных результатов. 3 1. Теоретическое обоснование исследования. 1.1 Среда программирования Scratch 1.4 Скретч (возможно от англ. from scratch— «с чистого листа») — визуальная объектно-ориентированная среда программирования для обучения школьников. Она основана на построении программ из разноцветных кирпичиков-команд. Свободный проект Scratch был разработан маленькой командой ученых из MIT Media Lab. В Scratch реализованы основные алгоритмические структуры: ветвления, циклы. В нем может быть выбран один из 50 языков интерфейса. Относительно недавно вышла русскоязычная версия, в которой команды можно задавать по-русски. В Сети существует сообщество пользователей, обменивающихся программами, написанными на языке Скретч. Оно находится по адресу http://scratch.mit.edu. Создавая этот язык, ученые поставили более широкую задачу, чем научить учеников программированию. Основная идея проекта – стать частью образовательной программы детей и подростков, развить у них творческие способности, логическое мышление, свободу в использовании информационных технологий. Все это решается путем вовлечения учеников в создание собственных проектов: мультфильмов, демонстрационных роликов, программ-тренажеров, обучающих программ, компьютерных игр, интерактивных мультимедийных презентаций. В основе программного продукта Scratch лежит графический язык программирования, включающий различные типы данных и структуры управления, реализованный в понятном, дружественном интерфейсе, доступном для понимания и использования учениками даже начальных классов. Кроме того, развитые алгоритмические конструкции языка Scratch и концепции объектно-ориентированного программирования позволяют создавать достаточно сложные и эффективные программы, делают эту среду полезной и для старшеклассников. Любая проектно - исследовательская работа в Scratch основана на законах естественных наук: физики, математики. 1.2. Описание среды программирования Scratch 1.4 После запуска программы экран имеет вид (см. рис.1) – это интерфейс программы. 4 Рис. 1. Интерфейс программы Главная область (см. рис. 2), это, конечно же, сцена (располагается в правой части экрана), на ней отображаются результаты работы проекта. Рис. 2. Сцена Чтобы на сцене что-нибудь происходило, необходимо создать спрайты (см. рис. 3), т.е. визуальные динамические объекты; для этого используются специальные кнопки (см. рис. 4). Рис. 3. Спрайты Рис. 4. Кнопки создания новых спрайтов Все, что создано, отображается на листе спрайтов, где можно выбрать один из спрайтов для настройки. При этом информация о текущем спрайте отображается в средней части экрана – поле скриптов (см. рис.5). Это поле предназначено для описывания поведения данного спрайта. Рис. 5. Поле скриптов 5 Верхнее поле содержит закладки (см. рис. 6), с помощью которых можно от просмотра скриптов перейти к просмотру возможных видов (рисунков) спрайта и связанных с данным спрайтом звуков. Краткая информация о выбранном спрайте: имя, текущий образ, координаты, направление и т.д. находятся выше (см. рис. 7). Рисунок 6. Закладки Рис. 7. Краткая информация о спрайте В этой же области находится кнопка , вызываемая путем нажатия правой кнопки мыши на спрайт или звук, позволяющая сохранить спрайт или звук в виде отдельного файла. Стоит подчеркнуть, что скрипты являются составной частью каждого спрайта, подобно визуальным образам и звукам. Общие атрибуты, относящиеся ко всему проекту в целом, можно присоединить к сцене: у нее также могут быть свои скрипты, образы и звуки. При создании скриптов используется палитра блоков, которая занимает левую часть экрана (см. рис. 8). В ее верхней части располагаются 8 разноцветных кнопок, которые выбирают нужную группу команд: движение (см. рис. 8), внешность (см. рис. 9), звук (см. рис. 10), перо (см. рис. 11), контроль (см. рис. 12), сенсоры (см. рис. 13), числа (см. рис. 14), переменные (см. рис. 15). Команды выбранной группы отображаются в нижней части выбранного окна. Рис. 8. Палитра блоков Рис. 9. Внешность Рис. 10. Звук Рис. 11. Перо 6 Рис. 12. Контроль Рис. 13. Сенсоры Рис. 14. Числа Рис. 15. Переменные Когда все готово, можно нажать кнопку и перейти в полноэкранный режим, в котором сцена займет весь экран, а все остальные области убираются. Полученный режим очень напоминает просмотр готовой презентации в Power Point. Практически все управление системой сосредоточено в верхней части экрана. Главное меню, выполнено в виде горизонтальных кнопок. Рис. 16. Главное меню Кроме них отдельно выделены кнопки переключения режима поворота спрайтов, панель инструментов, а также кнопки запуска и остановки скриптов. Спрайты и сцены можно удалять (нажатие на правую кнопку мыши вызывает появление меню) или дублировать: создавать копии существующих объектов. Поведение каждого объекта определяется его программой – скриптом. Костюм – это внешний вид объекта, он может меняться. 7 После изучения основных конструкций языка и возможностей среды можно работать над задачей по созданию и разработке собственного проекта. 1.3. Среда программирования Scratch 2.0 9 мая 2013 года официальный сайт Scratch перешел на версию 2.0. В данной версии: новый интерфейс, новая онлайн-среда, которая доступна всем пользователям. Скретч 2.0 позволяет создавать, редактировать и просматривать проекты прямо в браузере. Возможности Scrach 2.0: Новый графический редактор включает векторную графику и теперь можно изменять размер картинки без ухудшения качества. Рюкзак позволяет копировать и перемещать спрайты, костюмы, фоны и скрипты из одного проекта в другой. Войдя в систему, можно открыть свой рюкзак внутри любого проекта (он находится внизу экрана). Можно создавать свои собственные блоки программы. Более детальная функция масштабирования для поля со скриптами и графического редактора даёт удобство использования. В обычном скретче мы могли только лишь увеличить/уменьшить размер поля, в котором собирается скрипт. Инструменты редактирования в звуковом редакторе дают возможность работать с фрагментами записанных звуковых файлов, а благодаря эффектам, теперь можно усиливать, ослаблять звук или вообще переворачивать. И еще много других новых и полезных функций. Интерфейс программы Scratch 2.0 8 2. Экспериментальное исследование 2.1. Решение математических задач в среде Scratch 2.0. Изучая программу Scratch на занятиях кружка по информатике, возникла идея исследовать возможности программы для создания проектов направленных на решение разнообразных математических задач. Скретч содержит арифметические операции (сложение, вычитание, умножение, деление, вычисление остатка от деления нацело и другие функции. Операции нахождения целого от деления или выделения целой части от деления в данной среде нет, но имеющийся набор уже предоставляет возможность для выполнения ряда заданий по созданию программ, использующих линейный алгоритм с операциями над числовыми данными. В Скретч можно отработать правила приоритета арифметических операций при расчёте математических выражений, создавая скрипты с вложенными друг в друга зелёными блоками. Часто при изучении работы функции по вычислению остатка от деления в школе решают задачи на выделение цифр числа: нахождение последней, первой цифры числа; всевозможные перестановки цифр в числе; математические операции с цифрами числа. Все проекты созданы в среде Scratch 2.0. Создаем проект решения задачи на нахождение суммы цифр трёхзначного числа. (Приложение 1) Для этого проекта будем создавать диалоговую программу, которая запрашивает трехзначное число с клавиатуры и выдает сообщение о сумме цифр введенного числа. Используя команды из блоков Сенсоры (запрашивается исходное трехзначное число), Данные (для создания переменных задающих само число и переменные в которые будут записаны цифры сотен, десятков и единиц), Операторы (использование арифметических операций сложение, умножение, остатка от деления нацело и др., а также операции слияния) и др. Справа в окне скриптов отображается программа собранная из блоков команд. Слева – результат выполнения скрипта. Скрипт программы. 9 Проект 1 «Сумма цифр трехзначного числа» При изучении работы условного оператора была рассмотрена традиционная задача по информатике на анализ числа корней квадратного уравнения и его решения. Такую задачу удалось реализовать в Скретч, используя условный оператор полной (если ... или ...) и неполной формы (если ...). Создаем проект решения задачи на анализ числа корней квадратного уравнения и его решения (Приложение 2) Для решения поставленной задачи создается диалоговая программа, которая запрашивает коэффициенты a, b, c квадратного уравнения и выдает результат на экран в экранах переменных. Для определения числа корней и их значений используется условный оператор блока Управления (если, …то, иначе …). Главная область среды во время выполнения скрипта. 10 Проект 2. «Решение квадратного уравнения». Создаем проект «Построение графика линейной функции y=kx+b» (Приложение 3) Для построения графика линейной функции в среде Scratch программа состоит из двух скриптов: функции линейная и главного скрипта откуда вызывается функция. В главном скрипте запрашивается число, которое потом передается в функцию в качестве коэффициента k. Затем в функции запрашивается значение b, отвечающий за сдвиг функции. Проект 3. «Построение графика линейной функции y=kx+b» (Приложение 4) 11 Создаем проект «Построение графика квадратичной функции y=kx » (Приложение 2 4) Программа состоит из двух скриптов - функции парабола и главного скрипта, откуда вызывается функция. В главном скрипте запрашивается число, которое потом передается в функцию в качестве коэффициента k. Можно нарисовать множество парабол, в том числе и с отрицательным k. Программа завершается, если будет введен 0. Не следует вводить k больше 1 и меньше -1, т.к. тогда график получится слишком прилегающим к оси y. В подпрограмме рисуется парабола. Однако перед этим определяется, где будет первая точка. Максимальное значение y по модулю может быть 180 (иначе график не поместится на холсте). Ориентируясь от этого значения, следует найти первое значение x. Так как мы имеем дело с функцией y = kx 2, то x = sqrt(y/k). Чтобы первый x был всегда положителен, делится на модуль k. Таким образом, нашлась точка, откуда начнется черчение графика. Последняя точка будет иметь противоположное по знаку значение x. Это значение сохраняется в переменной x_rev. Далее спрайт перемещается в первую точку и в цикле рисуются маленькие отрезки от x до x_rev (значение y при этом каждый раз вычисляется). Проект 4 «Построение графика функции y=kx2» 12 Создание проекта по теме «Вычисление гипотенузы прямоугольного треугольни- ка» (Приложение 5) Для создания данного проекта был подготовлен фон, на котором изображен прямоугольный треугольник ABC и теорема Пифагора в буквенном выражении. Программа запрашивает длины катетов прямоугольного треугольника, а затем выдает результат – длину гипотенузы. В Scratch нет функции, которая бы округляла число до десятых. Поэтому создается конструкция состоящая из команд: округление до целого, умножение и деление на 10 (блок Операторы). Конструкция округления до десятых: Проект 5. «Вычисление гипотенузы прямоугольного треугольника» Создание проекта-тренажера по теме «Вычисление неизвестного угла треугольни- ка» (Приложение 6) Для создания тренажера создается диалоговая программа, в которой при нажатии на скрипт «Зеленая галочка» запускается тренажер на исполнение. Случайным образом задаются значения двух углов треугольника. В строке для ответа необходимо вписать значение неизвестного угла. Если ответ верный, то появляется надпись «Молодец!», если же ответ неверный, то «Неверно! Сумма углов треугольника равна 180 градусов» и появляется окошко «Правильный ответ». Выполнение задач продолжается после нажатия на скрипт, при этом каждый раз задаются случайные числа для двух известных углов треугольника. 13 Проект 6. «Вычисление неизвестного угла треугольника» Создание проекта на теме «Признаки равенства треугольников» (Приложение 7) В данном проекте предлагается по готовым чертежам определить, какие тре- угольники будут равны по первому, второму или третьему признаку равенства треугольников. В строке диалога необходимо внести номера соответствующих рисунков через запятую. Проект 7. «Признаки равенства треугольников» 2.2 Сохранение программного продукта Scratch Существует два способа сохранения готового файла, созданного в среде Scratch: Первый в виде исполняемого файла с расширением exe; Второй в виде публикации программы на сайт http://scrаtch.mit.edu. 14 Первый способ сохранять файлы, созданные в среде Scratch (которые имеют расширение .sb), как исполняемые файлы, чтобы их можно было запускать на компьютере, как обычные программы. Для этой цели существует специальная программа, которая называется ChirpCompiler. Её можно скачать по адресу: http://www.chirp.scratchr.org/dl/ChirpCompilersetup.exe Для осуществления второго способа сохранения программного продукта - публикации программы на сайт http://scrаtch.mit.edu необходимо выполнить следующую последовательность действий: 1) Сначала создать учётную запись на сайте: 2) Затем нужно открыть свой проект в среде Scratch, выбрать пункт меню Публиковать, ввести необходимые данные и нажать ОК. 3) После загрузки проекта на сайт, он появляется в Моих проектах: 15 3. Заключение. В результате исследования выяснилось, что Скретч-истории, выполненные с целью моделирования математических задач, явлений и процессов, могут быть сделаны самими учащимися для демонстрации на занятиях, проведения исследований, поиска ответов на поставленные вопросы. Примерами могут служить созданные проекты-модели: «Построение графиков функции», модель «Решение квадратного уравнения», «Нахождение суммы цифр трехзначного числа», программа-тренажер «Нахождение неизвестного угла треугольника», «Вычисление гипотенузы прямоугольного треугольника», «Признаки равенства треугольника». Цель нашего исследования была достигнута: среда Scratch позволяет создавать проекты, направленные на решение математических задач. При создании скриптов в Scratch не требуется написания текстов программ на формализованных языках программирования, так как здесь предоставлены все необходимые графические средства для изображения данных и структур управления. Совмещая графические блоки, можно создать программу и запустить ее на выполнение в той же среде Scratch. Все поставленные задачи в начале нашего исследования были выполнены: изучены возможности и потенциал среды Scratch1.4 и 2.0; созданы собственные проекты решения математических задач. В результате проделанной работы гипотеза подтвердилась, в итоге осуществленного экспериментального исследования было установлено, что среда Scratch располагает всеми возможностями для создания проектов, направленных на решение математических задач. Используя Скретч, мы научились выбирать интересные для нас направления работы, формулировать свои идеи, воплощать их в жизнь, делиться результатами. И на этом наша работа ещё не закончена. За кажущейся простотой Скретча скрываются возможности, которые необходимо использовать и в старших классах. 16 Список использованной литературы 1. http://www.tiobe.com/index.php/content/paperinfo/tpci/ 2. http://letopisi.org/index.php/Scratch 3. http://scratch.mit.edu 4. http://elrond.tud.ttu.ee/~vilip/Scratch/Vene_Juhend/Scr_juhend.html 5. http://ru.wikipedia.org/wiki 6. Патаракин Е. Руководство для пользователя среды Scratch //http://www.supercode.ru/download/scratch_by_patarakin.pdf 7. Еремин Е.А. Газета «Информатика». Среда Scratch – первое знакомство. – М.: Первое сентября, 2008 – №20 (573) – С. 17–24. 8. Учитесь со Scratch, сообщество учителей, родителей и просто творческих людей. /scratch/