Статья "Язык и среда программирования XXI века — Scratch (Скретч)"

Разделы: Информатика


На свете существуют множество языков программирования, но программировать в Scratch (Скретч) гораздо легче, чем в традиционных языках программирования. Детей нужно знакомить с компьютерами при помощи именно таких программ, причем совершенно бесплатных. Scratch полностью бесплатен, его свободно можно загрузить с сайта разработчиков, как версию для Windows, так и для Mac OS. В основе Scratch лежит графический язык программирования, для того, чтобы создать скрипт нужно просто совместить графические блоки вместе, перетаскивая блоки, мы сможем построить любую программу–игровую, обучающую, презентацию, фильм и т.д. .Свободный проект Scratch был разработан маленькой командой ученых из MIT Media Lab . Среда Scratch является наиболее простой и доступной - ее удобно использовать для обучения школьников, начиная с младших классов, но и ребята более старшего возраста с удовольствием программируют в этой среде. Scratch –открытая система, всегда можно взять любой проект и посмотреть, как реализован тот или иной алгоритм.Scratch заставляет творчески думать, учит общению, логическому мышлению и программированию. В Scratch реализованы основные алгоритмические структуры: ветвления, циклы. Относительно недавно вышла, наконец, долгожданная русскоязычная версия. В ней стали доступны не только кириллица, но и команды в ней теперь можно задавать по-русски. Для сторонников англоязычных команд существует возможность ,предусмотренная в меню, легко перейти к ним. Работая в среде Скретч, интуитивно сравниваешь ее с Flash и не перестаешь удивляться, как сравнительно легко можно создать достаточно сложную анимацию, широкому диапазону охвата проектов при использовании этой программы–от презентации до создания анимационных фильмов и компьютерных игр, причем за короткое время. Scratch называют “разогревающим” языком. Он рассматривается многими, как преамбула к изучению более сложных, более известных языков, таких как Паскаль, Си и т. д.. Однако, одно несомненно.– те ребята, которые прошли бы мимо программирования, не потеряются, если свое знакомство с миром программирования они начнут со Scratch. Щедро делиться своими идеями и наработками, творчески мыслить и общаться, системно анализировать, эффективно взаимодействовать с другими, итеративно пересматривать и непрерывно учиться – все эти навыки 21 века они приобретут, работая в этой среде. В Сети существует сообщество пользователей, обменивающихся программами, написанными на языке Скретч. Оно находится по адресу http://scratch.mit.edu .Зарегистрировавшись, вы сможете загрузить чужой проект на свой компьютер, посмотреть, как организована анимация в той или иной программе, скопировать тот или иной фрагмент программы для своего проекта. Пионером продвижения Скретч в Рунете является сайт “Летописи”, находящийся по адресу: http://letopisi.ru

Среда программы Scratch

Итак, в в верхней части программы находится меню команд (Рисунок1):

Рисунок 1

  • Новый – создание нового проекта;
  • Открыть – открывает проект;
  • Сохранить– сохраняет текущий проект;
  • Сохранить как – сохраняет проект под новым именем;
  • Публиковать! – размещает проект в Сети;
  • Отмена – отменяет последнюю введенную команду;
  • Язык – можно выбрать интерфейс на любом языке (многие имеют смысл выбиратьанглийский)
  • Дополнения – можно узнать о реализации данной версии (статья готовилась в версии Scratch 1.3 от 2 сентября 2008 г.), импортировать любой проект, поставляемый вместе со средой в качестве примера для изучения;
  • Нужна помощь? – данная команда меню загружает учебник Scratch,правда, по-английски.

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

  • Движение (синий) – содержит команды перемещения объектов;
  • Внешность (фиолетовый) – команды изменения внешнего вида объекта;
  • Звук (лиловый) – команды управления звуком;
  • Перо (темно-зеленый) – команды рисования на экране;
  • Контроль (желтый) – контролирующие операторы, условные операторы и операторы циклов;
  • Сенсоры (голубая) – датчики, команды управления мышью, определять расстояние и координаты;, числа(ярко-зеленый)  — операции с числами, логические операторы, вычисления, команды сравнения;
  • Переменные (оранжевый) – команды управления переменными.

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

В правой части экрана находится рабочая область белого цвета. Здесь задается фон исполнения или сцены и собираются объекты программы. Их еще называют спрайтами. Спрайты имеют свой вид. Они могут видоизменяться или ,иначе говоря, менять свой костюм. Можно пользоваться готовыми спрайтами, которые можно загружать из библиотек, а можно рисовать самим, используя достаточно хороший внутренний графический редактор Scratch. Готовую программу можно посмотреть, распахнув рабочую область на весь экран. Для этого достаточно нажать на кнопку “Перейти в режим презентации”,которая находится под рабочей областью на серой панели.

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

Создание диалога в среде Scratch

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

Выберем фон на котором будет развиваться все действие. Для выбора сцены диалога возьмем картинку из коллекции, которая поставляется вместе со средой Scratch( Скретч). Под рабочей областью находится серая область. Щелкнем мышью на сцене. В центральной серой области экрана щелкнем мышью на кнопке “Редактировать” и попадем в среду графического редактора. Жмем мышью на кнопке “Импорт” и выберем папку “Outdoors”.Находим картинку под именем

