Как пользоваться программой скретч


Scratch — язык программирования для детей

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

Создание сайтов или своих проектов в привычных средах разработки вряд ли заинтересует 7-летнего ребенка, и для решения этой проблемы в 2003 году в MIT появился первый прототип языка Scratch, специально предназначенного для обучения школьников младших и средних классов основам создания собственных игр, анимаций и совместной работы над проектами.

Что такое Scratch

Scratch — это визуальная объектно-ориентированная среда программирования. В Scratch ученики управляют объектами-спрайтами. Для них задается графическое представление, которое может быть импортировано из любого источника изображения, и скрипт действий, который составляется из блоков по принципу drag-and-drop. Эти блоки бывают нескольких видов:

  • движение
  • внешность
  • звук
  • перо (использование черепашьей графики)
  • контроль
  • сенсоры
  • операции
  • переменные

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

Примеры приложений на Scratch

Вот несколько примеров проектов, созданных при помощи Scratch:

Как начать разработку на Scratch

Пользоваться Scratch можно полностью бесплатно как в онлайн-версии, так и в офлайн-редакторе. В 2014 году также вышла версия Scratch для детей младшего возраста под названием ScratchJr. Это мобильное приложение для Android и iOS, в котором дети так же управляют спрайтами, только в более упрощенной форме. В блоках не используется текст, поэтому дети могут учиться программировать до того, как научатся читать, и им доступен ограниченный набор действий: простые движения спрайтов и работа со звуками и изображениями.

Что дальше

Scratch стал основой для нескольких других визуальных языков программирования. Самым известным из них является Snap!, основными отличительными особенностями которого является возможность создания собственных блоков и использование объектов первого класса, поэтому этот язык можно использовать для обучения и людей более старшего возраста. На основе Scratch также осуществляют программирование Arduino, делая этот процесс ещё более простым.

Обучение Scratch

Материалы для обучения Scratch на русском

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать [email protected]

Scratch для «продвинутых»

Scratch — это визуально-ориентированный язык программирования для детей. Существует мнение, что это детский язык для того, чтобы просто поиграть «в программирование» и ничего путного (серьезного) из него сделать не получится. Когда я только начал вести занятия для детей на Scratch, мне как человеку с двумя высшими техническими образованиями, казалось также. Однако спустя время мне пришлось поменять свое мнение. Оказалось, что даже в этом детском языке программирования скрыты фишки, которые могут быть серьезно использованы даже при обучении профессиональному программированию. Хочу поделиться с вами моими открытиями. Моему ученику нравилась игра — «Зомби против растений». И ему было интересно самому запрограммировать её. Давайте вспомним как данная игра работает? С правой стороны у нас есть шеренга растений, которая расстреливает приближающихся зомби. Есть множество решений данной задачи, но на мой взгляд более элегантное решение — задействовать минимально возможное количество спрайтов, т.е. использовать клонирование.

Как сделать так, чтобы у каждого отдельного клона был собственный уровень жизни? Что выбрать переменные или списки? Сделали попытку использовать списки, но после более детальной проработки поняли, что данная структура данных не помогает решить проблему. У переменных и списков, в Scratch есть 2 типа видимости для каждого типа данных — это «для всех спрайтов» или «только для этого спрайта». Пришлось проверять область видимости. Начали мы с переменных.

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

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

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

ВАЖНО: Переменная — это очень мощный инструмент настоящего программиста, поэтому я сразу учу детей правильному именованию переменных, так как этот навык поможет им в проектах разной сложности.

Имена объектов как их идентификаторы
ВАЖНО: все переменные с зоной видимостью «только для этого спрайта». Данный инструмент для меня стал совсем неожиданным. Давайте начнем с истории о том, как мы с учеником наткнулись на данную особенность языка. Мой ученик решил, создать игру с «искусственным интеллектом». Игра представляет звездные войны на космических кораблях и у игрока есть возможность управлять одним кораблем, в то время как противники гоняются за вами и за друг другом. Чтобы они могли преследовать вас или друг друга, им нужно как-то принимать решение о том, кого преследовать. Данную задачу можно решить в лоб и задать очередность преследования кораблей, но игра потеряет свою интеллектуальность и быстро наскучит. Поэтому ученик решил настроить интеллект таким образом, чтобы корабли с интеллектом преследовали ближайшего противника. Давайте посмотрим, как он начал решать данную задачу.

На мой взгляд хорошее решение для создания быстрого прототипа. Но какие ограничения здесь есть? Первое, усложнение кода по мере добавления новых кораблей. Следовательно, сложность кода повышается и не исключены мутации кода из-за усложнения. Время поиска ошибки и отладки алгоритма будет расти. И конечно, никто не отменял такую прикольную метрику, как старение кода (advance level SW Development). Что же делать? А делать необходимо следующее, нужно сделать обобщеный алгоритм, который будет динамично приспосабливаться к увеличению или уменьшению количества кораблей. Для данного алгоритма нам и понадобиться свойство языка — имя как идентификатор объекта. Пришло время больших изменений и здесь вы, как учитель, можете рассказать про такое явление как рефакторинг. Это последовательное изменение кода, улучшение его структуры и его оптимизация. А главное, чтобы каждое изменение не ломало работу программы, и объем изменений тоже должен очень аккуратно подобран. Слишком много изменений — плохо, слишком мало — долго. Сформированный навык рефакторинга даст преимущество и эффективность работы программиста. Но для формирования навыка нужно работать головой, а не просто тыкаться. У меня получилось сделать 4 изменения в первоначальной программе и результат не изменился.

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

Заметили? Сейчас в блоке «повернуться к …» стоит переменная и эта штука работает. Т.е. мы минимальными усилиями проверили, что данный подход работает. Это просто круто. Теперь мы можем начать писать алгоритмы, которые позволят определять объект преследования ближайшего корабля.

Что нам пригодится? Это из структур данных — это переменные и списки. Из алгоритмов — это нахождение минимального числа (расстояния) в списке. Еще нам необходим алгоритм, который определит имя объекта для преследования по минимальному расстоянию.

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

Как и перед любым масштабным строительством нам необходимо все спланировать. Давайте спланируем в каком порядке будем разрабатывать блоки:
  1. Список имен всех кораблей,
  2. Расчет расстояние до всех кораблей,
  3. Поиск минимального расстояния,
  4. Поиск имени корабля для преследования по найденному минимальному расстоянию.
Главное правило — каждый созданный «кусок» и изменение должны быть проверены. Для того, чтобы создать обобщенный алгоритм нам чем-то нужно пожертвовать, например, оригинальными именами спрайтов, придется их стандартизировать и получим следующий расклад. И теперь мы готовы описать 1 часть программы. Все пишем для 1-ого корабля. Запускаем отдельно данный скрипт и смотрим результат. Поехали!

Если мы добавим новый корабль, нам нужно изменить в данном алгоритме лишь одну циферку. Клево? Клево! Погнали дальше. А давайте научим его 2 алгоритму. Смотрим, что получилось. Это сразу конечный результат со вспомогательными функциями.

Ура! Работает. Проверить это можно следующим образом, должен быть обязательно 0 одним из значений в списке расстояний. Если у вас это не так, ищите ошибку. Едем дальше! Поиск минимального расстояния. Заметили, что расстояние всегда положительно. И всегда будет минимальное число — 0. Ай-я-яй! Вывод — искать минимум, но не ноль. Можете попробовать свои силы и оптимизировать код самостоятельно, чтобы не делать расчет расстояния от корабля 1 до корабля 1 (это не опечатка).

Обучаем спрайт новой функции и получаем.

Не забываем проверять! Для этого можно даже остановить игру и запустить отдельный скрипт. Мы написали все, что необходимо, теперь главное правильно использовать данные функции.

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

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

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

Это лишь малая часть инструментария программиста, но она являет очень важной. А в Scratch это объяснить становится чуточку легче.

Теги:
  • child
  • scratch
  • programming
  • refactoring for children
  • 17 августа 2018 в 11:47
  • 17 мая 2018 в 16:20
  • 15 мая 2018 в 06:49

Часто задаваемые вопросы - Общедоступное программирование в Scratch

Интерфейс программы

Для создания программ в Скретче есть все необходимые средства, а кнопки интерфейса (от англ. interface — поверхность) программы открывают к ним доступ:

Рис. Окно программы Скретч

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

Героев (движущиеся объекты) в Скретче называют по-английски - спрайтами, что в переводе значит сказочный герой, эльф, фея. 

Спрайт - это графический объект, который действует на сцене проекта, выполняя разнообразные алгоритмы - сценарии.

Спрайтом может быть изображение любого реального или фантастического объекта: человека, цветка, Бабы Яги, бабочки, даже просто точки или буквы. Список всех спрайтов проекта дан в правом нижнем окне программы. У каждого спрайта есть имя и личные вкладки скриптов, костюмов и звуков, которые открываются в центральном окне, если щелкнуть 1 раз по эскизу спрайта под сценой. Вокруг активного эскиза появляется синяя рамка.1. Щелкните 1 раз по эскизу спрайта под сценой, чтобы выделить его.2. В верхней части центрального окна программы напишите вместо текущего имени новое:

Ножницы – универсальный инструмент удаления, которым можно удалять любые объекты: спрайты, отдельные блоки, фоны, костюмы, звуки.  Сцена - содержит набор изображений, на фоне которых действуют спрайты. При включении программы автоматически создается фон сцены с именем - фон1: белый прямоугольник, имеющий 480 точек по ширине и 360 точек по высоте. Сцена в проекте одна, но она может иметь множество изображений для фона. Чтобы отправить героев, например, в пустыню, достаточно добавить рисунок пустыни в список фонов. Фон можно нарисовать, нажав на кнопку рисовать, или взять готовый рисунок из файла с расширением JPG, BMP, PNG, GIF, нажав на кнопку импорт. Сцена, как и спрайты, может иметь не только изображения, но и собственные звуки, а также скрипты.

Что такое фон

Фон сцены - это обычный рисунок, имеющий имя, которое можно изменить, и порядковый номер в списке фонов. Чтобы изменить внешний вид сцены, нужно добавить новые фоновые изображения. Новый фон можно нарисовать во встроенном графическом редакторе или взять готовый рисунок из файла с расширением JPG, BMP, PNG, GIF.

1. Щелкнуть мышью по эскизу сцены в списке объектов. 2. Щелкнуть мышью по вкладке Фоны. 3. Щелкнуть мышью по той кнопке, которая нужна, в зависимости от вашей цели:

  • Добавить новый фон - щелкнуть по одной из трех кнопок : Рисовать, Импорт, Камера или Копировать.
  • Переименовать фон - щелкнуть по имени (в примере - фон1) и ввести новое имя.
  • Изменить фон - щелкнуть по кнопке Редактировать.
  • Удалить фон - щелкнуть по кнопке с крестиком.

Во всех человеческих языках есть два типа частей речи: имена, обозначающие предмет речи, и глаголы, обозначающие действие или состояние предмета речи. В языке Скретч роль имен выполняют объекты (спрайты и сцена), а роль глаголов - разноцветные графические блоки, на которых написано выполняемое ими действие, команда. В Скретче 125 таких блоков, они сгруппированы в 8 категорий по своему значению.

Словарь блоков размещен в левой колонке интерфейса программы. За каждой категорией здесь закреплен свой цвет и название:  - желтый для управления работой скриптов, создания ветвлений и циклов, запуска и остановки скриптов, обмена сообщениями;

 - синий для программирования движений спрайтов на сцене;

 - фиолетовый для изменения внешности и разговоров;

- лиловый для программирования звукового сопровождения;

 - зеленый для рисования спрайтами линий и копий костюмов на сцене;

 - голубой для «органов восприятия»  спрайтов и сцены, обнаружения различных событий и состояний объектов, связи с внешним миром;

 - светло-зеленый для операций над числами, буквами и логическими значениями;

 - оранжевый для хранения баллов, счета в игре и других переменных данных (чисел и слов), личные свойства и память спрайтов.

.

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

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

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

3. Сделать 10 шагов

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

Каждый объект может иметь множество скриптов для выполнения разных алгоритмов.

Большинство блоков имеют окошки для данных. Эти данные, которые также называют параметрами, уточняют действие блоков, например, указывают число шагов или содержат фразу для ее вывода на сцене проекта. Вместо указанных по умолчанию чисел и слов в белых окнах блоков можно написать другие, выделив эти значения указателем мыши: Параметром может быть буква, слово, число, другой блок или целая конструкция блоков, вставленных один в другой: Для сцены и спрайтов можно добавлять звуковые файлы. Их проигрывание включается блоками команд звук. Пусть, например, Кот играет звуковой файл Мяу, когда игрок щелкнет мышкой по образу спрайта на сцене. Чтобы запустить скретчевский проект на любом компьютере без установки самой программы Скретч, есть специальная программа - ChirpCompiler. Она не конвертирует проект, а просто упаковывает в один файл и сам проект, и среду его запуска.

Программу можно скачать по адресу: 

