Решение задач машиностроения средствами Turbo Pascal. Крупенников О.Г - 72 стр.

UptoLike

Рубрика: 

71
Часто в качестве параметра в подпрограмму следует передать ту или иную
переменную, но изменять ее подпрограмма не должна. В этом случае нежела-
тельно передавать этот параметр как параметр-переменную. Можно его пере-
дать как параметр-значение, однако, если эта переменная имеет большой раз-
мер, то копия такого параметра займет большую
часть стека и может его пере-
полнить. В этом случае параметр лучше передать как параметр-константу. Та-
кой параметр, если он структурированного типа, передается своим адресом с
защитой от его изменения.
Параметр-константа. Указывается в заголовке подпрограммы аналогично
параметру-значению, но перед именем параметра записывается зарезервиро-
ванное слово CONST, действие которого распространяется только в пределах
одной группы типов. Тип параметра-значения может быть любым за исключе-
нием файлового. При вызове подпрограммы на месте параметра-переменной в
качестве фактического параметра может использоваться любое выражение со-
вместного для присваивания типа, не содержащее файловую компоненту. Па-
раметр-константу нельзя передавать в другую подпрограмму в качестве факти-
ческого параметра, например:
FUNCTION NEW (CONST S: STRING): STRING;
Передаваемым параметром в подпрограмме может быть также параметр
-
процедура или параметр-функция, т. е. параметр процедурного типа. Фактиче-
ски этот параметр является параметром-значением, так как записывается без
зарезервированного слова VAR. В качестве фактического параметра в этом слу-
чае используется соответствующая процедура или функция, имеющая необхо-
димое количество параметров требуемых типов. При этом для параметров-
процедур и параметров-функций существуют те же правила
, что и для других
переменных процедурного типа, например:
TYPE FUNC=FUNCTION (X, Y: INTEGER): INTEGER;
------------------------------------------------------------------------
PROCEDURE ABC (A, B: INTEGER; C: FUNC);
10.3 Задания к практическому занятию
Составить программу, реализующую вычисления функции или процедуры
в соответствии с вариантом заданий к практическому занятию 7.