04. Вспомогательные алгоритмы
Алгоритм - это описание последовательности действий ЭВМ.
Вспомогательный алгоритм (процедура) - инструмент, который позволяет:
- сократить текст основного алгоритма (за счет отсутствия многократных объяснений одних и тех же повторяющихся действий);
- "обучать" исполнителя новым предписаниям, т.е. расширять его СКИ, приспосабливая его к конкретной задаче;
- писать, проверять и отлаживать большую программу по частям;
- переделывать программы и исправлять в них ошибки, не затрагивая тех частей алгоритма, которые остаются без изменения;
- в сочетании с методом последовательного уточнения решить "трудную" задачу, разбивая ее на более мелкие и "легкие" подзадачи.
Процедура - это алгоритм, который хранится в памяти компьютера и может быть вызван для исполнения по его имени.
Предписание на выполнение процедуры называется командой вызова вспомогательного
алгоритма и имеет вид: сделай
имя_процедуры
В общем случае если в записи алгоритма X
встречается команда вызова процедуры Y,
то говорят, что алгоритм Y является
вспомогательным для X,
а алгоритм X основным (главным)
для Y.
|
|
Алгоритм
X
|
. . .
сделай Y
. . .
процедура Y
. . .
конец процедуры
|
|
Обратите внимание: команды, входящие в процедуру, будут выполняться только тогда, когда процедура вызывается на исполнение, а не тогда, когда она запоминается.
Разделение труда между ЭВМ и исполнителями
Исполнители ничего ни про какие алгоритмы и процедуры не знают.
Например, при выполнении алгоритма из примера, который Вы встретите дальше в этом уроке, именно компьютер - "разбирается" в записи алгоритма на алгоритмическом языке;
- анализирует заключенную в нем информацию;
- "понимает", что сначала надо выполнить команду "прыжок" и только затем процедуру угол;
- обеспечивает их выполннение, транслируя исполнителю соответствующие элементарные команды;
и т.д.
Исполнитель же лишь выполняет последовательно поступающие от ЭВМ команды: "прыжок", "шаг" и т.д.
Выполнение команды вызова вспомогательного алгоритма
Чтобы хранящаяся в памяти ЭВМ процедура начала выполняться, как уже отмечалось, надо в основном алгоритме использовать команду вызова.
Действия, совершаемые ЭВМ при выполнении этой команды, можно проследить с
помощью следующего примера выполнения команд
вызова.
(Попытайесь до выполнения алгоритма угадать его результат.
Постарайтесь проследить исполнение каждого из трех этапов обработки компьютером команды вызова.
Попробуйте на каждом шаге выявить "главное действующее лицо": ЭВМ или исполнитель.)