скретч что это в информатике
Скретч (язык программирования)
Митчелл Резник (Mitchel Resnick)
Лого, Smalltalk, HyperCard, StarLogo, AgentSheets, Etoys, Tweak
Скретч (произносится «скрэтч») — это визуальная объектно-ориентированная среда программирования для обучения школьников младших и средних классов. Название Scratch произошло от слова scratching — техники, используемой хип-хоп диджеями, которые крутят виниловые пластинки взад-вперёд руками для того, чтобы смешать музыкальные темы. [1]
Скретч создан как продолжение идей языка Лого и конструктора Лего. Написан на языке Сквик. Скретч разрабатывается небольшой командой исследователей из «Lifelong Kindergarten Group» [2] в Массачусетском технологическом институте. Текущая версия — 1.4, выпущена 2 июня 2009 года.
Программы на скретче состоят из графических блоков, подписи к которым зависят от выбранного для интерфейса языка. Может быть выбран один из 50 языков интерфейса, включая русский. Для подключения интерфейса на новом языке используются стандартные gettext файлы.
Содержание
Программирование
Основными компонентами Скретч-программы являются объекты-спрайты. Спрайт состоит из графического представления — набора кадров-костюмов (англ. costume ) и сценария-скрипта. Для редактирования костюмов спрайтов в скретч встроен графический редактор (англ. Paint Editor ). Действие скретч-программы происходит на сцене (англ. stage ) размером 480×360 (условных) пикселей с центром координат в середине сцены.
Для программирования сценариев в скретче используется drag-and-drop-подход: блоки из Окна блоков перетаскиваются в область скриптов.
По функциональному назначению блоки делятся на 8 групп, принадлежность блока к той или иной группе обозначается его цветом.
| Группа | английское название | Цвет | Примечание |
|---|---|---|---|
| Движение | movement | синий | |
| Внешность | looks | сиреневый | |
| Звук | sound | розовый | |
| Перо | pen | зелёный | используется для черепашьей графики |
| Контроль | control | жёлтый | управляющие конструкции, заголовки обработчиков событий |
| Сенсоры | sensing | голубой | опрос устройств ввода |
| Операции [4] | operators | салатовый | арифметико-логические операции |
| Переменные | variables | оранжевый |
У многих блоков имеется редактируемое белое поле для вводимых скретч-программистом параметров.
Блоки бывают трёх видов: блоки стека, блоки заголовков и блоки ссылок.
Блоки стека (англ. Stack Blocks ) сверху имеют выемку, а снизу — выступ, их помощью они объединяются в группу блоков, называемую стеком. Стеки можно копировать и перемещать как единый блок. Особой разновидностью блоков стека являются управляющие конструкции, такие как циклы — они имеют С-образную форму, и могут охватывать собой вложенный стек скретч-блоков.
Блоки заголовков (англ. Hats ) имеют выпуклый верхний край и выступ для объединения снизу — они образуют заголовки скретч-стеков. К блокам-заголовкам относятся блоки «когда …» (англ. when … ) из группы «Контроль», позволяющие организовать обработчики сообщений: внешних — от клавиатуры и мыши, и внутренних — передаваемых между спрайтами и позволяющих объектно-ориентированное программирование в smalltalk-стиле.
Наконец, блоки ссылок (англ. Reporters ) предназначаются для заполнения внутренних полей других блоков.
Язык скретч (как и Лого) оперирует числами, текстовыми строками, логическими значениями, а также списками, играющими роль динамических массивов.
Хотя архитектура скретч-программ, в виде набора спрайтов скретча, обменивающиеся друг с другом событиями, напоминает объектно-ориентированную, скретч не является объектно-ориентированным языком в нём (ни в каком виде) нет механизмов наследования (в последних версиях расширенного диалекта скретча BYOB введено прототипное наследование).
Исходный код
После выхода версии 1.4 исходный код Скретча был открыт на условиях Scratch Source Code License — представляющей собой простую копилефтную лицензию, с дополнительными ограничениями по неиспользованию оригинальных торговых марок (в более мягкой форме подобные ограничения включены, к примеру, в PHP License).
Код может быть загружен с официального сайта. [5] Условия его использования и распространения следующие:
Распространяемый исходный код уже удовлетворяет данным условиям: в нём заменены логотип и спрайт с котом и удалён код сохранения скретч-проекта на scratch.mit.edu.
Впрочем, поскольку Scratch написан на Squeak, доступ к его исходным текстам существует и без предоставления их пользователю в явном виде — они хранятся вместе с результатом их компиляции в файле образа (англ.) смолток-системы. Хотя доступ к инструментам программирования и отладки языка Smalltalk, таким, как, System Browser по умолчанию в Scratch закрыт, разработчики оставили лёгкий способ получения доступа к этим возможностям. Достаточно зажать клавишу ⇧ Shift и кликнуть мышью по букве «R» в логотипе Scratch в левом верхнем углу окна программы, и выбрать в появившемся выпадающем меню пункт «Turn fill screen off». [6] [7]
Модификации и дальнейшее развитие
На основе исходного кода Scratch 1.4 был создан ряд модификаций языка, [8] таких как:
Разработан в Университете Беркли. Основным расширением языка, которое было введено в BYOB стала возможность построения составных пользовательских блоков — аналога процедур обычных языков программирования. Поддерживаются рекурсия, замыкания и лямбда-выражения. Также добавлены отладчик и возможность компиляции в исполняемые файлы, вложенные спрайты, многомерные списки, улучшенная работа со скроллингом и компиляция исполняемых файлов. Начиная с версии 3.1 в BYOB добавлена поддержка ООП — спрайты BYOB теперь позволяют наследование на основе прототипов. Для этого в язык, в частности, введен механизм клонирования спрайтов.
Panther
Panther — расширяет скретч поддержкой drag-n-drop управления спрайтами, возможностью клонирования спрайтов (объектов), и подсистемой CYOB (которая, как и BYOB, позволяет создавать собственные командные блоки, но требует для этого знания языка Squeak (современный диалект Smalltalk, на котором написан Scratch и его модификации).
Механизм Mesh
И BYOB, и Panther включают поддержку механизма mesh, [15] обеспечивающее взаимодействие scratch-программ через сеть посредством разделяемых переменных и посылки широковещательных сообщений.
Slash
Slash дополняет возможности BYOB 3.0 новыми возможностями Panther: клонированием и перетаскиванием спрайтов (объектов).
StarLogo TNG
В 2008 году в Массачусетском технологическом институте также разработан образовательный язык программирования StarLogo TNG, [16] который расширяет возможности системы StarLogo возможностями трёхмерной графики и скретчподобным языком визуального блочного программирования. В отличие от оригинального OpenStarLogo [17] и MIT Scratch — StarLogo TNG в настоящее время не является программным продуктом с открытым исходным кодом.
Scratch 2
В феврале 2011 была выпущена первая онлайновая бета-версия Scratch 2.0, [18] в который планируется включение некоторых из возможностей BYOB (такие, как создание пользовательских процедур), векторной графики, клонирование спрайтов, возможность групповой работы над проектами и т. д.
App Invertor
Ещё одной средой программирования, использующей стыковку визуальных логических блоков в стиле паззла стал App Inventor — экспериментальная система визуального программирования для платформы Android.
Что такое Scratch?
Содержание:
Заканчивая в середине 90-х общеобразовательную школу, я и понятия не имел, что такое программисты и программирование. Да, у нас был одни год предмет под названием «информатика», но понять что-то без желания и компьютера было невозможно. Сейчас, по прошествии такого большого периода времени, понимаю, что в моей жизни всё могло бы быть по-другому, если бы в наше время была возможность пройти обучение на Скретч. Итак, приступим баловаться изучать основы этой занимательной среды программирования! Заранее желаю всем успехов в этом направлении информатики!
И хотя среду Scratch, до сих пор не проходят на уроках информатики, в настоящее время во многих школах и СЮТах существуют кружки по внеурочной деятельности по изучению этой программы. Также есть учителя-энтузиасты, которые на своих уроках внедряют общедоступные или свои личные разработки на Скретч. Ведь многим детям, да и чего греха таить, взрослым, очень интересно покопаться в этих разноцветных блоках.
Что такое Scratch?
Однако авторы задумали Scratch не только для изучения программирования, но и для того, чтобы дети могли создавать свои творческие проекты и делиться ими с окружающими. Поэтому в Scratch можно создавать анимацию и живые открытки, рисовать мультфильмы, писать музыку, делать мультимедийные проекты и тому подобное.
Этот факт и ряд других преимуществ дают программе широкие возможности по продвижению её в народные массы. Именно поэтому она стала так популярна и востребована. Тем более она явлется отличным трамплином для плавного перехода в мир настоящих программистов. Мы вам покажем, что с помощью Скретч можно писать достаточно сложные программы, над которыми тоже нужно поломать голову.
Для какого возраста подходит Scratch?
После изучения Scratch вы сами сможете нести его в массы и быстро научить его азам свою бабушку или младшего брата (сестру). Образовательная среда Скретч объединяет всех школьников в мире, поэтому вы сможете делиться своими программами с детьми живущих на других материках.
Кто придумал Scratch?
В 2003 году небольшой группой исследователей под предводительством Митчела Резника из MIT Media Lab решила создать понятный для многих визуальный язык программирования. В результате их стараний в 2007 году появился Скретч. Поэтому создавать компьютерные программы могут уже даже дошкольники.
Какие существуют версии Scratch?
За время своего взросления Скретч развивался и сменил несколько версий.
К устаревшей можно отнести версию 1.4 (Скачать можно по этой ссылке http://scratch.mit.edu/scratch_1.4/ )
Современная версия имеет обозначение 2.0. Последнее обновление идёт под номером 451.
Откуда взять Scratch?
Онлайн-версия программы Скретч
В общем, плюсов великое множество, однако под рукой у вас всегда должен быть доступ в Интернет и ваш браузер должен поддерживать загрузку Flash-роликов. Кстати оффлайн-версия программы тоже даёт возможность загружать готовые проект на этот сайт через существующий аккаунт.
Скретч что это в информатике
У меня хорошая новость для тех, кто не любит выстукивать на клавиатуре буковки!
Обычная программа — это текст. Но есть язык, в котором программа собирается из блоков, как собирается игрушка из кубиков Лего.
В командном режиме исполнитель получает команду, выполняет её и ждёт следующую. Чтобы задать команду на исполнение, нужно щёлкнуть на ней в СКИ.
В программном режиме исполнитель получает программу — последовательность команд и выполняет по порядку все команды в неё входящие.
Программы собираются из блоков в поле программы, и именно этот режим интересен для нас — программистов!
Для начала повторяйте за мной!
Сбросьте нижний блок назад в область СКИ (так из программы удаляется последняя команда), щёлкните на белом окошке в оставшейся команде (в нём появится мигающий текстовый курсор) и исправьте значение 10 на 20.
Щёлкаем, кот смещается на 20 шагов.
Посмотрите, над средой исполнителя расположены две кнопки: — зелёный флажок и красный восьмиугольник.
Теперь кот не будет ходить подобно мухе по потолку! Проверьте.
Сохраним работу на диске ( Файл/Сохранить как ) и продолжим.
Спрайты, костюмы, скрипты, звуки
А у нас в Роботландии предпочитают чай с сухариками!
Спрайт (англ. Sprite — фея; эльф) — графический объект в компьютерной графике. Спрайт может свободно перемещаться по экрану под управлением программы.
Если вы думаете, что исполнителем в среде Скретч может быть только фирменный кот, вы ошибаетесь!
Удалим кота и назначим исполнителем летучую мышь.
Удалить спрайт из среды можно разными способами.
Важно! При удалении спрайта программа, которая для него написана, тоже будет удалена.
Итак, кот удалён (вместе со своей программой). Выбрать новый спрайт можно разными способами:
Выбираем в библиотеке спрайтов в группе Животные изображение летучей мыши.
Задача 2 ( 2 кука ). Изобразить полёт летучей мыши.
Можно заставить спрайт мыши, как ранее спрайт кота, двигаться в среде, отталкиваться от краёв и поворачиваться в сторону движения.
Но такое движение далеко от реального! Почему? Кот, когда идёт, должен двигать лапками, а мышь — крыльями!
Вы, конечно, знаете, как устроены мультики — нам показывают друг за другом несколько фаз движения, глаз не успевает разглядеть их по отдельности, и рисунки сливаются в мультик.
Чтобы показать полёт, нужно иметь не одно, а несколько изображений, с разными положениями крыльев!
Скретч прекрасно понимает наши мультяшные желания, и в нём каждый спрайт может иметь несколько «костюмов»!
Теперь легко собрать код, отвечающий за смену костюмов.
| Запись | Что означает |
|---|---|
| 1 секунда | одна секунда |
| 0.1 секунды | одна десятая часть секунды |
| 0.2 секунды | две десятых частей секунды |
| 0.3 секунды | три десятых частей секунды |
| 0.4 секунды | четыре десятых частей секунды |
Получается, что программа полёта состоит из 2-х частей — части, отвечающей за передвижение и части, отвечающей за смену костюмов. Эти части собраны под двумя отдельными «шапочками»:
Задача 3 ( 1 кук ). Добавить в мультик бегемота на водопое.
Посмотрите: водопой бегемота правдоподобнее полёта мыши! Почему так? Спрайт бегемота имеет больше костюмов! Качество мультика повышается, когда предусмотрено больше фаз движения. «>.
А можно ли добавить ещё одного исполнителя в среду? Да!
Скретч допускает сколько угодно исполнителей-спрайтов в среде, и для каждого спрайта записывается собственная программа работы.
Заметим, что загрузить все 5 костюмов можно, как обычно при работе с файлами, за один раз, выделяя нужные картинки.
Если загрузить анимированный gif в качестве спрайта, он автоматически будет разделён на составляющие картинки-костюмы.
Часть программы полёта мыши, отвечающая за смену костюмов, вполне подойдёт и для бегемота. Копируем её:
Проверяем, выполнилось ли копирование:
Запускаем мультик, нажимая зелёный флажок.
Мышь летит, бегемот пьёт. Красота! У вас получилось?
Задача 4 ( 1 кук ). Пусть дополнительно мышь и бегемот, когда на них щёлкают, издают звуки.
Сначала займёмся мышью.
Дополним программу мыши ещё одним фрагментом:
Мы уже видели, что программа спрайта может состоять не из одного, а нескольких фрагментов.
Первые два фрагмента начинают работать после щелчка на зелёном флажке ( ), третий — после щелчка на спрайте в среде.
Script (скрипт) в переводе с английского означает сценарий. Хорошая замена словосочетанию «фрагмент программы»!
Остаётся загрузить для бегемота другой звук, например, wah beatbox и установить его в команде:
Сохраним работу на диске ( Файл/Сохранить как ).
Освоить любой предмет без практики невозможно. Освоить без практики программирование — просто немыслимо. Поэтому Кукарача настоятельно рекомендует выполнять задания, собранные в учебнике на специальных страницах Проекты.
Кроме того, в описания проектов будут выноситься важные технические подробности, без знакомства с которыми невозможно получить качественную программу.
— Ребята! В проектах учебника важны не только условия. Не пропустите важные моменты! Они могут быть.
Самое важное про Скретч :









