Créditos FEC-Unicam

Functions

As functions são como procedimentos. No entanto, são distintas pela característica de retornar um valor. Isso caracteriza o fato de uma function ser ativada na avaliação de expressões, como as funções matemáticas. Como vimos, a linguagem Pascal possui algumas funções pré-definidas, o que faz com que o programador não tenha que implementá-las.

A declaração de uma function tem como objetivo associá-la a um identificador para que possa se ativada em uma expressão do programa. A declaração de uma function é feita da seguinte forma:

function nome: t
declararação dos objetos locais à function
BEGIN
comandos da function
.
.
.
nome := X;
END;

t é tipo que a função irá retornar. X é o valor do mesmo tipo t que será retornado pela função. Vemos aqui que o corpo da função precisa necessariamente conter um comando de atribuição no qual o nome da function aparece à esquerda do sinal de atribuição. A ativação de uma function é feita posicionando-se o nome da mesma em uma expressão de mesmo tipo.

Exemplo:

program exemplo_function;
{ program que calcula o fatorial de N com a utilização de uma função }
var N : integer;

function fatorial : integer;
var i, acumul : integer;
begin
acumul := 1;
i := 1;
while (i