Aula 22: 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 <= N) do
      begin
          acumul := acumul * i;
          i := i + 1;
      end;
      fatorial := acumul;
    end;

begin
    write('Digite o valor de N: ');
    readln(N);
    writeln('O valor do Fatorial de ',N , ' é = ', fatorial);
end.
 


Aula Anterior | Índice | Próxima Aula