Учебная задача

Постановка задачи.

Постановка задачи: Разработайте алгоритм перемещения исполнителя из точки А в точку Б, при этом след должен точно соответствовать приведенному в образце орнаменту. Используйте процедуру для рисования одного фрагмента (угол) и процедуру для перехода к следующему фрагменту. Сохраните ваш алгоритм в файле для использования в следующей задаче.

Исходное положение "Стрелочки":
- точка А;
- направление вниз.
Результат: "Стрелочка" в точке Б.

Образец для воспроизведения рисунка:

Решение задачи. Решение задачи: В образце видны повторяющиеся фрагменты (уголки) и одинаковые переходы от одного фрагмента к другому. Применяя метод пошаговой детализации, выделим в задаче две отдельные подзадачи - как нарисовать фрагмент (угол) и как сделать переход к следующему фрагменту. Назовём процедуры именами "Угол" и "Переход". Процедура "Угол" будет вызвана 4 раза, процедура "Переход" - 3 раза.

После выполнения одной процедуры "Угол" и одной  "Переход" "Стрелочка" стоит в положении, из которого можно рисовать следующий фрагмент.

Исполнение алгоритма:

АЛГОРИТМ ПУТЬ_1
   Дано: Исполнитель в т.А
   Надо: Исполнитель в т.Б
НАЧ
   ДЕЛАЙ угол
   ДЕЛАЙ переход
   ДЕЛАЙ угол
   ДЕЛАЙ переход
   ДЕЛАЙ угол
   ДЕЛАЙ переход
   ДЕЛАЙ угол
КОН

ПРОЦЕДУРА переход
   ПРЫЖОК
   ПОВОРОТ
   ПРЫЖОК
   ПОВОРОТ
   ПОВОРОТ
КОНЕЦ ПРОЦЕДУРЫ

ПРОЦЕДУРА угол
   ШАГ
   ПОВОРОТ
   ШАГ
КОНЕЦ ПРОЦЕДУРЫ

Представление алгоритма в виде блок-схемы:

Комментарий к сериям задач.

Приведенное выше решение задачи не является единственно возможным. Можно было бы, например, рисовать пару Угол-Переход в одной общей процедуре. Однако, урок "Вспомогательные алгоритмы" построен так, чтобы на простых задачах продемонстрировать преимущества использования процедур. В частности, многие предлагаемые задачи не являются независимыми, а входят в серию задач. Разработанные в одной задаче процедуры могут пригодиться в следующих задачах. Поэтому рекомендуется все решения сохранять в файлах, а при необходимости загружать и вносить исправления. Соответствующие возможности предоставляет контекстное меню, доступное из окна с текстом алгоритма на этапе "Разработка".

Например, процедуру  "Угол" можно использовать в задачах с образцами:

 

 

 

 

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