Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
102-114.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
25.94 Кб
Скачать

102.Что такое подпрограмма?

Подпрограмма (англ. subroutine) — поименованная или иным образом идентифицированная часть компьютерной программы, содержащая описание определённого набора действий. Подпрограмма - это отдельная функционально независимая часть программы.

Подпрограммы решают три важные задачи:

-избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты;

-улучшают структуру программы, облегчая ее понимание;

-повышают устойчивость к ошибкам программирования и непредвиденным последствиям при модификациях программы.

103. Для чего нужно разбиение программы на подпрограммы?

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

104. Назовите способы передачи параметров в подпрограмму.

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

Передача параметров по ссылке - в формальный параметр может быть помещён сам фактический параметр (обычно это реализуется путём помещения в формальный параметр ссылки на фактический). При этом любое изменение формального параметра в подпрограмме отразится на фактическом параметре — оба параметра во время вызова подпрограммы суть одно и то же. Параметры, передаваемые по ссылке, дают возможность передавать параметры внутрь подпрограммы и возвращать вычисленные значения в точку вызова. Для этого параметру внутри подпрограммы просто присваивается нужное значение, и после возврата из подпрограммы переменная, использованная в качестве фактического параметра, получает это значение.

Передача параметров по имени - в формальный параметр может быть помещено произвольное выражение. При этом вычисление этого выражения произойдёт внутри подпрограммы в тот момент, когда потребуется его значение. Если это значение фигурирует несколько раз, то и вычисляться оно будет тоже несколько раз. Параметры, передаваемые по имени, дают возможность писать довольно универсальные подпрограммы. Такой способ передачи параметров используется в языках Алгол или Алгол 68.

Передача параметров через стек - Это фактически разновидность передачи параметра по значению «с ручным приводом», в данном случае отсутствует понятие формальных и фактических параметров. Все параметры лежат на стеке, причём их типы, количество и порядок не контролируются компилятором. Данный подход реализован в языке Форт.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]