http://www.chirp.scratchr.org/dl/ChirpCompiler-setup.exe  Современные компьютеры легко справляются со Scratch:

  • требования к системе: 
    • Дисплей: 1024 x 768 
    • 16-битный цвет и выше 
    • Дисковое пространство: не менее 120 MB 

  • операционные системы: 
    • Windows 2000 или выше для Scratch 1.4 
    • Windows 98 пользователи могут использовать Scratch 1.2.1 
    • Mac OS X 10.4 для Scratch 1.4 
    • Mac OS X 10.3 для Scratch 1.2.1 
    • Linux 

Для записи аудио необходима звуковая карта, колонки и микрофон. А для записи фото - вебкамера, подключенная к компьютеру.

Начинаем программировать на Scratch

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

Например курс CS50 в Гарвардском университете использует Скретч в качестве вводного опыта программирования перед переходом на язык Си.

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

В этом учебном году в школах Беларуси введен факультатив по изучению основ программирования на Скрэтч. Программа рассчитана на проведение одного занятия в неделю.

В БГПУ им.М.Танка в этом учебном году студентов знакомят с основами языка программирования Скрэтч в курсе дисциплины “Информационные технологии в образовании”. Предлагаемые нами занятия рассчитаны на учеников 5-6 классов средней школы.

Занятие 1 – Анимация

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

Выполнение работы.

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

Напишите простую программу перемещения кота по экрану на 10 шагов. Добавьте цикл «всегда». Вставьте в него команду «следующий костюм», чтобы имитировать движение котенка. Для запоминания образа человеку достаточно видеть картинку 0.1 с. Вставьте команду «ждать 0.1 секунд1». Проверьте работу программы. (Кот исчезает за краем экрана.) Добавьте команду «если на краю, оттолкнуться».

Рис. 1. Программа для кота: 1 – запуск программы; 2 – вкладка «Движение»; 3 – вкладка Управление; 4 - вкладка Внешность; 5 – Движение; 6 - Управление

Проверьте работу составленной программы. Если при отталкивании от края экрана кот переворачивается, измените настройки спрайта (Sprite 1), щелкнув по значку «i» на изображении спрайта (рис.2).

Рис. 2. Настройки направления перемещения спрайта.

Выберите фон из библиотеки.

Копирование скриптов, редактирование костюмов, создание нового костюма, взаимодействие спрайтов.

Создайте спрайт «Облако». Выберите пункт меню «нарисовать новый спрайт». В окне графического редактора с помощью кисточки и заливки (эллипс и ластик) нарисуйте облако. Назовите костюм Облако.

Напишите скрипт для облака:

Рис. 3. Скрипт для облака

Координаты облака можете изменить по своему выбору.

Проверьте работу программы

Откройте из библиотеки спрайтов новый объект Mouse1. Перенесите скрипт кота на спрайт мыши, воспользовавшись инструментом Дублировать. Запустите программу. Обратите внимание на тот факт, что у этого спрайта только один костюм, поэтому движение мыши не совсем естественное: она «плывет» по экрану, а не движется.

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

Взаимодействие спрайтов

Установить точку, с которой будет начинать движение мышь, например, с правого нижнего угла экрана, и под углом 65 градусов. Если кот и мышь встречаются, то кот говорит «мяу», мышь «Прости, я случайно!»

Рис. 4. Скрипт для спрайта Mouse 1

Самостоятельно добавьте в программу для кота скрит “если касается мыши, говорить “мяу”.

Сохраните файл.

Занятие 2 –Интерактивность

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

Откройте ранее созданный Вами файл «кот-и-мышь».

  1. Пусть мышка двигается случайным образом по экрану, а кот все время двигается в направлении мышки. Когда он ее касается, раздается «мяу!», а мышка исчезает.

Заставить двигаться мышку случайным образом можно добавив скрипт . Можно воспользоваться «коробкой» операторы и вместо числа 15 вставить

  1. Изменим роли: кот будет гоняться за мышкой, но не самостоятельно, а под управлением игрока. Задействуем для этого клавиши клавиатуры.

Откройте коробку сенсоры и перенесите в поле программы для спрайта «кот» кирпичик «клавиша____нажата?».

Вставьте фрагмент данной программы в программу для кота.

У вас должно получиться примерно так:

Рис. 5. Скрипт для спрайта «кот»: при нажатии клавиши «вправо» кот движется слева направо

Проверьте работу скрипта. Добавьте самостоятельно еще 3 скрипта для оставшихся трех направления движения.

Сохраните файл под новым именем.

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

Рис. 6. Управление спрайтом с помощи клавиатуры.

Дополнительное задание «А снег идёт…»

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

Загрузите из библиотеки спрайты медведя и снежинки.

Рис. 7. Скрипт для спрайта «Медведь»

Рис. 8. Скрипт для спрайта «снежинка»

Вызовите контекстное меню для спрайта «Снежинка» и выберите команду «дублировать» 9 раз. У вас получится 10 снежинок с одинаковыми скриптами. Измените некоторые из них по своему вкусу (размер. эффект, координаты случайного числа для Y в команде «плыть 1 сек в точку х:, у:»). Проверьте работу программы.

Занятие 3 – Игры

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

Используем предыдущую работу.

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

Надо:

Добавить счетчик пойманных мышей.

Создаем счетчик: данные – создать переменную, вводим имя переменный «счетчик». В начале игры счетчик должен показывать «0».

Изменять фон, когда кот ловит мышь и увеличивать показания счетчика на «1».

Передать управление («события» - передать «сообщение») новому спрайту (собака), когда счетчик станет равным 5 (больше 5).

Добавить новые фоны и переключать их, когда кот словил мышь (мышь исчезла).

Конвертирование в исполняемый формат

Для использования Scratch файлов в своем проекте нужно конвертировать файлы с расширением sb2 в swf. Для этого откройте в папке с лабораторной работой №8 папку Converter и запустите на выполнение файл Converter.swf. Щелкните по пункту 1 – Open Scratch File. В открывшемся окне выберите свой файл,

Рис. 9.Загрузка файла в конвертор

После загрузки файла щелкните по пункту меню «Convert to swf», выберите место сохранения и имя файла, укажите его расширение – swf. (рис.7).

Рис. 10. Сохранение swf файла

Игра “Учимся считать”

Игра предназначена для обучения первоклассников сложению и выситанию в пределах 20.

Рис. 11. Внешний вид игры

Игра состоит из четырех ступенек: сложение в пределах 10, сложение в пределах 20, вычитание в пределах 10, вычитание в пределах 20.

Два героя помогают малышу справиться с заданиями. Для успешного выполнения каждого из заданий нужно набрать 10 баллов. За правильный ответ балл добавляется и звучит фраза «Молодец!», за неправильный один балл снимается, обезьянка издает звук «хи-хи-хи».

Рис. 12. Скрипт дляспрайта «Обезьянка»

Рис. 13. Скрипт для спрайта «Звездочка»

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

Рис. 14. Скрипт для спрайта «Звездочка»

Рис. 15. Скрипт подпрограммы «сложение в пределах 10».

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

Рис. 16. Проверка «уменьшаемое больше вычитаемого?»

Рис. 17. Переменные и их отображение на экране во время игры

1 Этот промежуток времени достаточен для зрительной фиксации образа. Если не вводить паузу, движение объекта превращается в мелькание. При большой паузе не происходит анимация (оживление) объекта. Расскажите ученикам о принципе немого и звукового кино.

Урок 1. Знакомство со Скретч

Идею этой сказки, а может и не сказки, поймёт не только взрослый, но даже карапуз!

Э. Успенский, «Пластилиновая ворона»

Когда я был маленьким крокодилом, я никогда не лазил по пожарным лестницам.

Э. Успенский, «Чебурашка и крокодил Гена»

У меня хорошая новость для тех, кто не любит выстукивать на клавиатуре буковки!

Обычная программа — это текст. Но есть язык, в котором программа собирается из блоков, как собирается игрушка из кубиков Лего.

Сборка домика из набора конструктора Лего

Знакомьтесь — это язык программирования Скретч!

Если Скретч-приложение ещё не установлено у вас на компьютере, пройдите в раздел Установка Скретч.

Откройте Скретч-приложение, и вы увидите на экране:

Всё это называют средой программирования:

Среда программирования:

  • исполнитель
  • среда исполнителя
  • СКИ
  • поле для сборки программы

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

Исполнитель может работать в двух режимах: командном и программном.

В командном режиме исполнитель получает команду, выполняет её и ждёт следующую. Чтобы задать команду на исполнение, нужно щёлкнуть на ней в СКИ.

Задание. Щёлкните в СКИ на команде , и вы увидите, как кот сместится на 10 шагов.

