Компьютерные исполнители


ВВЕДЕНИЕ * ЧЕРТЁЖНИК * РОБОТ * РИСОВАЛЬЩИК * АБОРИГЕН * КЛАДОИСКАТЕЛЬ * ПОКУПАТЕЛЬ * ХОДОК * ССЫЛКИ * КАРТА


    Абориген

    Среда исполнителя

    Исполнителя Абориген можно представить как некое шагающее и прыгающее устройство, способное поворачиваться налево и направо, а также менять цвет линий, которые он рисует.
     Средой обитания исполнителя Абориген является прямоугольное клеточное поле, образованное вертикальными и горизонтальными линиями. Пересечения линий называют узлами сетки. Прямоугольные клетки, образованные линиями, назовём клетками поля, или просто клетками. Размер поля определяется количеством клеток, размещённых вдоль горизонтальной и вдоль вертикальной сторон поля. Сетка может выводиться пунктирными линиями или быть скрытой.
     Абориген ориентирован в одну из четырёх сторон и изображается в виде красной стрелки, если он активен, и в виде стрелки синего цвета, если он не активен, а также белого цвета, если он находится под отладкой. Абориген также считается непрозрачным исполнителем (в одном узле одновременно не может находиться более одного исполнителя).
     Абориген может передвигаться в ближайший по направлению его ориентации узел, причём возможно передвижение с оставлением следа или без его оставления. След, который оставляет исполнитель, изображается в виде отрезка, соединяющего узлы. Отрезки могут быть одного из восьми цветов.
     Абориген, оставаясь на месте, может делать повороты, т.е. сменять ориентацию. Повороты могут осуществляться как программно, так и визуально (чтобы повернуть Аборигена на 90 градусов по ходу часовой стрелки, нужно щёлкнуть на нём правой кнопкой "мыши").
     При загрузке исполнитель Абориген находится в верхнем левом угле и повёрнут на юг (вниз). Но начальное положение исполнителя можно изменить (загрузив из файла соответствующую обстановку или нажав правой кнопкой мыши на исполнителе).
    На поле могут быть размещены горизонтальные и вертикальные линии (одного из 8 цветов).
     Горизонтальные линии и вертикальные линии могут быть поставлены на поле Аборигена с помощью команды ШАГ или с помощью команды Расстановка/Добавить объект .... Линии могут перемещаться с одного места на другое (при нажатой левой клавише мыши) или копироваться с помощью значка Знак копирования, который появляется, если объект выделяется при нажатой клавише Shift.
    На поле рядом с Аборигеном может находиться другой исполнитель - Кладоискатель . Абориген может получать информацию о своём положении на поле среды и информацию о находящихся на поле Кладоискателях.
     Кладоискатель и Абориген- конкурирующие исполнители, для которых может быть придумано большое число задач, требующих тщательной разработки алгоритма-стратегии.

    Система команд исполнителя

Шаг

Шаг

  Абориген перемещается на одну клетку в текущем направлении и оставляет след за собой- линию текущим выбранным цветом.

Прыжок

Прыжок

  Абориген перемещается на одну клетку в текущем направлении, не оставляя за собой следа.

Повернуть_Налево

Повернуть_Налево

  Абориген пповорачивает налево относительно текущего направления.

Повернуть_Направо

Повернуть_Направо

  Абориген поворачивается направо относительно текущего направления.

Сменить_Цвет(.)

Сменить_Цвет(.)

 Данная команда позволяет изменить цвет следа-линии, которую будет оставлять за собой Абориген .

Номера цветов линий

1Чёрный5Красный
2Синий6Фиолетовый
3Зелёный7Жёлтый
4Болотный8Белый

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

    Линейные алгоритмы

     Линейным называют такой алгоритм, в котором команды выполняются одна за другой в порядке их записи.
    ПРИМЕР 1.Cоставим алгоритм, выполнив который Абориген нарисует следующий рисунок.
Пример 1.
  Программа Пример_1
  Сменить_Цвет(6)
  Прыжок Шаг
  Повернуть_Налево Шаг
  Повернуть_Направо Шаг
  Повернуть_Налево Шаг
  Повернуть_Налево Шаг
  Повернуть_Направо Шаг
  Повернуть_Налево Шаг
  Повернуть_Налево Шаг
  Повернуть_Направо Шаг
  Повернуть_Налево Шаг
  Повернуть_Налево Шаг
  Повернуть_Направо Шаг
  Конец_Программы

    ПРИМЕР 2.Cоставим алгоритм, выполнив который Абориген нарисует имя Саша.
