Сайт фан клуба ИГХТУ

 

Методичка 706 ИГХТУ

2.6. Подпрограммы

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

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

Подпрограмма, чтобы ее можно было вызывать в программе, должна быть объявлена в разделе описаний программы. Объявить подпрограмму – значит указать ее заголовок (с используемыми в ней формальными параметрами), описать локальные (т.е. используемые только в данной подпрограмме) переменные и, наконец, задать ее тело. В разделе описаний подпрограммы могут быть объявлены новые подпрограммы, которые, в свою очередь, также могут включать подпрограммы. Таким образом, возможно множество уровней вложения подпрограмм. В Паскале приняты два вида подпрограмм: функции и процедуры.

 Функции

Заголовок функции состоит из: 1) зарезервированного слова function;              2) имени подпрограммы – функции; 3) заключенного в круглые скобки списка формальных параметров; 4) типа возвращаемого функцией значения.

Пример заголовка функции:

function  step  ( n  :  integer ;  x, y : real ) :  real;

 


               имя      формальные параметры    тип результата

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

step : = sin (n * x * x) ;

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

Пример. Функция, которая возвращает максимальное из двух целых чисел:

function max ( a, b: integer): integer;

     begin

         if a > f  then  max: = a  else  max: = b;

     end;

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

Например, обращение к функции max может иметь вид:

                             max ( x + 5, y)

 



страницы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
 
 
 
 
 
 

Warning: in_array() expects parameter 2 to be array, null given in /home/p198609/www/bestlogistics.ru/2f41c03c6df35aa46f8d897a4eed7d02/sape.php on line 192