Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДЗ - Примеры решений с Роботом и задания.doc
Скачиваний:
12
Добавлен:
21.11.2019
Размер:
334.34 Кб
Скачать

Задача 4

  • Среда обитания Робота - прямоугольный лабиринт на клетчатой плоскости, где есть внутренние перегородки:

  • Система команд Робота:

    • Четыре команды движения: вверх вниз влево вправо. При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.

    • Четыре команды проверки условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ: сверху свободно; снизу свободно; слева свободно; справа свободно.

    • Цикл ПОКА <условие> выполняется, пока условие истинно, иначе происходит переход на следующую строку.

  • Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ уцелеет и остановится в закрашенной клетке F6? (14, 17, 19, 21)

НАЧАЛО

ПОКА<справа свободно ИЛИ снизу свободно >

ПОКА < снизу свободно > вниз

КОНЕЦ ПОКА

ПОКА < справа свободно > вправо

КОНЕЦ ПОКА

КОНЕЦ ПОКА

КОНЕЦ

  • Выполняя заданную программу, РОБОТ начинает с внешнего цикла (синий) и проверяет, свободна ли клетка справа или снизу.

  • Если это так, то РОБОТ переходит к первому внутреннему циклу (зеленому). В этом цикле, пока у нижней стороны клетки, в которой находится РОБОТ, нет стены, он продолжает двигаться вниз.

  • Как только это условие перестанет выполняться, он переходит ко второму внутреннему (розовому) циклу. Этот цикл аналогичен первому, только теперь проверяется отсутствие стены у правой стороны клетки.

  • Проанализировав эту программу, приходим к выводу, что:

    • РОБОТ будет двигаться вправо или вниз, пока у него есть такая возможность.

    • РОБОТ никогда не разобьётся.

  • Проверив все клетки по выведенному нами правилу движения РОБОТА, выясняем, что число клеток, удовлетворяющих условию задачи, равно 19.

Домашнее задание

Задача 1

  • Среда обитания Робота - прямоугольный лабиринт на клетчатой плоскости, где есть внутренние перегородки:

  • Система команд Робота:

    • Четыре команды движения: вверх вниз влево вправо. При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.

    • Четыре команды проверки условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ: сверху свободно; снизу свободно; слева свободно; справа свободно.

    • Цикл ПОКА <условие> выполняется, пока условие истинно, иначе происходит переход на следующую строку.

  • Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ остановится в той же клетке, с которой он начал движение? (1, 2, 3, 4)

НАЧАЛО

ПОКА<снизу свободно> вниз

ПОКА<справа свободно> вправо

ПОКА<сверху свободно> вверх

ПОКА<слева свободно> влево

КОНЕЦ

Задача 2

  • Среда обитания Робота - прямоугольный лабиринт на клетчатой плоскости, где есть внутренние перегородки:

  • Система команд Робота:

    • Четыре команды движения: вверх вниз влево вправо. При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.

    • Четыре команды проверки условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ: сверху свободно; снизу свободно; слева свободно; справа свободно.

    • Цикл ПОКА <условие> выполняется, пока условие истинно, иначе происходит переход на следующую строку.

  • Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ остановится в той же клетке, с которой он начал движение? (1, 2, 3, 4)

НАЧАЛО

ПОКА <сверху свободно> вправо

ПОКА <справа свободно> вниз

ПОКА <снизу свободно> влево

ПОКА <слева свободно> вверх

КОНЕЦ

Задача 3

  • Среда обитания Робота - прямоугольный лабиринт на клетчатой плоскости, где есть внутренние перегородки:

  • Система команд Робота:

    • Четыре команды движения: вверх вниз влево вправо. При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.

    • Четыре команды проверки условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ: сверху свободно; снизу свободно; слева свободно; справа свободно.

    • Цикл ПОКА <условие> выполняется, пока условие истинно, иначе происходит переход на следующую строку.

  • Если РОБОТ начнет движение в сторону стены, он разрушится и программа прервется.

  • Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ уцелеет, т.е. не врежется в стену? (0, 5, 15 или 25)

НАЧАЛО

ПОКА <слева свободно> влево

ПОКА <справа свободно> вправо

вверх

вправо

КОНЕЦ

Задача 4

  • Среда обитания Робота - прямоугольный лабиринт на клетчатой плоскости, где есть внутренние перегородки.

  • Клетка в лабиринте может быть чистая или закрашенная (серая).

  • Система команд Робота:

    • Четыре команды движения: вверх вниз влево вправо. При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.

    • Четыре команды проверки условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ: сверху свободно; снизу свободно; слева свободно; справа свободно.

    • Цикл ПОКА <условие> выполняется, пока условие истинно, иначе происходит переход на следующую строку.

    • В конструкции «ЕСЛИ <условие> ТО команда КОНЕЦ ЕСЛИ» команда выполняется только, если условие истинно. В противном случае ничего не происходит.

    • В конструкциях ПОКА и ЕСЛИ условие может содержать команды проверки, а также слова И, ИЛИ, НЕ.

  • Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ уцелеет и остановится в закрашенной клетке F6? (12, 15, 18, 21)

НАЧАЛО

ПОКА <снизу свободно ИЛИ справа свободно>

ПОКА <справа свободно> вправо КОНЕЦ ПОКА

ЕСЛИ <снизу свободно> ТО вниз

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