Пример 2.
Программа Пример_2
Сменить_Цвет(3)
Повернуть_Налево
Шаг
Повернуть_Налево
Повернуть_Налево
Прыжок
Повернуть_Налево
Шаг
Шаг
Шаг
Повернуть_Налево
Шаг
Прыжок
Сменить_Цвет(7)
Повернуть_Налево
Шаг
Шаг
Шаг
Повернуть_Направо
Шаг
Повернуть_Направо
Шаг
Шаг
Шаг
Повернуть_Налево
Повернуть_Налево
Прыжок
Повернуть_Налево
Шаг
Повернуть_Налево
Прыжок
Повернуть_Налево
Прыжок
Прыжок
Сменить_Цвет(6)
Повернуть_Налево
Шаг
Шаг
Шаг
Повернуть_Направо
Прыжок
Повернуть_Направо
Шаг
Шаг
Шаг
Повернуть_Направо
Шаг
Повернуть_Налево
Повернуть_Налево
Прыжок
Шаг
Повернуть_Налево
Шаг
Шаг
Шаг
Повернуть_Направо
Повернуть_Направо
Прыжок
Прыжок
Прыжок
Повернуть_Налево
Прыжок
Сменить_Цвет(7)
Повернуть_Налево
Шаг
Шаг
Шаг
Повернуть_Направо
Шаг
Повернуть_Направо
Шаг
Шаг
Шаг
Повернуть_Налево
Повернуть_Налево
Прыжок
Повернуть_Налево
Шаг
Повернуть_Налево
Прыжок
Повернуть_Налево
Прыжок
Прыжок
Конец_Программы

    

Задания для самостоятельного выполнения



    Задание 1.
Cоставим алгоритм, выполнив который Абориген нарисует имя Нина.
    Задание 2.
Помогите Аборигену нарисовать ваше имя.
    Задание 3.
Помогите Аборигену нарисовать придуманный вами рисунок.


    Задание 4.
Cоставим алгоритм, выполнив который Абориген нарисует голову робота..

    Вспомогательные алгоритмы

     Вспомогательным называют такой алгоритм, который можно использовать в любом месте другого алгоритма. Для вызова вспомогательного алгоритма используется его имя.

    ПРИМЕР 3.
Составим алгоритм, в результате выполнения которого Абориген нарисует рисунок по образцу.
Программа Пример_3
Сменить_Цвет(2) фигура
Сменить_Цвет(3) фигура
Сменить_Цвет(4) фигура
Сменить_Цвет(5) фигура
Конец_Программы
Программа фигура
Шаг Шаг Шаг
Повернуть_Налево
Шаг
Повернуть_Налево
Шаг
Повернуть_Направо

Шаг
Повернуть_Налево
Шаг
Повернуть_Налево
Шаг
Повернуть_Направо
Шаг
Повернуть_Налево
Шаг
Повернуть_Налево
Повернуть_Налево
Прыжок
Прыжок Прыжок
Повернуть_Направо
Прыжок
Конец_Программы


    

Задания для самостоятельного выполнения

Задание 5.
    Задание 5.Cоставьте алгоритм, в результате которого Абориген нарисует рисунок по образцу.

    Задание 6.Cоставьте алгоритм, в результате которого Абориген нарисует рисунок по образцу.

    Алгоритмы с повторением

     Конструкция повторения- это часть алгоритма, в которой некоторую последовательность действий надо повторить несколько раз. Такую многократно повторяющуюся часть алгоритма называют циклом.
    Алгоритм, в котором используется конструкция повторения, называется алгоритмом с повторением.
    При составлении алгоритмов с повторениями используется команда повторения:
Повторять_Пока (условие)
(действие 1)
(действие 2)
...
(действие n)
Завершить

    Команды-вопросы исполнителя

Впереди_Пусто

Впереди_Пусто

  Абориген проверяет, пусто ли по направлению движения.

Впереди_Линия

Впереди_Линия

  Абориген проверяет, есть ли по направлению движения линия.

Впереди_Узел

Впереди_Узел

  Абориген проверяет, есть ли по направлению движения узел.

Вернуть_Цвет_Линии

Вернуть_Цвет_Линии

 Данная команда возвращает цвет линии, проходящей из текущего узла в следующий узел по направлению движения.

  Программа Цвет_Линии
  Описание
  а: Целый
  Конец_Описания
   а:=Вернуть_Цвет_Линии
  Вывод(а)
  Конец_Программы

Считать_Узлы

 Возвращает информацию об Аборигенах на поле.

Считать_Клетки

 Возвращает информацию о Кладоискателях на поле.

Сколько_До_Края

 Возвращает количество узлов до границы в текущем направлении, не включая узел, на котором Абориген сейчас находится.

    Наличие команд-вопросов для исполнителя Абориген даёт возможность составлять различные алгоритмы, достаточно короткие по сравнению с линейными. Рассмотрим некоторые из них.

ПРИМЕР 4.

Составим алгоритм, с помощью которого Абориген нарисует 4 линии разного цвета по образцу.

   
Программа Пример_4
   Сменить_Цвет(4)
   Повторять_Пока Впереди_Поле Шаг Завершить
   Повернуть_Налево Прыжок Повернуть_Налево
   Сменить_Цвет(7)
   Повторять_Пока Впереди_Поле Шаг Завершить
   Повернуть_Направо Прыжок Прыжок Прыжок
   Повернуть_Направо Сменить_Цвет(3)
   Повторять_Пока Впереди_Поле Шаг Завершить
   Повернуть_Налево Прыжок Повернуть_Налево
   Сменить_Цвет(6)
   Повторять_Пока Впереди_Поле Шаг Завершить
   Конец_Программы

ПРИМЕР 5.

Составим алгоритм, с помощью которого Абориген нарисует рисунок по образцу.

 


 

ПРИМЕР 5.

Составим алгоритм, с помощью которого Абориген нарисует рисунок по образцу.
   
Программа Пример_5
   Описание т: Целый Конец_Описания
   т:=1
   Повторять_Пока т<7
   Сменить_Цвет(3) Шаг
   Повернуть_Налево
   Сменить_Цвет(6) Шаг
   Повернуть_Направо
   т:=т+1
   Завершить
   Повернуть_Налево
   Повернуть_Налево
   т:=1
   Повторять_Пока т<7
   Сменить_Цвет(3) Шаг
   Повернуть_Направо
   Сменить_Цвет(6) Шаг
   Повернуть_Налево
   т:=т+1
   Завершить
   Конец_Программы

    

Задания для самостоятельного выполнения


    Задание 7.Cоставьте алгоритм, в результате которого Абориген нарисует рисунок по образцу.

    Задание 8.Cоставьте алгоритм, в результате которого Абориген нарисует рисунок по образцу.

    Задание 9.Cоставьте алгоритм, в результате которого Абориген нарисует рисунок по образцу.

    Алгоритмы с ветвлениями

     Конструкция ветвления- это часть алгоритма, в которой в зависимости от выполнения или невыполнения некоторого условия выполняется либо одна, либо другая последовательность действий.
    Алгоритм, в котором используется конструкция ветвления, называется алгоритмом с ветвлением.
    При составлении алгоритмов с ветвлениями используется команда если:
Если (условие)
    То (действие 1)
    Иначе (действие 2)
Конец_Если

     Выше указанная конструкция называется полной, если в конструкции нет слова иначе, то конструкция называется не полной.

ПРИМЕР 6.

Cоставим алгоритм, выполнив который Абориген сосчитает количество фиолетовых линий.

   
Программа Пример_6
   Описание м: Целый Конец_Описания
   м:=0
   Повторять_Пока Впереди_Поле
   Если Вернуть_Цвет_Линии =6
    То м:=м+1 Конец_Если
   Прыжок Завершить
   Повернуть_Налево Прыжок
   Повернуть_Налево
   Повторять_Пока Впереди_Поле
   Если Вернуть_Цвет_Линии =6
    То м:=м+1 Конец_Если
   Прыжок Завершить
   Повернуть_Направо
   Повторять_Пока Впереди_Поле
   Если Вернуть_Цвет_Линии =6
   То м:=м+1 Конец_Если
   Прыжок Завершить
   Вывод(м)
   Конец_Программы

ПРИМЕР 7.

Cоставим алгоритм, выполнив который Абориген вставит линии жёлтого цвета в промежутках между фиолетовыми линиями.


Программа Пример_7
   Сменить_Цвет(7)
   Повторять_Пока Впереди_Поле
   Если Вернуть_Цвет_Линии =0
       То
      Шаг
       Иначе
      Прыжок
   Конец_Если
   Завершить
   Конец_Программы

    

Задания для самостоятельного выполнения

   Задание 10. Cоставьте алгоритм, в результате которого Абориген сосчитает количество салатовых и красных линий.


   Задание 11. Cоставьте алгоритм, в результате которого Абориген сосчитает количество всех линий кроме жёлтых и белых.
    Задание 12.Cоставьте алгоритм замены всех синих линий на жёлтые, а красных- на белые.

    


ВВЕДЕНИЕ * ЧЕРТЁЖНИК * РОБОТ * РИСОВАЛЬЩИК * АБОРИГЕН * КЛАДОИСКАТЕЛЬ * ПОКУПАТЕЛЬ * ХОДОК * ССЫЛКИ * КАРТА *


   А.А.Синица saassl@tut.by

Назад

Далее