Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Параметры-значения, параметры-переменные, нетипизированные параметры.






 

В языке ТР имеется три типа параметров: параметры-значения, параметры-переменные и нетипизированные параметры.

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

Пример:

function f (a, b: word): boolean;

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

Пример:

function f (var a, b: word): boolean;

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

Пример:

function f (var a, b): boolean;

 

Модули.

 

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

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

Рассмотрим в качестве примера модуль вычисляющий xy.

Возведение в степень целого числа в языке ТР отсутствует (за исключением квадрата).

Unit step;

 

Interface

 

Function astepn (x, y: word): word;

 

Implementation

 

Function astepn (x, y: word): word;

Var

i, s: word;

Begin

s: =1;

for i: =1 to y do

s: =s*x;

astepn: =s;

End;

 

End.

 

Рассмотрим подробнее эту программу: любой модуль начинается с зарезервированного слова unit, за которым следует имя модуля (это имя также должно быть именем и файла). Результатом компиляции модуля step.pas с заголовком unit step будет файл step.tpu.

Каждый модуль имеет две секции. Секция interface (интерфейс) содержит описания констант, типов, переменных и процедур, доступных из вызывающей программы или модуля. Секция implementation (реализация) содержит исходный код программы.

Модуль заканчивается словом end., причем для этого слова не обязательно открывать begin, хотя открытие не вызовет ошибки.

Рассмотрим использование это модуля:

Uses crt, step;

Begin

Writeln (astepn(2, 6));

End.

Результат: 64

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.005 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал