Параметры и аргументы

Параметры являются элементами подпрограммы и используются при описании ее алгоритма. Аргументы указываются при вызове подпрограммы и замещают параметры при выполнении подпрограммы. Параметры могут быть любого типа, включая структурированный. Существуют следующие виды параметров [4]:

· Значение

· Константа

· Переменная

· Нетипизированная константа и переменная

Группа параметров, перед которыми в заголовке подпрограммы отсутствуют слова var или const и за которыми следует указание их типа, называются параметрами-значениями. В подпрограмме значения таких параметров можно изменять, но эти изменения не влияют на значение соответствующих им аргументов, которые были подставлены вместо фактических параметров-значений [4]. Например

Procedure Print(K:array of integer);

 

Заметим, что если в качестве параметра передается массив, то указывается только тип элементов, без указания размера.

 

Обратите внимание!Если в качестве параметра используется массив, то внутри подпрограммы нумерация его элементов всегда начинается с нуля, поэтому рекомендуется объявлять глобальный массив размерностью с нуля. Для передачи двумерного массива лучше объявить cпециальный тип и передавать в качестве параметра переменную созданного типа.

 

Type

MyType=array [0..Nmax,0..Nmax] of ….;

var

A:MyType;

Группа параметров, перед которыми в заголовке подпрограммы стоит слово const и за которыми следует описание их типа, называют параметрами-константами. В теле подпрограммы значение параметра-константы изменить нельзя [4].

Группа параметров, перед которыми в заголовке подпрограммы стоит слово var и за которыми следует описание их типа, называют параметрами-переменными. Они используются в тех случаях, когда значение должно быть передано из подпрограммы в вызывающий блок. В этом случае при вызове подпрограммы параметр-переменная замещается аргументом, и любые изменения формального параметра отражаются на аргументе [4]. Таким способом можно вернуть результаты из подпрограммы по окончанию ее работы. Например

 

function Tan(a:real;var d:boolean):real;

 

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

Группы параметров в описании подпрограммы разделяются точкой с запятой.

 

Пример 8.

Возведение вещественного числа в целую степень. (Использование функции)

 

program Project1;

{$APPTYPE CONSOLE}

uses

SysUtils;

 

Function Stepen(x:real;n:integer):Real;

begin

if x=0 then Result:=0

else

begin

result:=exp(n*ln(abs(x)));

if (x<0) and (n mod 2 <>0) then

Result:=Result*(-1);

end;

end;

 

var

x,y:real;

n:integer;

begin

Writeln('Vuchislenie stepeni');

Write('vvedite chislo ');

readln(x);

Write('vvedite stepen ');

readln(n);

y:=Stepen(x,n);

Write('Otvet ',y:5:5);

Readln;

end.

 








Дата добавления: 2015-04-10; просмотров: 679;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.