Quando queremos apenas passar os parâmetros para ser utilizados em um função e procedimento sem que a
alteração de seus valores sejam alterados, a forma como passamos essas informações é chamada
de passagem por valor.
Mesmo sendo alterados internamente em uma função ou procedimento, essa alteração não irão refletir
na variável original passada como argumento, pois as alterações são realizadas sobre suas cópias locais.
Essas cópias são descartadas ao término da função ou procedimento.
Sintaxe: declaração
funcao tipo_retorno nome_funcao(tipo_dado1 param1, tipo_dado2 param2, tipo_dadoN paramN)
{
//corpo
}
Sintaxe: uso
nome_funcao(arg1, arg2, argN)
Exemplo 1
programa
{
funcao void PassagemPorValor(inteiro num1, inteiro num2)
{
num1 = 2
num2 = 3
escreva(num1)
escreva(num2)
}
funcao inicio()
{
inteiro num1,num2;
num1=0;
num2=1;
PassagemPorValor(num1,num2)
escreva(num1)
escreva(num2)
}
}
Saída
2301
No exemplo acima, os argumentos num1 e num2 são alterados internamente dentro de
PassagemPorValor. Os novos valores não são refletidos nas várias declaradas na função inicio,
em que os valores 0 e 1 são exibidos, como pode ser observado na saída do programa.