Аспекты использования подпрограмм

Страницы работы

Содержание работы

Аспекты использования подпрограмм ПП

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

Понятие контекста - весьма важно не только для ПП. Понятие процесса более

Порядок использования ПП (первый взгляд):
1) помещение входных данных (параметров);
2) передача управления на ПП (вызов ПП);
3) доступ к параметрам при выполнении тела ПП
4) помещение вычисленного результата
5) возврат из ПП (как правило, на команду, следующую за командой вызова)
6) доступ к результату работы ПП для его дальнейшего использования.

Дополнительные моменты (второй взгляд)
7) выделение элементов хранения (памяти) под параметры;
8) выделение элемента хранения под адрес возврата и его запоминание;
9) выделение памяти под временные (локальные) переменные, нужные подпрограмме;
10) освобождение выделенной памяти после того, как в ней минула необходимость.

Еще дополнительные моменты (третий взгляд)

11) каждая ПП должна иметь собственные локальные переменные (так как возможны вложенные вызовы в любом порядке)

Вызов и возврат -
          передача управления в новое место -          изменение контекста;
          запоминание адреса возврата                       сохранение контекста;
          выполнение возврата                                     восстановление сохраненного контекста.

Место хранения адреса возврата должно быть индивидуальным для каждой ПП, а также для каждого экземпляра ПП (при рекурсивном вызове) - иначе затрется.

Передача параметров и возврат результатов 
          выделение элементов хранения под параметры и под результаты;
          присвоение значений параметрам;
          считывание результатов после окончания работы ПП и возврата

Сохранение и восстановление контекста 

Похожие материалы

Информация о работе