Создание собственных блоков
Подпрограммы: My block
Язык NXT-G позволяет программисту создавать собственные блоки, наподобие блока Move. При этом видимый программный код значительно сокращается, что в случае NXT-G очень важно, так как на экране умещается только небольшая часть кода и часто приходится прибегать к прокрутке.
Собственные блоки можно использовать в программе многократно, а также создавать с их участием новые блоки.
В этом разделе мы рассмотрим простейший вариант блоков: без входных и выходных параметров. В дальнейшем мы изучим более сложные случаи.
Задание 6.1. Записать в тетрадь на сколько градусов нужно повернуть колёса робота, чтобы сам робот повернулся на 90°.
Задание 6.2. Написать программу движения робота по квадрату по следующей схеме:
- Повтори 4 раза:
- Вперёд;
- Поворот робота на 90° (на сколько градусов нужно повернуть колёса Вы определили в задании 6.1).
Задание 6.3. Написать программу "Восьмёрка", в которой робот двигается по следующей траектории [4]:
Начало движения - в центре фигуры; цифрами обозначен порядок прохождения сторон. Схема программы:
- Повтори 2 раза
- Квадрат
- Поворот на N°. Подсказка: N° найти через пропорцию; см. задание 6.1 .
Пример 6.1. Написать ту же самую программу, используя подпрограмму (My block). Для этого:
- выделить мышкой цикл движения робота по квадрату;
- выбрать пункт меню Edit \ Make A New My Block (Редактирование \ Создать новый блок);
- в окне My Block Builder (Конструктор блоков) в поле Block Name ввести имя блока Square (только английскими буквами) и описание блока в поле Block Description (можно по-русски), например "Процедура движения по квадрату";
- нажать кнопку Next (Далее);
- на этом шаге нужно создать значок для Вашего блока путём перетаскивания готовых иконок в верхнюю область окна; можно использовать несколько иконок;
- нажать кнопку Finish (Конец);
- в результате на листе программы вместо цикла Вы увидите Ваш блок под названием Square. Если выполнить на нём двойной щелчок, то на соседней вкладке (на новом листе) откроется содержимое блока, которое при необходимости можно отредактировать. Выбирать свои блоки можно из палитры Custom palette (Моя палитра);
Тогда программа движения по восьмёрке может выглядеть, например, так
или так
Задание 6.4. Сравните работу двух вариантов программ.
Обратите внимание, доступ к конструктору блоков можно получить и через панель инструментов (Рис. 6.3):
Задание 6.5. Написать программу движения робота по правильному треугольнику. Подсказка: для вычисления угла поворота используйте пропорцию.
Задание 6.6. (Из [4]). Написать программу для движения робота, который, используя программу из задания 6.5, при своём движении "рисует" мозаику (Рис. 6.4). Для того, чтобы сделать движение робота более наглядным, закрепите на робот маркер острием вниз и подложите на стол бумагу.