Процедуры в Паскале

Описание процедуры:

Procedure Name (параметры – переменные: тип; VAR параметры- значения: тип);

VAR

Локальные переменные: тип;

Begin

Тело процедуры;

End;

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

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

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

Вызов процедуры: Name(список фактических параметров); - фактические параметры подставляются на место формальных параметров в процедуре, поэтому количество фактических и формальных параметров должно быть одинаковым.

Описание функции:

Function Name(параметры- переменные: тип): тип;

Var

Локальные переменные: тип;

Begin

Тело функции

End;

Все переменные используемые в программе делятся на глобальные и локальные. Глобальные переменные могут использоваться в основной программе и в процедурах. Описывают их в основной программе. Локальные переменные действуют внутри процедуры, там же и описываются.

Формальные переменные используются в процедуре и передают свои значения фактическим параметрам, при условии:

1. Количество формальных и фактических переменных должно быть одинаковым.

2. Должно быть соответствие типов формальных и фактических параметров.

3. Должен сохраняться порядок следования параметров.
Пример:

Вызов процедуры поиска максимального из двух чисел МАХIMUM(5.7.Мах): Где MAXIMUM - имя процедуры. 5.7. Мах - фактические параметры.

PROCEDURE MAXIMUM (A, B: Integer: VAR С: Integer):

Begin IF А>В THEN: C:=A Else C:=B:

End;

A.B- параметры значения поступают в процедуру. С- параметр-переменная является результатом процедуры.

При вызове процедуры ее переменные А получает значение 5. В получает значение 7. после выполнения процедуры переменная Мах получает значение С.

Задача.

Найти значение выражения

W= МАХ(А+В,С)- MIN(A,B.C)+ MAX(A-C.B-C)*MIN(A+B.C -А.С-В)

Значения А.В.С вводятся с клавиатуры.

Программа:

Program demo:

Var

W.A.B.C.RI.R2.R3.R4: Integer;

PROCEDURE DVA(X.Y: Integer; VarZ:Integer):

Begin

If X>Y Then Z:=X Else Z:=Y;

End;

PROCEDURE TRI (X,Y,Z: Integer; Var F: Integer):

Begin

If (X<Y)And(X<Z) Then F:= X;

If (Y<X)And(Y Z) Then F:=Y;

If (Z < X)And(Z< Y) Then F:=Z;

End;

Begin CLRSCR:

WriteLn(Введите три числа'); ReadLn(А.В.С): DVA(A.+B.C.R1): TRI(A.B.C.R2)

DVA(A-C,B-C,R3);

TRI(A+B, C+A,C+B,R4);

W:=RI-R2+R3*R4:

WriteLn(‘ Результат выражения W=’,W);

End.

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

Заголовок функции: FUNCTION NAME (список формальных параметров): тип результата;

Пример:

Вызов функции МАХ, которая является МАХ значением из двух: МАХ(5.7):

FUNCTION МАХ (А.В: Integer): Integer:

Begin

If А -В Then MAX:=A Else Max:-B:

End; Результат выполнения функции можно использовать в вычислениях.


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



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