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

Сложные программы составляются из концептуальных блоков, значительно более крупных, чем отдельные операторы языка программирования. Такими блоками являются подпрограммы и модули.

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

Подпрограмма – это логически завершенный компонент программы. Подпрограмма представляет собой некоторую функцию обработки информации, которая отображает конкретный набор аргументов в некоторый набор результатов. Определение подпрограммы состоит из двух частей: спецификации и реализации.

Спецификация ( прототип ) подпрограммы включает:

§ Тип подпрограммы: function (функция), procedure (процедура).

function подпрограмма явно возвращает только один результирующий объект данных;

procedure подпрограмма возвращает более одного значения или действия подпрограммы сводятся только к модификации ее аргументов вместо возвращения результата.

§ Имя подпрограммы;

§ Формальные параметры: аргументы (входные значения) и результаты (возвращаемые значения).

Реализация подпрограммы (тело подпрограммы) включает:

§ Описание локальных данных, используемых подпрограммой;

§ Операторы, задающие действия, которые должна выполнить подпрограмма.

Локальные данные и операторы инкапсулированы (спрятаны), так что ни локальные данные, ни операторы по отдельности не доступны Пользователю подпрограммы. Пользователь может только вызвать подпрограмму. В тело подпрограмм могут входить определения других (вложенных) подпрограмм.

Вызывающая программа – программа (подпрограмма), которая обращается к подпрограмме (вызывает подпрограмму).

Оператор вызова – оператор вызывающей программы, с помощью которого она обращается к подпрограмме. Оператор вызоваподпрограммы содержит:

§ имя подпрограммы;

§ список фактических параметров.

Фактические параметры – это элементы вызывающей программы (константы, переменные, массивы и другие), значения которых передаются в подпрограмму или возвращаются из нее.

Типы фактических и соответствующих им формальных параметров должны совпадать!

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

Схема передачи управления между вызывающей и вызываемой программами приведена на рисунке 2.4.

Рисунок 2.4 – Схема передачи управления между вызывающей

и вызываемой программами

Обмен информацией между вызывающей и вызываемой программами может осуществляться с использованием глобальных данных или передачей параметров.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: