Запуск
mount c ~/dos c: keyrus cd robot robot имя_программы
Клавиши
Клавиши | Что делает | Action |
---|---|---|
табуляция | Переключает поле / программа | Switch field / programm |
F9 | Запустить программу | Run programm |
F10 | Выход | Exit |
* (NumLock?) | Робот здесь | Set robot |
^C | Очистить поле | Clear field |
F1 | Помощь | Help |
Ins | Закрасить/очистить | Fill/Clear cell |
Ins | Стенка / нет стенки | Set / Clear wall |
Left Shift / Right Shift | Русский / Английский | Rus/Eng |
^F10 | Мышь | Restore mouse |
Теория: простые команды
Робот может:- шаг на север
- шаг на юг
- шаг на запад
- шаг на восток
- закрасить
Урок 1. Простые команды и циклы
Пример 1. Закрасить 3 клетки через 1 шаг
Дано: робот стоит у нижней стенки. Надо: закрасить 3 клетки через 1 шаг. Напишем программупрограмма PROGRAMM1 начало шаг на север закрасить шаг на север закрасить шаг на север закрасить конец


Задача 1. Закрасить 3 клетки через 2 шага
Дано: робот стоит у нижней стенки. Надо: закрасить 3 клетки через 2 шага. После выполнения программы поле стало:
Пример 2. Циклы. Закрасить до конца
Дано: робот у нижней стенки Надо: 1 шаг и закрасить клетку много раз, до верхней стенки. Робот может повторять команды много раз. Сначала он проверяет условие. Если условие ДА, то он делает команды внутри ПОКА. Повторяет много раз.программа PROGRAMM1 начало пока на севере свободно выполнять шаг на север закрасить конец конец

Задача 2. Закрасить вверх до конца и вправо до конца
Нарисуйте прямоугольник из стен. Дано: робот стоит в левом нижнем углу. Надо: 1 шаг и закрасить сначала вверх, потом вправо. После выполнения программы поле стало:
Задача 3. Рамка
Нарисуйте прямоугольник из стен. Дано: робот стоит в левом нижнем углу. Надо: 1 шаг и закрасить вдоль всех стен. После выполнения программы поле стало:
Задача 4. Рамка - 2
Нарисуйте прямоугольник из стен. Дано: робот стоит около одной из стен (стену покажет учитель). Надо: 1 шаг и закрасить вдоль всех стен.
Задача 5. Рамка - 3
Нарисуйте прямоугольник из стен. Дано: робот стоит внутри НЕ у стены Надо: Закрасить так же, как раньше.
Урок 2. Команды выбора
Робот может проверить условие.Пример 1. Если
Робот делает шаг на север.Если робот на закрашенной клетке, то надо вернуться.

Пример 2. Если - иначе
Робот делает шаг на север.Если робот на закрашенной клетке, то надо пойти на восток;
если на пустой (иначе) - на запад.

Задача 2.1
Робот делает шаг на восток.Если на востоке стена, он делает шаг на запад и красит клетку.
Если на востоке нет стены, робот делает еще один шаг на восток.
Задача 2.2 Рамка и вернуться в начало
Робот стоит внутри прямоугольника.Закрасить рамку по всем сторонам прямоугольника и вернуться на исходное место.
Можно закрасить лишние клетки.
Пример 3. И
Робот идет с юга на север вдоль западной стены по закрашенным клеткам. Он должен остановиться когда закончатся закрашенные клетки или когда на севере будет стена.

Задача 2.3a Остановиться у дырки - юг
Написать программу. Робот стоит около западной стены. Еще одна стена на юге от робота. Робот должен дойти и остановится около «дырки» южной стены. Использовать «отрицание»
Задача 2.3b Остановиться у дырки - любая стена
Написать программу. Робот стоит в левом нижнем углу. В одной из стен дырка (в любой стене). Робот должен дойти и остановится около «дырки».
Задача 2.4a Выйти на закрашенное
Написать программу. Робот стоит в левом нижнем углу. В одной из стен дырка (в любой стене). Перед дыркой - закрашено. Робот должен дойти до дырки, выйти через нее и остановиться на закрашенной клетке.
Задача 2.4 Выйти
Робот стоит у стенки прямоугольника (внутри). У одной стенки есть «дырка». Написать программу, чтобы робот «вышел» из прямоугольника. «Дырка» может быть в любой стене.
Задача 2.5 Войти
Робот стоит у стенки прямоугольника (снаружи). У одной стенки есть «дырка». Написать программу, чтобы робот «зашел» внутрь прямоугольника. «Дырка» может быть в любой стене.
Урок 3. Процедуры
Можно научить робота новым командам. Новая команда - это несколько старых команд вместе. Сначала мы пишем из чего состоит команда (объясняем роботу что делать). Потом вызываем команду. Одну команду можно вызвать много раз.Задача. 3.1 Узор - полоса
Робот стоит в юго-западном углу прямоугольника. Написать программу, чтобы робот закрасил прямоугольник полосками: Поле может быть таким: или таким
Задача. 3.2 Узор - шахматы
Робот стоит в юго-западном углу прямоугольника. Написать программу, чтобы робот закрасил прямоугольник шахматным узором: Поле может быть таким: или таким
Задача. 3.3 Лабиринт
Робот стоит в юго-западном углу прямоугольника. В прямоугольнике горизонтальные коридоры шириной 1 клетка. В каждом коридоре есть дырка на север. Надо: Дойти до самого верхнего коридора и остановиться в любом месте. Можно закрасить любые клетки.
Задача. 3.4 2n закрасить
В n клетках на запад от робота стена. Других стен нет. Надо: Закрасить 2n любых клеток.Задача. 3.4 2n закрасить в коридоре
Робот стоит в коридоре шириной в 1 клетку. В n клетках на запад от робота стена. На востоке стены нет (бесконечный коридор). Надо: Закрасить 2n любых клеток.
Дополнительные задачи
- Спираль из юго-восточного угла прямоугольника.
- Дано: робот стоит в юго-восточном углу прямоугольника.
- Надо: Начиная от стенок прямоугольника закрасить спираль с шагом в 1 клетку.
- Вложенные прямоугольники.
- Дано: Робот стоит внутри нескольких прямоугольников, у каждого из которых в одной стенке есть проход размером в клетку.
- Надо: Робот у внешней стенки поля.
- Лабиринт из прямых стенок
- Дано: В огороженном прямоугольнике есть вертикальные и горизонтальные стены, не примыкающие друг к другу (но, возможно, примыкающие к границе) и не нарушающие связанности.
- Надо: Робот в северо-западном углу.
- Клетка
- Дано: в огороженном прямоугольнике есть не примыкающая к границе огороженная со всех сторон клетка. Других стен нет. Робот в юго-западном углу.
- Надо: Робот в клетке, соседней с огороженной.
- robot1.pdf: Задачи