ИНФОРМАТИКА · 7 КЛАСС
Алгоритмы и Робот · Интерактивный конспект

§ 9. Исполнитель Робот

Освоим поле Робота, команды перемещения и закрашивания. Соберём программу и выделим повторяющиеся действия во вспомогательную процедуру.

Попробовать на модели ↓
Разбираемся в теме

Основные пункты параграфа

1

Робот, датчики и программа

Различайте реальное устройство и его учебную модель.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Исполнитель на клетчатом поле

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

Реальные роботы могут получать сведения от датчиков, обрабатывать их и действовать с помощью механизмов. Их применяют для повторяющихся, точных или сложных операций. Учебный исполнитель Робот — программа, позволяющая изучать алгоритмы без настоящего механизма.

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

Главная мысль: Робот выполняет заданные программой действия; учебный Робот моделирует исполнителя на клетчатом поле.
2

Поле, стены и система команд

Команда должна быть и понятной, и выполнимой.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Следите за условием

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

КомандаРезультат
Right / LeftКлетка справа / слева
Up / DownКлетка сверху / снизу
PaintЗакрасить клетку, на которой стоит Робот

Стены находятся между клетками и по периметру поля. Попытка пройти через стену или выйти за пределы поля вызывает ошибку. Закрашенная клетка не является препятствием: по ней можно ходить. Повторное Paint в уже закрашенной клетке допустимо.

В PascalABC.NET исполнителя подключают строкой uses Robot;. Команда Field(n, m) задаёт размеры нового поля, Task вызывает встроенную задачу. Модели конспекта имеют собственные явно показанные обстановки и не подменяют задания встроенного задачника.

Главная мысль: Right, Left, Up, Down перемещают на одну клетку; Paint закрашивает текущую.
3

Программа с последовательностью команд

Отслеживайте положение после каждой команды.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Выполнение по шагам

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

Последовательность Paint; Right; сначала закрашивает исходную клетку, затем перемещает Робота. Right; Paint; закрашивает соседнюю справа. Если нужно закрасить ряд от первого до последнего элемента, последнюю клетку тоже нужно явно обработать.

uses Robot;
begin
  Field(5, 3);
  Paint;
  Right;
  Paint;
  Down;
  Paint;
end.
Главная мысль: Закрашивание и перемещение — отдельные действия; их порядок влияет на результат.
4

Вспомогательная процедура

Повторяющийся фрагмент удобно описать один раз и вызывать по имени.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Проверьте границы

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

Процедура объявляется перед основным begin. Её тело заключают в begin … end;. Само объявление не двигает Робота: действия начинаются при вызове из основной программы. До вызова нужно обеспечить подходящее начальное положение и отсутствие стен на пути.

uses Robot;
procedure PairCells;
begin
  Paint;
  Right;
  Paint;
end;
begin
  Field(7, 3);
  PairCells;
  Down;
  PairCells;
end.
Главная мысль: Определение процедуры задаёт команды, а вызов выполняет их.
Интерактивная практика

Исследуйте и примените

Проверьте модель на нескольких наборах данных, затем выполните самостоятельное задание.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Лаборатория: примените и проверьте

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

Соберём главное

Шесть выводов

01

Робот выполняет заданные программой действия; учебный Робот моделирует исполнителя на клетчатом поле.

02

Right, Left, Up, Down перемещают на одну клетку; Paint закрашивает текущую.

03

Закрашивание и перемещение — отдельные действия; их порядок влияет на результат.

04

Определение процедуры задаёт команды, а вызов выполняет их.

05

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

06

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

Самопроверка

Тест: 10 вопросов

Один верный ответ. За ответ — 0,5 балла. Откройте и проверьте себя.

1. Где находится стена в модели Робота?

2. Что делает Right?

3. Что закрашивает Paint?

4. Можно ли ходить по закрашенной клетке?

5. Повторное Paint в закрашенной клетке…

6. Какая строка подключает Робота?

7. Чем Paint; Right; отличается от Right; Paint;?

8. Когда выполняется тело процедуры?

9. Что нужно учитывать после процедуры?

10. Попытка пройти сквозь стену приводит к…

ВыводыТестВ началоВсе параграфы
↑

Загрузка прогресса…