Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite, comecei a estudar lógica de programação a pouco tempo, e estou com uma dúvida sobre passagem de parâmetros por valor e por referência. Sei a estrutura de cada um e como funciona, porém não sei quando devo usar um ou outro. Será que alguém poderia tentar exemplificar para mim? Estou aprendendo no Visualg.
Passagem de parâmetro por valor é quando você não deseja modificar o valor da variável.
Ex :
algoritmo "Valor"
var
A : inteiro
procedimento Valor(B:inteiro)
inicio
Escreval("O argumento ",B,"está sendo passado por valor")
B <- 10
Escreval("Valor atual argumento A ",B)
fimprocedimento
inicio
Valor(A)
Escreval("Valor atual do argumento A ", A)
fimalgoritmo
No exemplo de cima a variável A foi passada como argumento para o procedimento Valor,o argumento A recebeu o valor 10 durante a execução do procedimento,quando o procedimento foi encerrado o valor da variável A Voltou a ser 0.
Passagem de parâmetro por referência o valor da variável é modificado.
Ex:
algoritmo "Referência"
var
A : inteiro
procedimento Referencia(var B:inteiro)
inicio
Escreval("O argumento ",B,"está sendo passado por referência")
B <- 10
Escreval("Valor atual argumento A ",B)
fimprocedimento
inicio
Valor(A)
Escreval("Valor atual do argumento A ", A)
fimalgoritmo
No exemplo de cima irá fazer o mesmo do primeiro procedimento chamado Valor,porém agora a variável A assumirá outro valor.
Enfim você irá utilizar a passagem por valor quando você desejar manter o valor da variável original intacta sem alterações,Agora com a passagem por referência é quando você desejar que o valor da variável sofra alterações.
espero que tenha sido claro,bons estudos.