Черно-белое движение
Подпрограммы без параметров
Задача: написать программу «Восьмёрка», в которой робот двигается по следующей траектории
Повторить два раза:
- Движение по квадрату.
- Поворот на N градусов.
Создание собственного блока (подпрограммы)
- Создать набор инструкций для движения робота по квадрату с использованием цикла.
- Выделить мышкой цикл движения робота по квадрату.
- Выбрать пункт меню РЕДАКТИРОВАНИЕ \ СОЗДАТЬ НОВЫЙ БЛОК.
- В окне КОНСТРУКТОР БЛОКОВ в поле ИМЯ БЛОКА ввести имя блока (например, Square, только английскими буквами) и описание блока в поле ОПИСАНИЕ БЛОКА (необязательно, можно по-русски, например «Процедура движения по квадрату»).
- Нажать кнопку ДАЛЕЕ.
- На этом шаге нужно создать значок для вашего блока путём перетаскивания готовых иконок в верхнюю область окна; можно использовать несколько иконок.
- Нажать кнопку КОНЕЦ.
- В результате на листе программы вместо цикла появится блок под названием Square. Если выполнить на нём двойной щелчок, то на соседней вкладке (на новом листе) откроется содержимое блока, которое при необходимости можно отредактировать. Выбирать свои блоки можно из палитры МОЯ ПАЛИТРА (Custom palette).
Подпрограммы с параметрами
Задача: написать процедуру движения робота по квадрату. Входной параметр — длина стороны квадрата — задаётся случайным числом в диапазоне от 1 до 5 оборотов мотора.
- Написать программу для движения робота по квадрату со стороной в 1 оборот мотора. Программа не содержит подпрограмм, но использует цикл со счетчиком.
- Добавьте в программу новый блок СЛУЧАЙНОЕ (Random)из меню ДАННЫЕ (Data) полной палитры. Разместите этот блок перед основным циклом.
- В настройках блока случайное задайте диапазон генерируемого числа.
- Для того, чтобы заставить робота проезжать столько оборотов, сколько выпадет в блоке СЛУЧАЙНОЕ (Random), нужно передать это число на разъём ДЛИТЕЛЬНОСТЬ (Duration) блока ДВИЖЕНИЕ (Move).
- Число оборотов, которое должен произвести мотор, следует перевести в градусы из расчёта: один оборот мотора 360°. Поместите в цикл блок МАТЕМАТИКА (Math) из меню ДАННЫЕ (Data) и настройте его на умножение (Multiplication) на 360°.
- Соедините шиной данных выходной разъём блока СЛУЧАЙНОЕ (Random) и входной разъём A блока МАТЕМАТИКА (Math).
- Затем соедините шиной выходной разъём РЕЗУЛЬТАТ (Result) блока МАТЕМАТИКА (Math) (числовые выходные разъёмы помечаются символом «#») и входной разъём ДЛИТЕЛЬНОСТЬ (Duration) блока ДВИЖЕНИЕ, который «соответствует» длине стороны квадрата.
- Выделить часть, которая будет входить в процедуру (все, кроме блока генерации), и создать собственный блок. У нового блока появились входной и выходной разъем для передачи данных.
- Выведем на экран блока NXT текущую длину стороны квадрата, измеряемую в оборотах двигателя. После блока СЛУЧАЙНОЕ (Random) «вытяните» мышкой ещё одну направляющую для блоков (начать создание новой направляющей — щелчок левой кнопкой мыши; завершить — двойной щелчок мыши). Соединим шины данных.
Юлия Сергеевна Пономарева