Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Параметры-переменные




Параметры-значения

Параметры процедур и функций

End.

Begin

Begin

Var

Var

Пример

End.

Begin

Begin

Var

Пример

Возведение вещественного числа в вещественную степень ху

Для примера вычислим значения х3, х4, х5, х6

Program DemoPower;

x, sum:real;

function Pow (x,y:real): real;

{функция вычисляется х в степени у }

Pow:=exp(y*ln(x));

end;

{начало основной программы}

writeln (‘Введите х’);

readln(x);

writeln(Pow(x,3));{ вычисление и одновременный вывод на экран х3 }

writeln(Pow(x,4)); { вычисление и одновременный вывод на экран х4 }

{ Внимание. Далее имя функции используется в выражении как операнд }

sum:=Pow (x,5)+ Pow (x,6);)); { вычисление х56 }

writeln (sum);

Возведение вещественного числа в натуральную степень.

Вычислить 2,7к+(а+1)-5, где а и к вводятся с клавиатуры.

 

Program Kalk;

a,sum:real;

k:word;

fuktion Step (x:real; n:word):real;

i:word;

st:real;

st:=1;

for i:=1 to n do

st:=st*x;

Step:=st; {имени функции необходимо присвоить результат}

end;

writeln(‘Введите к’);

readln(k);

writeln(‘Введите а’);

readln(a);

{Внимание. Далее имя функции используется в выражении как операнд}

sum:=Step(2.7,k)+1/Step((a+1),5);

writeln (sum:6:2)

 

Существует два типа параметров процедур и функций:

1) параметры-значения;

2) параметры-переменные.

 

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

Procedure PRIM (x,y:real);

Здесь формальные параметры х и у – параметры-значения.

В этом случае параметры передаются процедуре при вызове, или, говоря другими словами, подаются на вход процедуре.

Формально параметр-значение обрабатывается как локальная переменная.

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

!!!Запрещен файловый тип в качестве параметров-значений.

Параметры-переменные в заголовке подпрограмм предваряются словом VAR, например,

Procedure PRIM (var x,y:real);

Здесь формальные параметры х и у – параметры-переменные.

В этом случае значение параметров возвращаются после выполнения процедуры основной программе. Или, говоря другими словами, являются выходными параметрами.

!!!Тип фактического параметра-переменной должен совпадать с типом формального параметра.

Возможна смешенная форма.

Procedure PRIM (var x,y:real; z: real);

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

 

Итак, разработке подпрограмм программисту предстоит решить, сколько и какие параметры требуется описать в процедуре или функции, а также какого типа должен быть каждый параметр: параметром-значением или параметром-переменной.

Для того, чтобы принять правильное решение необходимо подумать, будет ли в основной программе использоваться значение параметра, вычисленное в подпрограмме. Если будет, то результат необходимо будет вернуть основной программе, следовательно, параметр должен быть параметром-переменной.

Поясним это на примерах.

 




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


Дата добавления: 2014-10-17; Просмотров: 336; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.