1)Можно ли создать узор с помощью вспомогательных алгоритмов? 2)Можно ли создать движение...

+262 голосов
5.8m просмотров

1)Можно ли создать узор с помощью вспомогательных алгоритмов? 2)Можно ли создать движение воды в море с помощью вспомогательных алгоритмов? 3)Приведите примеры использования вспомогательных алгоритмов в жизни.


Другие предметы (21 баллов) | 5.8m просмотров
Дан 1 ответ
+128 голосов

Ответ:

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

Но предположим, что нам нужно написать алгоритм, чтобы изобразить слово, в котором буква «А» повторяется несколько раз, на пример для слова АРАРАТ. Мы конечно можем написать длинный алгоритм, в котором последовательность команд для рисования буквы «А» будет повторяться трижды, а для буквы «Р» – дважды, но можно поступить проще.

У Чертёжника есть инструмент для запоминания, того, как рисуется фигура, чтобы потом можно было использовать этот алгоритм повторно. Этот инструмент называется вспомогательным алгоритмом.

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

Так для решения данной задачи можно оформить последовательности команд для рисования буков «А» и «Р» в виде вспомогательных алгоритмов. Вспомогательный алгоритм буквы «А» будет выглядеть так. Он, как и все вспомогательные алгоритмы, записывается после основного алгоритма.

Строка «алг буква_а» называется заголовком алгоритма, а «буква_а» - его названием. Сам алгоритм рисования буквы, для простоты ориентирования в тексте программы, должен находиться правее, между служебными словами «нач» и «кон».

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

Буква «Р» из отрезков должна выглядеть так. Она состоит из четырёх отрезков.

Сначала записываем строку заголовка «алг буква_р», далее идет служебное слово «нач» и сразу можем записать в следующей строке служебное слово «кон», далее между служебными словами «нач» и «кон», на расстоянии одного пробела от левого края поля, мы будем записывать команды для рисования самой буквы «Р». Так как перо находится в левом нижнем углу позиции для рисования буквы, мы можем сразу опустить перо и провести отрезок на 2 единицы вверх. Напишем соответствующие команды.

опустить перо

сместиться на вектор (0,2)

Затем напишем команды для рисования остальных трех отрезков

сместиться на вектор (1,0)

сместиться на вектор (0,-1)

сместиться на вектор (-1,0)

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

поднять перо

сместиться на вектор (2,-1)

Так у нас есть вспомогательный алгоритм для рисования буквы «Р»

Теперь мы можем написать алгоритм для рисования слова «АРАРАТ».

Вначале мы должны вызвать вспомогательный алгоритм для написания буквы «А», для этого достаточно набрать его название.

буква_а

Затем вызвать вспомогательный алгоритм для буквы «Р»,

буква_р

затем снова для буквы «А», затем снова для буквы «Р», снова для буквы «А» и наконец, написать команды для рисования буквы «Т».

сместиться на вектор (1,0)

опустить перо

сместиться на вектор (0,2)

поднять перо

сместиться на вектор (-1,0)

опустить перо

сместиться на вектор (2,0)

Так, как буква «Т» - последняя буква в слове, отступ после нее можно не делать

При желании, вы можете написать вспомогательный алгоритм для изображения буквы «Т» самостоятельно.

Запустим программу на выполнение.

Рассмотрим ещё одну задачу. Написать для исполнителя чертёжник программу для рисования рисунка.

Видно, что на рисунке три раза изображён элемент треугольник. Оформим последовательность команд для изображения треугольника в виде вспомогательного алгоритма.

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

Будем рисовать треугольник путём его обхода по вершинам. Чтобы нарисовать треугольник чертёжник должен выполнить следующую последовательность команд:

опустить перо

сместиться на вектор (2,4)

сместиться на вектор (2,-4)

сместиться на вектор (-4,0)

поднять перо

Теперь рассмотрим алгоритм для рисования всего рисунка: для начала нам необходимо задать команду для перемещения на начальную позицию «сместиться в точку (1,1)» , затем вызвать вспомогательный алгоритм для рисования треугольника, записав название вспомогательного алгоритма, затем переместиться на начальную позицию для рисования следующего треугольника, задав команду «сместиться на вектор (4,0)», после чего снова вызвать вспомогательный алгоритм для рисования треугольника, затем переместиться на начальную позицию для рисования последнего треугольника, задав команду «сместиться на вектор (-2,4)» и наконец вызвать вспомогательный алгоритм для рисования треугольника.

Можно заметить, что данный рисунок можно рисовать, начиная с любой позиции. Для этого достаточно изменить первую команду. Так, если в начале будет команда «сместиться в точку (2,3)», результатом выполнения программы будет рисунок.

На этом уроке мы рассмотрели вспомогательные алгоритмы чертёжника. Подведём итоги урока.

Для многократного использования одной и той же последовательности команд в программе для Чертёжника можно применять вспомогательные алгоритмы.

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

У вспомогательного алгоритма есть заголовок и название.

В основном алгоритме вспомогательные алгоритмы вызываются по названию.

(14 баллов)