Процедура или функция?

Процедура и функция – это два способа оформления программы или фрагмента программы, предназначенного для решения общей части задачи. Одну и ту же программу можно оформить как процедуру или функцию.


procedure SoprPar (r1,r2,r3:real; var sr:real);

Begin

sr:=(r1+r2+r3)/(r1*r2*r3);

end;

function SoprPar (r1,r2,r3:real):real;

Var

sr:real;

Begin

sr:=(r1+r2+r3)/(r1*r2*r3);

SoprPar:=sr;

end;


Очевидно, что оформление подпрограммы в виде функции в данном случае более предпочтительно, так как целью вычисления является получение только одного значения. Кроме того, инструкция вычисления сопротивления цепи sr:= SoprPar (r1,r2,r3); выглядит более естественно по сравнению с инструкцией вызова процедуры SoprPar (r1,r2,r3, sr);.

Возникает вопрос, каким критерием пользоваться при выборе способа оформления подпрограммы?

Ответ можно сформулировать в виде следующего правила:

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



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: