Um procedimento ou uma função em Pascal é um trecho de programa que possui variáveis e comandos próprios e que, para ser executado, deve ser ativado por um programa principal, por outro procedimento ou por outra função.
Os identificadores declarados em um procedimento ou em uma função representam objetos locais, portanto não entram em conflito com os identificadores declarados no programa principal ou em outros procedimentos e/ou funções.
A comunicação entre programa principal, procedimentos e funções ocorre através de chamadas. Os dados são transferidos através de parâmetros e/ou pela utilização de variáveis globais. O uso de variáveis globais não constitui uma boa prática de programação; por que será utilizada preferencialmente, a transferência de dados através de parâmetros.
Procedimento
procedure Nome da Procedure [ (lista de variáveis: tipo) ];
[ declaração de variáveis utilizadas apenas pela procedure ];
begin
comandos;
end;
[ ] - Opcional.
* O nome da procedure obedece as mesmas regras de formação dos identificadores.
* Na lista de variáveis pode usar a procedure com passagem de parâmetros por valor e por referência.
- Passagem de parâmetros por valor: A procedure ou função não afetam o valor da variável passada como parâmetro.
- Passagem de parâmetros por referência: A procedure ou função afetam o valor da variável passada como parâmetro.
Exemplo:
Function
function Nome da função [(lista de variáveis: tipo)]:tipo de retorno;
[ declaração de variáveis utilizadas apenas pela função ];
begin
comandos;
end;
[] - Opcional.
* A função obrigatoriamente deve retornar algum valor ao programa principal.
* Numa procedure ela pode ou não retornar algum valor ao programa principal e a função deve pelo menos retornar um valor.
* A função é usada para quando queremos retornar apenas um único valor ao programa principal, já a procedure é usada quando se quer retornar mais de um valor ao programa principal.
Exemplo:
function Par (N:Integer):Boolean;
begin
if (N mod 2 = 0)
then Par:=True
else Par:=False;
end;