В программном режиме исполнитель получает программу — последовательность команд и выполняет по порядку все команды в неё входящие.

Программы собираются из блоков в поле программы, и именно этот режим интересен для нас — программистов!

Задача 1 (1 кук). Поскорее «окунуться» в Скретч.

«Сначала дело, потом умные слова» — говорит роботландский Лисёнок. — Хорошо! Давайте без лишних слов погрузимся в мир программ Скретча!

Для начала повторяйте за мной!

  1. Перетащите мышкой блок с командой в поле для сборки программы. Щёлкните на этом блоке. Программа (состоящая из одной команды) сработает, кот сместится на 10 шагов.

Исполнитель смещается на 10 шагов

  1. А если нужно сделать 20 шагов? Перетащите ещё одну команду и соедините два блока вместе. Щелчок на нашей программе (на любом блоке), и кот смещается на 20 шагов.

Исполнитель смещается на 10 шагов, а потом ещё на 10

  1. На самом деле второй блок не нужен. В белом окошке любого блока можно менять значение.

    Сбросьте нижний блок назад в область СКИ (так из программы удаляется последняя команда), щёлкните на белом окошке в оставшейся команде (в нём появится мигающий текстовый курсор) и исправьте значение 10 на 20.

    Щёлкаем, кот смещается на 20 шагов.

Исполнитель смещается на 20 шагов

  1. Воспользуемся блоком . Он расположен в СКИ в группе Управление. Этот блок резиновый! В него можно поместить сколько угодно блоков, и то, что им охвачено, повторяется непрерывно.

Задано непрерывное повторение команды движения

  1. Не будем больше щёлкать на программе!

    Добавьте в начало программы блок . Он расположен в СКИ в группе События.

    Посмотрите, над средой исполнителя расположены две кнопки:  — зелёный флажок и красный восьмиугольник.

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

    Щёлкаем на флажке!

Кот непрерывно повторяет команду движения и уходит из среды

  1. Жалко кота! Добавим в программу ещё одну команду: . Она расположена в группе Движение.

Щёлкаем на флажке и видим, что кот совершает бесконечную прогулку, не покидая среды, но…

  1. Упс! Почему справа налево кот идёт вверх ногами? Дело в том, что когда кот отталкивается, он поворачивается. Стиль поворота задаётся в паспорте исполнителя.

    Чтобы открыть паспорт кота, нажмите в разделе Спрайты, и измените стиль вращения:

Меняем стиль вращения в паспорте исполнителя

Теперь кот не будет ходить подобно мухе по потолку! Проверьте.

Сохраним работу на диске (Файл/Сохранить как) и продолжим.

Спрайты, костюмы, скрипты, звуки

Спрайт — газированный напиток, со вкусом лайма и лимона, принадлежащий американской компании The Coca-Cola Company.

Википедия

А у нас в Роботландии предпочитают чай с сухариками!

Но… Дело в том, что исполнитель в Скретч (тот самый кот, которого мы заставили бегать туда-сюда) является спрайтом!

Спрайт (англ. Sprite — фея; эльф) — графический объект в компьютерной графике. Спрайт может свободно перемещаться по экрану под управлением программы.

Если вы думаете, что исполнителем в среде Скретч может быть только фирменный кот, вы ошибаетесь!

Удалим кота и назначим исполнителем летучую мышь.

Удалить спрайт из среды можно разными способами.

  1. Можно взять инструмент Ножницы и щёлкнуть этим инструментом на коте:

Берём ножницы и щёлкаем на коте

  1. Можно открыть контекстное меню на исполнителе и выбрать в нём позицию Удалить:

Удаляем через контекстное меню спрайта

Контекстное меню — это меню, связанное с тем объектом, на котором щёлкают правой кнопкой мыши.

  1. Можно открыть контекстное меню на паспорте исполнителя и выбрать в нём позицию Удалить:

Удаляем через контекстное меню паспорта спрайта

Важно! При удалении спрайта программа, которая для него написана, тоже будет удалена.

Итак, кот удалён (вместе со своей программой). Выбрать новый спрайт можно разными способами:

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

Выбираем в библиотеке спрайтов в группе Животные изображение летучей мыши.

Щёлкаем на нужном изображении (выделяем его) и нажимаем Ok

Задача 2 (2 кука). Изобразить полёт летучей мыши.

Можно заставить спрайт мыши, как ранее спрайт кота, двигаться в среде, отталкиваться от краёв и поворачиваться в сторону движения.

Программа, составленная для кота, будет прекрасно работать и для мыши! Тогда зачем мы её удалили вместе с котом?

Но такое движение далеко от реального! Почему? Кот, когда идёт, должен двигать лапками, а мышь — крыльями!

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

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

Чтобы показать полёт, нужно иметь не одно, а несколько изображений, с разными положениями крыльев!

Скретч прекрасно понимает наши мультяшные желания, и в нём каждый спрайт может иметь несколько «костюмов»!

Откройте вкладку Костюмы. Оказывается у летучей мыши уже предусмотрено два костюма:

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

Теперь легко собрать код, отвечающий за смену костюмов.

Костюмы Смена костюмов Код
 

Сколько времени будет ждать исполнитель по команде  ? Если вы не знакомы с десятичными дробями, то вот краткое пояснение.

Запись Что означает
1 секунда одна секунда
0.1 секунды одна десятая часть секунды
0.2 секунды две десятых частей секунды
0.3 секунды три десятых частей секунды
0.4 секунды четыре десятых частей секунды

Число 0.2 в два раза больше числа 0.1 и в два раза меньше числа 0.4.

Получается, что программа полёта состоит из 2-х частей — части, отвечающей за передвижение и части, отвечающей за смену костюмов. Эти части собраны под двумя отдельными «шапочками»:

Программа полёта мыши

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

Задача 3 (1 кук). Добавить в мультик бегемота на водопое.

Для бегемота нарисовано 6 костюмов, картинки эти находятся в папке practical/sprlib/. Имена файлов: hippo1.png, hippo2.png,… hippo6.png:

Костюмы Смена костюмов

Посмотрите: водопой бегемота правдоподобнее полёта мыши! Почему так? ...

А можно ли добавить ещё одного исполнителя в среду? Да!

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

Делаем так:

  1. Загружаем новый спрайт с адреса practical/sprlib/hippo1.png. Эта картинка автоматически становится первым костюмом.
  2. Переходим на вкладку Костюмы и загружаем оставшиеся 5 костюмов.

Загружаем спрайт бегемота из 6 костюмов.Устанавливаем исполнителя-мышь слева сверху, а исполнителя-бегемота справа внизу

Групповая загрузка

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

Щелкаем по первой картинке, затем по последней с нажатой клавишей Shift

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

Загрузка анимированного gif

Анимированный gif — это графический файл с расширением gif, содержащий набор картинок одинакового размера и сценарий смены этих картинок при показе на экране.

Если загрузить анимированный gif в качестве спрайта, он автоматически будет разделён на составляющие картинки-костюмы.

Автоматическое разделение анимированного gif на костюмы

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

Выделяем паспорт мыши. На вкладке Скрипты перетаскиваем нужный код мыши на паспорт бегемота (отпускаем, когда курсор мыши оказывается на паспорте бегемота)

Проверяем, выполнилось ли копирование:

Выделяем паспорт бегемота, и на вкладке Скрипты видим скопированный код

Запускаем мультик, нажимая зелёный флажок.

Мышь летит, бегемот пьёт. Красота! У вас получилось?

Ещё раз отметим:

  • Каждым спрайтом управляет отдельная программа.
  • Программа может состоять из нескольких частей.
  • Программы находятся на вкладке Скрипты.
  • Чтобы увидеть программу спрайта, нужно щёлкнуть на паспорте этого спрайта (выделить паспорт).

Задача 4 (1 кук). Пусть дополнительно мышь и бегемот, когда на них щёлкают, издают звуки.

Сначала займёмся мышью.

  1. Выделяем паспорт мыши.
  2. На вкладке Звуки выбираем пиктограмму Выбрать звук из библиотеки ().
  3. Выбираем в библиотеке звуков в группе Эффекты звук boing.
1. Выделяем паспорт мыши 2. Открываем библиотеку звуков

3. Выбираем звук для мыши (нажимая , можно прослушать звук)

Дополним программу мыши ещё одним фрагментом:

Новый фрагмент будет играть звук, когда щёлкают на исполнителе.Звук в блоке Играть звук выбираем из выпадающего списка

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

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

Первые два фрагмента начинают работать после щелчка на зелёном флажке (), третий — после щелчка на спрайте в среде.

Отдельные фрагменты, из которых состоит программа, называют в Скретч скриптами.

Script (скрипт) в переводе с английского означает сценарий. Хорошая замена словосочетанию «фрагмент программы»!

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

Копируем «мышиный» скрипт

Остаётся загрузить для бегемота другой звук, например, wah beatbox и установить его в команде:

Сохраним работу на диске (Файл/Сохранить как).

А дальше?

  1. Прочитайте, что сегодня узнали (чтобы знания хорошо уложились в голове).
  2. Выполните зачёт (проверим, как знания уложились).
  3. Приступайте к практике (заставим знания работать).

О важности раздела Проекты учебника

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

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

— Ребята! В проектах учебника важны не только условия. Не пропустите важные моменты! Они могут быть.

Самое важное про Скретч:

№ Что узнали  
1 Исполнителем может быть любой рисунок, свободно перемещаемый по среде.

Исполнителя в Скретч называют спрайтом.

2 Среда — прямоугольное поле, в котором находится исполнитель.

Поле-среду в Скретч называют сценой (ведь в среде, как на сцене действуют исполнители-спрайты).

3 Исполнителей может быть много.
4 Программа составляется для каждого исполнителя отдельно.
5 Программа состоит из скриптов.
6 Скрипт запускается по событию.

Cобытие задаётся в первом блоке скрипта (блок-шапочка).

7 Два события являются особенными: нажатие на зелёный флажок и нажатие на красный восьмиугольник.

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

Восьмиугольник оставливает работу проекта (всех его скриптов).

8 Скрипты с одинаковыми шапочками работают параллельно (одновременно).

Как сделать любой школьный урок веселее с помощью Scratch?

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

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

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

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

С примерами применения Scratch на уроках физики, математики, географии и даже литературы вы и познакомитесь в этой статье.

Реактивная математика

Как известно, в наш век повсеместного распространения телефонов со встроенными калькуляторами устный счёт у детей «не в почёте», однако, выполнение в уме математических операций ещё со времен древней Греции считалось отличной гимнастикой для ума.

Ниже приведён проект на Scratch, целью которого является тренировка способностей к устному счёту. Задача ученика — решить как можно больше примеров за отведённый промежуток времени.

В данном проекте нужно перемножить как можно больше чисел от 2 до 12 за 30 секунд. После того, как дети вдоволь наиграются, им можно дать задание немного попрограммировать и изменить условия задачи — например, умножать числа от 2 до 20. При этом интервал времени нужно соответственно увеличить. Затем можно добавить операци деления, вычитания и сложения. Это позволит «размять мозги» ещё качественнее. Так на одном уроке дети и тренируют скоростной счёт, и с удовольствием кодят. На основе подобных проектов можно проводить соревнования по «спортивной математике» в рамках образовательного заведения, или на вечеринке, в веселой компании, между шахматами и нардами.

Наглядная физика

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

После минимальной доработки этого проекта получается отличная игра для тренировки юных артиллеристов. Необходимо попасть в злыдня, который появляется в случайном месте экрана. Игроку необходимо задать начальную скорость снаряда и угол наклона ствола. Чем-то игра неуловимо напоминает Angry Birds. Если пушку заменить на рогатку, а снаряд на птичку, то отправить детей на перемену будет непросто!

Интерактивная география

Ещё один пример использования Scratch — создание тестов и викторин. Это может пригодиться на географии, истории, биологии… Вот пример викторины по географии. В ней всего десять вопросов о столицах государств.

Изменить этот проект совсем несложно. Достаточно изменить вопросы и правильные ответы. Это под силу даже ученикам начальных классов.

Поэтическая викторина

Следующий пример — мой любимый. Scratch можно использовать даже на уроках литературы!

В этом проекте ученику предстоит проверить, как он выучил стихотворение. Помимо знания самого стихотворного произведения потребуется умение быстро читать и анализировать прочитанное. Три персонажа этого проекта будут произносить по одной строке стихотворения, причём правильную сроку произносит только один из них, а двое других — с ошибками. Ученик должен быстро прочитать три варианта и кликнуть на персонажа, который говорит верно.

Доработать или изменить этот проект достаточно сложно. Это потребует не только умения программировать, но и умения сочинять стихи. На основе нескольких подобных проектов можно устроить весёлое литературное соревнование между учениками.

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

Чтобы приступить к использованию Scratch, достаточно зайти на офицальный русифицрованный сайт. А множество идей по использованию Scratch можно найти на сайте scrath5russia.

5 октября 2015, 15:00 Мнение автора может не совпадать с позицией редакции.

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.


Смотрите также