Понедельник, 11.08.2025, 19:25
Приветствую Вас Гость | RSS

Учебный сайт

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

подпрограмма

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

Все подпрограммы языка Pascal делятся на стандартные (входят в состав языка и вызываются для выполнения по строго фиксированному имени) и определенные пользователем (разрабатываются и именуются самим пользователем). К стандартным относятся, например, подпрограммы модулей Graph и Crt. Далее мы будем рассматривать подпрограммы, определенные пользователем.

В Pascal существует 2 вида подпрограмм: процедуры и функции, которые различаются назначением и способом их использования.

Процедура – это независимая именованная часть программы, которую можно вызвать по имени для выполнения определенных действий. Процедуры предназначены для выполнения отдельного блока программы, например, формирование и вывод матриц, вычисление характеристик массивов и т. д. Структура процедуры (как и функции) аналогична структуре всей программы. Процедура должна быть описана до того, как она будет использована в программе или в другой подпрограмме. Обратите внимание что, если результатами работы подпрограммы являются несколько переменных,  массив или матрица, или подпрограмма не имеет никаких численных результатов, например, процедура очистки экрана- clrscr, процедура задания размеров окна - window(x1,y1,x2,y2), то эта подпрограмма должна оформляться только как подпрограмма-процедура.

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

Формальные и фактические параметры.

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

Имена формальных параметров используются только для обозначения исходных данных и результатов работы подпрограммы. Внутри подпрограммы используются формальные параметры, фактические параметры используются в основной программе и подпрограмме недоступны. Имена формальных параметров задаются в <списке формальных параметров> заголовка подпрограммы. Имя формального параметра отделяется от типа параметра двоеточием, а параметры друг от друга – точкой с запятой. Имена параметров одного типа можно перечислять через запятую, а затем через двоеточие указывать их тип.

Имена фактических параметров задаются в <списке фактических параметров> при вызове подпрограммы. При этом на место формальных параметров подставляются конкретные значения (выражения) либо адреса конкретных переменных. При этом каждый формальный параметр заменяется фактическим (или его адресом) и все действия внутри подпрограммы производятся с соответствующим фактическим параметром (или его адресом). Имена фактических и формальных параметров могут совпадать, но лучше этого не допускать для уменьшения числа ошибок и для большей разборчивости программы.

Между формальными и фактическими параметрами должны выполняться следующие соответствия:

-          по количеству (формальных и фактических параметров должно быть одинаковое количество);

-          по порядку следования (порядок следования фактических и формальных параметров должен быть один и тот же);

-          по типам (тип каждого фактического параметра должен совпадать с типом соответствующего формального параметра).

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

4. Параметры-значения и параметры-переменные (входные и выходные параметры) подпрограмм, механизм передачи параметров .

Формальные параметры подпрограмм можно разбить на две основные группы: параметры-значения и параметры-переменные.

Календарь
«  Август 2025  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031
Архив записей