Что могут обозначать блоки скриптов scratch
Перейти к содержимому

Что могут обозначать блоки скриптов scratch

  • автор:

Управление спрайтами

Будьте внимательны! У Вас есть 10 минут на прохождение теста. Система оценивания — 5 балльная. Разбалловка теста — 3,4,5 баллов, в зависимости от сложности вопроса. Порядок заданий и вариантов ответов в тесте случайный. С допущенными ошибками и верными ответами можно будет ознакомиться после прохождения теста. Удачи!

Система оценки: 5 балльная

Список вопросов теста

Вопрос 1

Что могут обозначать блоки скриптов Scratch?

Варианты ответов
  • Алгоритмические конструкции
  • Изображения
  • Команды
  • Файлы
Вопрос 2

Как называется инструмент для рисования в Scratch?

Вопрос 3

Сколько категорий блоков для скриптов есть в Scratch?

Вопрос 4

Определите направление спрайта на рисунке в градусах.

Вопрос 5

Какое слово пропущено в определении?
Область окна Scratch, в которой составляются крипты, называется «. поле».

Ответ запишите без пробелов и каких-либо знаков препинания.

Вопрос 6

Установите соответствие между категориями блоков в Scratch и их описаниями.

Блок

Блок – это частица пазла, используемая для создания кода в Скретч. Блоки крепятся друг к другу с помощью специальных выступов. Существуют блоки событий, команд, репортёры, логические репортёры или блоки конца скрипта. Они имеют свои внутренности и при попытке вставить туда что-то неподходящее, будет синтаксическая ошибка. Много блоков составляют скрипт.