“boardwalk” и жмем на кнопку “OK”.Фон для действия готов. Теперь, подготовим спрайты. Их два, так как два действующих лица, но может быть и больше, в зависимости от замысла проекта. Под рабочей областью находятся три кнопки “Рисовать новый объект”, “Выбрать новый объект из файла”, “Выбрать случайный объект”. Выберем среднюю кнопку “Выбрать новый объект из файла”,предварительно удалив спрайт кота, данный по умолчанию, щелкнув на нем правой кнопкой мыши и в выпавшем контекстном меню выбрав “Удалить”.Находим папку “People”и оттуда знакомым образом загружаем файл “girl1-standing”. В центральной части экрана появляется Спрайт1.У спрайта есть две кнопки: “Рисовать” и “Импорт” Щелкнем на кнопке “Импорт” и загрузим файл “girl1-standing2”. Это новый вид нашего спрайта или новый костюм, т.е. благодаря этому приему происходит изменение внешнего вида объекта. Во внутреннем графическом редакторе рисуем третий вид объекта, предварительно загрузив туда файл “girl1-standing2” и назовем его “girl1-standing3”. Можно создать многообразие костюмов, фактически детально прорисовав анимацию. Это зависит только от фантазии автора. Второй спрайт создаем аналогичным образом, только файлы называются соответственно “girl2-standing”, “girl2-standing2” и “girl2-standing3”. Внешний вид объектов создан.(Рисунок2). Переходим к программной части проекта.

Рисунок 2

Рисунок 3

Щелкнем мышью на первом спрайте “Спрайт1”, в центральной серой области команд жмем на вкладку “скрипты”. На рисунке (Рисунок3), можно посмотреть весь перечень команд для первого объекта программы. Между вопросом и ответом задано время 2 секунды. Время подобрано экспериментальным путем. Чем дольше планируется ответ, тем дольше должно быть подобрано время ожидания. Переходы к костюмам нужны для анимации фигур. В конце диалога обе девочки покидают сцену. Именно для этого нужны команды в конце “спрятаться” и в начале “показаться”. По этой причине и нужны начальные координаты для исходного положения фигур. Для задания координат или их определения в Scratch достаточно дважды щелкнуть на объекте и в левой области среды Scratch,в области команд, в группе синих команд движения “идти в х: у: ” автоматически появляются координаты, соответствующие положению фигуры на сцене. Это очень удобно, не надо вручную подбирать координаты положения. Интересны с точки зрения программирования и команды цикла и ветвления. С точки зрения теории программирования любопытна команда цикла “всегда”. В команде “идти” указано количество шагов 2. Положительное значение шага говорит о том, что спрайт перемещается вправо. Так как фигура девочки располагается в левой части сцены, то уходя с нее она должна перемещаться вправо. Команда “если” достаточна любопытна. В качестве условия используются команда определения координаты х из синей группы команд движения и зеленого “ящичка чисел”. В начале программы поставлена команда “ когда щелкнут по флажку”.С этой команды начинается большинство программ написанных в Скретч. Команда “Перейти назад на 1 слоев” нужна для помещения вперед или назад по отношению к другим объектам и самой сцены. Перейдем ко второму спрайту, который по программе называется “Спрайт 3”. ”. На рисунке (Рисунок4), можно посмотреть весь перечень команд для первого объекта программы. Все вышесказанное справедливо и для этого спрайта. Фигура девочки располагается справа. Следовательно, перемещаясь влево, она исчезает со сцены. Поэтому в команде “идти” указано отрицательное значение шага. В группе скриптов встречается команда “думать”. Она ничем функционально не отличается от команды “говорить”, только внешним видом. Диалог можно оживить парусником или кораблем, проплывающим по морю на заднем плане, который можно загрузить из папки “Transportation”. Можно населить набережную другими персонажами, проходящими мимо, бросающие реплики и т. д. Все только ограничивается фантазией автора проекта. Более детально можно прорисовать анимацию, используя больше костюмов. Все эти действия, безусловно направлены в сторону улучшения проекта. (имя файла готового проекта Приложение1 или английский вариант Приложение2) Этим Скретч и хорош. Можно взять чужую идею, проработать ее, добавить туда свое видение данного проекта. И проект приобретает второе дыхание. Следует отметить, что это не единственная возможность организации диалога в среде Scratch. Существуют и иные способы. После отладки программы всегда есть возможность опубликовать свой проект, но вначале его нужно описать.

Рисунок 4

Для этого жмем левой кнопкой мыши на белый листок бумаги с загнутым концом, находящимся в правом верхнем углу области экрана. В появившемся окне “описание проекта” пишем, что собой представляет данный проект, для чего он предназначен. Это нужно обязательно сделать перед публикацией, чтобы при загрузке на свой компьютер облегчить другим “скретчерам” поиск нужных проектов. Не всегда в Сети попадаются хорошие проекты, часто попадаются проекты и низкого качества, но даже плохие учат тому или иному способу применения каких-либо команд, каких-либо приемов, заточенных именно под Scratch. Scratch учит детей делиться результатами своего творчества, позволяет находить в проектах других новые идеи для творчества, делает процесс преподавания увлекательным и наглядным, а порой просто захватывающим. Поэтому среди многообразия компьютерных программ, предлагаемых школе для обучения учащихся, Scratch заслуживает безусловного внимания учителя.