Процедуры и функции

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

Графически работу с подпрограммой можно изобразить так.

Т1, Т2, Т3, Т4 – участки основной программы ПП - подпрограммы

 
 
Нач.

 


В языке Паскаль подпрограммы реализуются в виде процедур и функций и описываются в разделе описаний процедур и функций.

 

Процедура.

Описание процедуры состоит из заголовка, раздела описаний и определений и раздела операторов. Заголовок начинается со служебного слова PROCEDUR, после которого пишут имя процедуры, затем в скобках список параметров с их типами, после всего этого ставится точка с запятой. Список параметров – это имена переменных исходных и выходных данных. Перед выходными данными пишут слово VAR.

Например: PROCEDURA PRIM (I, N: INTEGER; X,Y: REAL VAR Z,T: BOOLEAN)/

Параметры в заголовке называются формальными. Заголовок процедуры может быть без параметров.

Например: PROCEDURA имя.

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

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

Раздел операторов начинается словом BEGIN? Кончается словом END с точкой запятой.

Функция.

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

Описание функции состоит из заголовка, раздела описаний и определений и раздела операторов. Заголовок начинается ключевым словом FUNCTION (фанкшен), затем имя, затем в скобках список параметров с типами, затем после двоеточия указывается тип функции, после чего ставится точка с запятой.

В список параметров входят лишь входные переменные. Заголовок может быть без списков параметров, т.е. иметь вид:

FUNCTION имя: тип;

 

Обращение к процедуре и функциям.

Описание процедур и функций в разделе описаний не влечет за собой каких либо действий.

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

 

Список параметров – это перечень параметров, которые реально участвуют в вычислениях. Эти параметры называются фактическими.

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

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

Примеры:

1. Вычислитьв точке b=1,7, если f(x)=, где q(x)=

Исходные данные: x, h=0,01

Процедуры.

Program zd1;

var в, f1, q1: real;

procedure fan (x:real; var f: real; var q:real);

begin

f:=sqr(x)

q:=sqrt(x)

end;

begin

write (‘b=”); readln(b);

fan(b,f1,q1);

writeln(‘f=’; f1:5:3);

writeln(‘q=’; q1:5:3);

writeln(‘f/q=’; f1/q1);

end.

2. Вычислить y=, где f(x) =

Исходные данные: x, h=0,01

Процедуры.

Program zd2;

var x, y, f: real;

function fan (x1:real; f1: real);

begin

if (x1<0.4) then fan:=cos(x1)-x1 else

if (x1>=0.49) then fan:=sqrt(x1) else

fan:=0.14*x1;

end;

begin

x:=0.3

while x<=0.5 do

begin y:=sqr(x)+fan(x,f);writeln(‘y=’,y:6:3);

x:=x+0.01 end;

end.