78.03K
Категория: ИнформатикаИнформатика

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

1.

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

2.

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

3.

Составить алгоритм рисования на экране числа 1919
НАЧАЛО
9
1
• Поворот 1 • Шаг
• Поворот
• Шаг
• Поворот
• Шаг
• Шаг
• Шаг
• Шаг
• Шаг
• Шаг
• Шаг
• Шаг
• Шаг
• Шаг
• Поворот
• Поворот
• Шаг
• Поворот
• Поворот
• Поворот
• Прыжок
• Прыжок
• Прыжок
• Шаг
• Прыжок
• Прыжок
• Поворот
• Прыжок
• Прыжок
• Шаг
• Поворот
• Прыжок
• этого
Шаг числа одинаковые
В составе
• Поворот
цифры: •1 иПоворот
9.
• имеет
Шаг громоздкий вид
Алгоритм
• Поворот
и содержит
повторяющиеся
• Поворот
действия• вПоворот
описании 1 и 9
• Прыжок
• Прыжок
• Поворот
• Шаг
9
• Поворот
• Шаг
• Шаг
• Шаг
• Шаг
• Поворот
• Шаг
• Поворот
• Шаг
• Шаг
• Поворот
• Шаг
• Поворот
• Поворот
• Поворот
• Прыжок
• Прыжок
• Поворот
КОНЕЦ

4.

Вспомогательный алгоритм
Если в алгоритме содержится набор повторяющихся
одинаковых действий и возникает необходимость его
многократного использования, то такой набор действий или
можно выделить в качестве самостоятельного фрагмента
который называется вспомогательным алгоритмом.
• Вспомогательный алгоритм – алгоритм, по которому
решается некоторая подзадача из основной задачи и который
выполняется многократно.
• Алгоритм может содержать несколько вспомогательных
алгоритмов.

5.

Составить алгоритм рисования на экране числа 1919
НАЧАЛО 1
Поворот 1
Шаг
Шаг
Шаг
Шаг
Поворот
Поворот
Прыжок
Прыжок
Прыжок
Прыжок
Поворот
КОНЕЦ
НАЧАЛО 9
Шаг 9
Поворот
Шаг
Шаг
Шаг
Шаг
Поворот
Шаг
Поворот
Шаг
Шаг
Поворот
Шаг
Поворот
Поворот
Поворот
Прыжок
Прыжок
Поворот
КОНЕЦ
• Шаг
1
• Поворот 9
• Поворот
НАЧАЛО
• Шаг
• Шаг
• Шаг
Делай
единица
• Шаг
• Шаг
• Шаг
Прыжок
• Шаг
• Шаг
Делай
девять
Поворот
• Поворот
Прыжок
• Шаг
• Поворот
Делай
единица
• Поворот
• Прыжок
• Шаг
Прыжок
• Прыжок
• Шаг
• Прыжок
Делай
девять
Поворот
• Прыжок
КОНЕЦ
• Шаг
• Поворот
• Поворот
Получили два вспомогательных
• Поворот
алгоритма: нарисовать
• Поворот1 и
нарисовать 9 • Прыжок
• Прыжок
• Поворот
КОНЕЦ

6.

Вспомогательный алгоритм
Блок-схема вызова вспомогательного алгоритма

7.

Вспомогательный алгоритм
Вспомогательный алгоритм имеет имя (заголовок) и
может
иметь
параметры,
которые
называются формальными параметрами.
Имя служит для того, чтобы отличить его от других
алгоритмов,
а
формальные
параметры,
которые
напоминают
переменные
математических
функций,
выполняют роль входных и выходных параметров.
Вспомогательные алгоритмы должны быть состыкованы
между собой в процессе "сборки" основного алгоритма. Для
этого используют имена (заголовки) вспомогательных
алгоритмов; с их помощью вызывают этот алгоритм
(обращаются к его работе) из других вспомогательных или
основного алгоритмов.

8.

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

9.

Пример. Какую особенность в этом алгоритме вы можете
отметить?
Начало
Высадить одного туриста
Сесть в лодку двум туристам
Переплыть
Переплыть
Высадить одного туриста
Переплыть
Сесть в лодку двум туристам
Переплыть
Сесть в лодку двум туристам
Переплыть
Высадить всем туристам
Конец

10.

Пример. Какую особенность в этом алгоритме вы можете
отметить?
Переправа
Начало
Сесть в лодку двум туристам
Переправа
Переплыть
Переправа
Высадить одного туриста
Переплыть
Конец
Сесть в лодку двум туристам
Переплыть
Высадить всем туристам
Конец

11.

Пример. Вычислить z=2x+3y, где x=a-2b, y=3х-b
Начало
Начало
Начало
y
х
a, b
z: = 2 * x + 3 * y
y: = 3 * x - b
x: = a – 2 * b
z
y
x
Конец
Конец
Конец

12.

Вспомогательный алгоритм
Есть вспомогательный алгоритм summa, который
вычисляет значение факториала целого числа k.
Составить блок-схему алгоритма вычисления значения
выражения 1! + 2! + … + k!
English     Русский Правила