Вспомогательные алгоритмы и подпрограммы
💻 Информатика · 8 класс
Что такое вспомогательный алгоритм
Вспомогательный алгоритм — это алгоритм, который решает отдельную законченную подзадачу и используется внутри другого, основного алгоритма. Основной алгоритм называют главным, а вспомогательный — подпрограммой. Главный алгоритм обращается к подпрограмме по имени и при необходимости передаёт ей нужные данные. Сама подпрограмма может быть описана один раз, а использоваться многократно в разных местах программы.
Зачем дробить программу на части
Большую и сложную задачу почти всегда удобно разбить на несколько простых подзадач и решить каждую отдельным алгоритмом. Такой приём называют методом последовательного уточнения, или нисходящим проектированием: сначала намечают общий план решения, а потом уточняют каждую его часть.
- Программа становится понятнее, потому что каждая часть отвечает за своё.
- Одну и ту же подпрограмму можно вызывать много раз, не переписывая её заново.
- Ошибки легче искать и исправлять в небольшом самостоятельном блоке.
- Над разными подпрограммами могут работать разные люди.
Вызов подпрограммы
Когда главный алгоритм встречает имя вспомогательного, выполнение временно переходит к подпрограмме. Подпрограмма выполняется целиком от начала до конца, после чего управление возвращается обратно — на ту строку главного алгоритма, что следует сразу за вызовом. Этот возврат происходит автоматически.
| Понятие | Смысл |
|---|---|
| Параметры | данные, которые передают подпрограмме перед работой |
| Вызов | обращение к подпрограмме по её имени |
| Возврат | продолжение главного алгоритма после подпрограммы |
Разобранный пример
Пусть нужно нарисовать три одинаковых квадрата. Чтобы не повторять описание квадрата три раза, опишем вспомогательный алгоритм Квадрат, а в главном алгоритме вызовем его трижды, сдвигая исполнителя между квадратами:
алг Квадратначповторить 4 раз: вперёд 10, поворот 90коналг ГлавныйначКвадрат; сдвиг; Квадрат; сдвиг; Квадраткон
Описание квадрата записано один раз, а используется три раза. Если понадобится изменить размер квадрата, достаточно поправить только подпрограмму, и изменения сразу подействуют во всех трёх вызовах. В этом и состоит главный выигрыш от применения вспомогательных алгоритмов.
Параметры подпрограммы
Чтобы подпрограмма могла рисовать квадраты разного размера, ей передают параметр — например, длину стороны. Тогда один и тот же алгоритм Квадрат с разными значениями параметра нарисует разные по величине квадраты. Параметры делают подпрограммы гибкими и универсальными.
Частая ошибка: забыть, что после выполнения подпрограммы управление возвращается в главный алгоритм. Команды, записанные после вызова, не пропускаются, а выполняются по порядку, как только подпрограмма завершит работу.
Кратко о главном
- Вспомогательный алгоритм решает отдельную подзадачу.
- Главный алгоритм вызывает подпрограмму по имени.
- После подпрограммы управление возвращается обратно.
- Параметры передают подпрограмме исходные данные.
- Дробление делает программу понятнее и короче.