|
Урок 41
Вспомогательные алгоритмыКлючевые слова: При построении новых алгоритмов нередко возникают ситуации, когда в разных местах алгоритма необходимо выполнение одной и той же последовательности шагов обработки данных. Для такой последовательности шагов создают отдельный алгоритм, называемый вспомогательным. В качестве вспомогательных могут использоваться алгоритмы, ранее разработанные для решения других задач. Вспомогательный алгоритм — алгоритм, целиком используемый в составе другого алгоритма. Пример 1. В среде КуМир составим алгоритм для исполнителя Робот, под управлением которого он нарисует узор:
Начальное положение Робота отмечено звёздочкой. В алгоритме использован вспомогательный алгоритм фигура. использовать Робот алг узор нач фигура вправо; вниз фигура вправо; вниз фигура кон алг фигура вач закрасить; вниз закрасить; вправо; закрасить; вправо; закрасить вверх; закрасить кон При представлении алгоритмов с помощью блок-схем для обозначения команды вызова вспомогательного алгоритма используется блок «предопределённый процесс» (рис. 2.3), внутри которого записывается название (имя) вспомогательного алгоритма, после которого в скобках перечисляются параметры — входные данные и результаты. Вспомогательный алгоритм делает структуру алгоритма более понятный. Пример 2.Вспомним алгоритм вычисления степени с натуральным показателем у = ап. Соответствующая блок-схема: Степень с целым показателем у = ах, где х — целое число, а * О вычисляется так: В приведённой записи дважды фигурирует вычисление степени с натуральным показателем. Поэтому в алгоритм вычисления степени с целым показателем можно включить вызов вспомогательного алгоритма вычисления степени с натуральным показателем. Соответствующая блок-схема:
Алгоритм, представленный на блок-схеме, является основным по отношению к вызываемому в нём вспомогательному алгоритму. Параметрами используемого вспомогательного алгоритма являются величины а, п, у. Это формальные параметры, они используются при описании алгоритма. При конкретном обращении к вспомогательному алгоритму формальные параметры заменяются фактическими параметрами, т. е. именно теми величинами, для которых будет исполнен вспомогательный алгоритм. Типы, количество и порядок следования формальных и фактических параметров должны совпадать. Команда вызова вспомогательного алгоритма исполняется следующим образом (рис. 2.4): 1) формальные входные данные вспомогательного алгоритма за 2) для заданных входных данных исполняются команды вспомо 3) полученные результаты присваиваются переменным с именами 4) осуществляется переход к следующей команде основного алго Рис. 2.4. Схема выполнения команды вызова вспомогательного алгоритма Алгоритм, в котором прямо или косвенно содержится ссылка на него же как на вспомогательный алгоритм, называют рекурсивным. Рассмотрим несколько примеров рекурсивных алгоритмов.
|
|