Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В описании процедуры или функции задается список формальных параметров. Каждый параметр, описанный в списке формальных параметров, является локальным по отношению к описываемой процедуре или функции, и в теле подпрограммы на него можно ссылаться по его идентификатору.
Существует два основных типа параметров: параметр-значение и параметр-переменная. Они характеризуются следующим:
1 Группа параметров без предшествующего ключевого слова var является списком параметров-значений.
2 Группа параметров, перед которыми стоит ключевое слово var является списком параметров-переменных.
2.1 Параметры-значения
Формальный параметр-значение обрабатывается, как локальная по отношению к процедуре или функции переменная, за исключением того, что он получает свое начальное значение из соответствующего фактического параметра при активизации процедуры или функции. Изменения, которые претерпевает формальный параметр-значение, не влияют на значение фактического параметра. Соответствующее фактическое значение параметра-значения должно быть выражением и его значение не должно иметь файловый тип или какой-либо структурный тип, содержащий в себе файловый тип. Фактический параметр должен иметь тип, совместимый по присваиванию с типом формального параметра-значения. Если параметр имеет строковый тип, то формальный параметр будет иметь атрибут размера, равный 255.
Примеры:
function MaxElem(A: Vector; n:Byte): Real;
function IsZero(I, K: Integer): Boolean;
2.2 Параметры-переменные
Параметр-переменная используется, когда значение должно передаваться из процедуры или функции вызывающей программе. Соответствующий фактический параметр в операторе вызова процедуры или функции должен быть ссылкой на переменную. При активизации процедуры или функции формальный параметр-переменная замещается фактической переменной, любые изменения в значении формального параметра-переменной отражаются на фактическом параметре. Внутри процедуры или функции любая ссылка на формальный параметр-переменную приводит к доступу к самому фактическому параметру. Тип фактического параметра должен совпадать с типом формального параметра-переменной.
Примеры:
function SumMatr(A, B: Matrix; var C: Matrix):Real;
function ChrString(var S: String):String;
Контрольные вопросы
1 Для чего предназначены подпрограммы-функции?
2 Как описывается функция?
3 Виды параметров функции.
4 Как обрабатываются параметры-значения?
5 Как обрабатываются параметры-переменные?
Дата публикования: 2014-12-11; Прочитано: 216 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!