1.2 - Passagens de parâmetros


Neste capíitulo vamos nos referir a vários exemplos abordados no capítulo 1.1, se você não leu, acho melhor você ver.

Quando foi criado o procedimento proca(x,y), no primeiro exemplo do capítulo 1.1, as variavéis x e y são os parâmetros do procedimento.

Quando o procedimento proca(a,b) é executado no programa principal, o valor de a passa para x, e o valor de b passa para y. Da mesma forma que no procedimento procb(w,k,r,rr) terão seus valores, respectivamente 1,2, s e ss.

A diferença é que as variáveis r e rr poderão ser variáveis tanto de entrada como de saída.

Chamamos de parâmetros formais, as variáveis colocadas no cabeçalho de um procedimento ou de uma função.

Chamamos de parâmetros reais as vairáveis ou constantes que aparecem na chamada dos procedimentos ou das funções.

Existem duas formas de se passar os parâmetros reais para os parâmetros formais: por valor ou por referência.

Na passagem por valor, os parâmetros formais representam uma variável que tem vida enquanto o procedimento ou a função existir, ou seja, o parâmetro formal representa uma variável local a função ou ao procedimento, e qualquer alteração efetuada no parâmetro formal, não afetará a variável local.

Na passagem por referência, os parâmetros formais representam uma variável global, ou seja, qualquer alteração efetuada no parâmetro formal implica necessariamente no parâmetro real. Por este motivo quando houver passagem por referência, obrigatóriamente o parâmetro real será uma variável, não poderá ser uma constante, como no caso da passagem por valor.

Normalmente várias perguntas são feitas neste instante:

P. Como, em PASCAL, eu diferencio a passagem por referência de por valor?

R..Elementar, meu caro. Na passagem por referência, no cabeçalho da função ou procedimento usaremos a palavra VAR, antes da variável.

P. A linguagem PASCAL permite que uma função tenha passagem de parâmetros por referência?

R. Sim, mas como uma função é utilizada para calcular um único valor, a boa prática indica que não se deve fazer isto. Vale aqui também diferenciar o que venha ser uma variável global e uma variável local.

Uma variável global tem sua validade durante todo o programa. Ela é declarada logo no início do programa e não existe mais a necessidade declará-la. As funções e os procedimentos poderão utilizá-la mesmo sem ela ser um parâmetro formal.

Uma variável é dita local quando é declarada dentro de um procedimento ou função. Só terá valor, ou melhor só existirá enquanto a função ou o procedimento for chamado.

Passamos para oapítulo13, chega de estudar por hoje?