P
pro·school.ru
Каталог школ

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

💻 Информатика · 8 класс

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

Вспомогательный алгоритм — это алгоритм, который решает отдельную законченную подзадачу и используется внутри другого, основного алгоритма. Основной алгоритм называют главным, а вспомогательный — подпрограммой. Главный алгоритм обращается к подпрограмме по имени и при необходимости передаёт ей нужные данные. Сама подпрограмма может быть описана один раз, а использоваться многократно в разных местах программы.

Зачем дробить программу на части

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

  • Программа становится понятнее, потому что каждая часть отвечает за своё.
  • Одну и ту же подпрограмму можно вызывать много раз, не переписывая её заново.
  • Ошибки легче искать и исправлять в небольшом самостоятельном блоке.
  • Над разными подпрограммами могут работать разные люди.

Вызов подпрограммы

Когда главный алгоритм встречает имя вспомогательного, выполнение временно переходит к подпрограмме. Подпрограмма выполняется целиком от начала до конца, после чего управление возвращается обратно — на ту строку главного алгоритма, что следует сразу за вызовом. Этот возврат происходит автоматически.

ПонятиеСмысл
Параметрыданные, которые передают подпрограмме перед работой
Вызовобращение к подпрограмме по её имени
Возвратпродолжение главного алгоритма после подпрограммы

Разобранный пример

Пусть нужно нарисовать три одинаковых квадрата. Чтобы не повторять описание квадрата три раза, опишем вспомогательный алгоритм Квадрат, а в главном алгоритме вызовем его трижды, сдвигая исполнителя между квадратами:

алг Квадрат
нач
повторить 4 раз: вперёд 10, поворот 90
кон

алг Главный
нач
Квадрат; сдвиг; Квадрат; сдвиг; Квадрат
кон

Описание квадрата записано один раз, а используется три раза. Если понадобится изменить размер квадрата, достаточно поправить только подпрограмму, и изменения сразу подействуют во всех трёх вызовах. В этом и состоит главный выигрыш от применения вспомогательных алгоритмов.

Параметры подпрограммы

Чтобы подпрограмма могла рисовать квадраты разного размера, ей передают параметр — например, длину стороны. Тогда один и тот же алгоритм Квадрат с разными значениями параметра нарисует разные по величине квадраты. Параметры делают подпрограммы гибкими и универсальными.

Частая ошибка: забыть, что после выполнения подпрограммы управление возвращается в главный алгоритм. Команды, записанные после вызова, не пропускаются, а выполняются по порядку, как только подпрограмма завершит работу.

Кратко о главном

  • Вспомогательный алгоритм решает отдельную подзадачу.
  • Главный алгоритм вызывает подпрограмму по имени.
  • После подпрограммы управление возвращается обратно.
  • Параметры передают подпрограмме исходные данные.
  • Дробление делает программу понятнее и короче.