В общем, существуют восемь блоков шапок, пять обвивающих блоков, 34 блоков репортёров, 14 логических блоков, два закрывающих блока и 62 обычных блоков. Всего 125 блоков, не включая расширения.

  • 1 Формы блоков
    • 1.1 Шапка
    • 1.2 Обычный блок
    • 1.3 Логический блок
    • 1.4 Репортёр
    • 1.5 Обвивающий блок
      • 1.5.1 После кода

      Формы блоков

      Существуют 6 форм блоков: шапки, обычные, логические, репортёры, обвивающие и закрывающие.

      Шапка

      Форма блока шапки

      Именно с шапки начинается любой скрипт. Блок шапка — это некое событие (например щелчок по зелёному флагу), которое вызвано взаимодействием пользователя с программой. Они скруглены сверху и имеют выступ снизу для прикрепления других блоков. Существуют 7 блоков шапок, 6 из которых в категории события, 1 в категории управления.

      Обычный блок

      Форма обычного блока

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

      Логический блок

      Форма логического блока

      Логические блоки – это условия, определяющие правильно или ложно заданное условие. Спроси своего друга «2 умножить на 2 будет 4?» и попроси его ответить только «да» или «нет». Твой друг станет этаким логическим блоком. Они имеют форму шестиугольника и всего насчитывается 12 таких блоков. Также логические блоки называются

      Репортёр

      Форма блоков репортёров

      Блоки репортёры дают какие-либо значения. Они могут быть как числами, так и строками. Например, спроси друга: «сколько будет 2 + 2?» Он ответит «4». Твой друг станет этаким репортёром. Репортёрами могут быть и переменные. Форма репортёров – закруглённые прямоугольники. Всего насчитывают 30 таких блоков, не считая репортёров переменных и списков.

      Обвивающий блок

      Форма обвивающего блока

      Обвивающие блоки – это блоки повторения или блоки условий. Их насчитывают всего 5 и их можно найти во вкладке «Управление». Имеют выступ вовнутрь сверху и простой выступ внутри и снаружи.

      После кода

      После выполнения кода и его повторения (если он будет повторять) код делает небольшую паузу, около 10 миллисекунд.

      Закрывающий блок

      Форма закрывающего блока
      Основная статья: Закрывающий блок

      Закрывающие блоки заканчивают скрипт или все процессы. Имеют выступ вовнутрь сверху и не могут иметь прикреплённых блоков снизу. Всего существует 2 закрывающих блока, и оба находятся во вкладке «Управление».

      Категории блоков

      Основная статья: Категории блоков

      Всего в Скретч насчитывается 145 блоков.

      • Блоки движения
      • Блоки внешнего вида
        • Блоки фонов
        • Музыка
        • Перо
        • Видео распознавание
        • Текст в речь
        • Перевести
        • Makey Makey
        • micro:bit
        • LEGO MINDSTORMS EV3
        • LEGO BOOST
        • LEGO Education WeDo 2.0
        • Go Direct Force & Acceleration

        Cookie-файлы помогают нам предоставлять наши услуги. Используя наши сервисы, вы соглашаетесь с использованием cookie-файлов.

        Вики работает в тёмной теме, и она включена! Есть советы? Отправьте их сюда: Тема форума о Скретч Вики

        • Эта страница в последний раз была отредактирована 17 октября 2023 в 15:16.
        • К этой странице обращались 4616 раз.
        • Политика конфиденциальности
        • О Скретч Вики
        • Отказ от ответственности

        Последовательное и одновременное выполнение скриптов

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

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

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

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

        Два скрипта у одно спрайта

        В Scratch многие спрайты на самом деле состоят не из одного изображения, а из нескольких. Это можно увидеть на вкладке «Костюмы».

        Костюмы спрайта

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

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

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

        Если же мы отсоединим блок «когда флажок нажат» только от второго скрипта, то кот будет перемещаться, но его ноги не будут двигаться.

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

        Вы спросите, почему нельзя было вставить команду «следующий костюм» в цикл первого скрипта и вовсе отказаться от второго? На самом деле можно. Однако в этом случае кот начнет менять костюмы так часто, что у вас зарябит в глазах. Тогда почему бы сюда же не добавить команду «ждать … секунд»? Потому что в этом случае, кот будет останавливаться, и плавного движения не получиться. Движение будет урывистым, перед каждой сменой костюма будет возникать задержка.

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

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

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

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

        Блок передачи сообщения

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

        И как только она получит сообщение, она покажется и начнет ходить.

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

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

        Чтобы добавить новое сообщение, надо кликнуть по маленькому треугольнику в этих командах и в раскрывающемся списке выбрать «Новое сообщение».

        Создание нового сообщения

        После этого на экране появится диалоговое окно, куда вводится сообщение. Например, «кот вызывает собаку».

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

        При этом надо понимать, что если, например, кот передает сообщение «кот вызывает собаку», то собака должна получать именно это сообщение, а не какое-либо другое. Иначе она не будет реагировать.

        Составьте программу по следующему описанию:

        1. Кот недолго ходит по сцене, потом останавливается, но не исчезает.
        2. Появляется второй спрайт и тоже недолго ходит по сцене.
        3. Когда второй спрайт останавливается, кот снова начинает недолго ходить по сцене.
        4. Когда кот останавливается во второй раз, на сцене появляется третий недолго бегающий спрайт.

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

        X Скрыть Наверх

        Программирование в Scratch. Курс

        Урок 20. Другие блоки в Scratch, подпрограммы и функции в программировании

        Творческое программирование для всех

        Этот урок — один из самых важных, особенно для тех, кто всерьёз решил освоить профессию программиста. Мы изучаем понятие подпрограмм и функций в программировании. В Scratch нет этих понятий, но есть возможность создавать Другие блоки. Это и есть прямой аналог подпрограмм. Подумай, что по-твоему, значит термин подпрограмма. Внимательно слушай объяснения учителя. И ты убедишься, что это совсем не сложно, а даже наоборот — удобно. С помощью других блоков (подпрограмм) мы научимся делать код короче и понятнее, то есть оптимальнее. Вперёд! Успехов! ��

        Замечание: с января 2019 года на сайте Scratch доступна новая версия редактора — Scratch 3.0, который внешне немного отличается от Scratch 2.0, в котором записывался данный урок. Поэтому если возникнут вопросы, пиши их, пожалуйста, в комментариях к видео или внизу этой страницы сайта. Мы провели сравнение двух версий языка в серии прямых эфиров.

        Scratch 2.0 по-прежнему можно использовать, скачав и установив программу на свой компьютер. Мы записали также видео-уроки о том, как установить Scratch 2.0 и Scratch 3.0 на свой компьютер.

        Часть 1. Оптимизируем игру «Викторина» с помощью других блоков

        0:48 — изучаем проект, в который будем добавлять Другие блоки.
        2:00 — начинаем оптимизировать код скрипта викторины, создаём и определяем Новый блок
        4:12 — используем Новый блок в основном коде скрипта (вызываем подпрограмму)
        4:49 — собираем весь код и убеждаемся, что он получился короче и понятнее — оптимальнее!
        5:18 — тестируем правильность работы нового оптимизированного скрипта
        5:44 — переходим к теории: как всё это правильно называется в программировании. Узнаём понятия «подпрограмма» и «функция».
        8:12 — задание: открой проект «Простая викторина» и оптимизируй его код с использованием Других блоков.

        Проект «Простая викторина», который оптимизируется путём создания другого блока, здесь: https://scratch.mit.edu/projects/73491752/.

        Итоговый, оптимизированный проект, с другим блоком, здесь: https://scratch.mit.edu/projects/74172132/.

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

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

        Часть 2. Делаем красивый код в проекте «Викторина»

        0:25 — вспоминаем, что такое «красивый код«.
        0:55 — переходим к коду нашего проекта и начинаем делать его более минималистичным и понятным.
        1:30 — редактируем ранее созданный Другой блок.
        1:58 — как ещё можно сделать код более понятным и красивым? Создаём и вызываем Новые блоки «Инициализация» (для задания начальных значений) и «Завершение викторины» для завершающей части скрипта.
        4:02 — анализируем и закрепляем минималистичный код основного скрипта. Так делают все программисты!
        4:50 — задание: сделай код любого своего проекта более красивым и понятным.

        Задание: вспомни, как мы оптимизировали код проекта «Простая викторина» с использованием списков в уроке 19, и постарайся сделать новую версию проекта с использованием списков и Других блоков одновременно. И увидишь, насколько код станет ещё более понятным, удобным для модификации и красивым.

        • что такое красивый код?
        • как сделать код скрипта красивым и оптимальным с использованием Других блоков Scratch (или подпрограмм);
        • как редактировать созданный ранее Другой блок Scratch.

        Хочешь знать и уметь больше?

        Если хочешь ещё лучше разобраться в этой важной теме и набраться больше опыта, посмотри и изучи ещё проекты, в которых используются Другие блоки Scratch:

        • Геометрические фигуры: https://scratch.mit.edu/projects/90085838/ (рисование точек и отрезков вынесено в другие блоки. Можно ещё более оптимизировать код и сделать его более красивым и понятным, вынеся в Другие блоки (подпрограммы) рисование отдельных геометрических фигур. Попробуй сделать это самостоятельно.
        • Ten Squares ( Десять квадратов ): https://scratch.mit.edu/projects/131777552/ — здесь тоже рисование отдельных квадратов вынесено в другие блоки. В описании проекта читай инструкцию по управлению клавишами.
        • Интерфейс интернет-магазина (в комментариях смотри задания и пояснения): https://scratch.mit.edu/projects/102905443/ — этот проект ты можешь сделать ещё лучше!
        • Рисование фракталов: https://scratch.mit.edu/projects/106367149/ — это более сложный пример того, как подпрограмма (Другой блок) вызывает сама себя. В программировании этот приём называется рекурсией или рекурсивным вызовом. Рекурсия встречается даже в жизни! На Хабре есть хорошая статья о рекурсии.

        Можешь также самостоятельно поискать проекты с использованием Других блоков Scratch на сайте scratch.mit.edu в разделе «Исследуй». Пиши и делись своим опытом в комментариях к уроку. Успехов!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *