|
Capítulo 9
Procedimentos e Funções
9.1 Forma geral
Procedure
Nome (<lista de parâmetros>);
<declarações
locais>
Begin
<corpo do procedimento>
End;
Function
Nome (<lista de parâmetros>):
<tipo>;
<declarações locais>
Begin
<corpo da função>
End; |
-
Subprogramas têm
estrutura semelhante a um programa;
-
Nas funções
o retorno de um valor é feito através de uma atribuição
ao nome da função dentro do corpo desta.
Ex.:
Program
Testmult; {com procedure}
Var
X,Y,U,Z: Integer;
Procedure
MULT; {procedimento sem parâmetros}
Begin
Z:= 0;
U:= X;
Repeat
Z:= Z + 1;
U:= U - 1;
Until
U = 0;
End;
{ de mult }
Begin
X:= 20;
Y:= 210;
MULT;
X:= 15;
Y:= 196;
MULT;
End.
{ de Testmult } |
Program
Testmult; {com function}
Var
W,X,Y,U,Z:
Integer;
Function
MULT: Integer;
Begin
Z:= 0;
U:= X;
Repeat
Z:= Z + 1;
U:= U - 1;
Until U
= 0;
MULT:= Z;
End;
{ de mult }
Begin
X:= 18;
y:= 25;
w:= MULT
- 3;
End.
{ de Testmult } |
Os parâmetros
são declarados logo após o nome do procedimento ou função,
dando também o tipo de cada parâmetro.
Duas formas:
-
passagem por valor
-
passagem por referencia
-> denotado pela palavra Var
antes do parâmetro.
Procedure
MULT (X:Integer;
Var Y:Integer);
Neste caso X é
passada por valor e Y, por referência.

|