Passagem De Parametro
Ensaios: Passagem De Parametro. Pesquise 862.000+ trabalhos acadêmicosPor: driflor • 9/9/2014 • 497 Palavras (2 Páginas) • 251 Visualizações
Passagens de parâmetros
A passagem de parâmetros por VALOR funciona da seguinte forma:
Um ou mais parâmetros são declarados em uma função ou procedimento da seguinte forma.
procedimento exemploValor(numUm:inteiro, numDois:inteiro)
inicio
<sessão de comandos>
Fimprocedimento
Da forma como estão declarados, os parâmetros (em vermelho) irão receber uma cópia do valor da variável que for passado na chamado do procedimento.
algoritmo "ExemploParametros"
var
valorUm, valorDois:inteiro
procedimento exemploValor(numUm:inteiro, numDois:inteiro)
inicio
//<sessao de comandos>
fimprocedimento
inicio
// Seção de Comandos
valorUm <- 10
valorDois <- 15
exemploValor(valorUm, valorDois)
fimalgoritmo
As variáveis globais (em azul) recebem os valores 10 e 15, cada uma delas ocupa um local na memória, por exemplo valorUm ocupa o endereço 1234ABF e valorDois ocupa 4321ABF.
Quando elas são passadas como parâmetros na chamada do procedimento exemploValor, é criada uma cópia dos valores dessas variáveis para as variáveis do procedimento, sendo que as variáveis do procedimento são variáveis locais e ocupam outros endereços de memória, por exemplo numUm ocupa 6789CDF e numDois ocupa 9876CDF.
Neste caso o valor 10 será copiado de valorUm para numUm e o valor 15 será copiado de valorDois para numDois, alterando os valores das variáveis locais numUm e numDois, as variáveis globais valorUm e valorDois não sofrerão qualquer alteração.
Se valorUm, que ocupa o endereço 1234ABF, receber 10, ao chamar o procedimento exemploValor, numUm ocupará um novo endereço de memória por exemplo 6789CDF e receberá uma cópia do valor da variável valorUm. Ao alterar o valor da variável numUm de 10 para 20, a variável valorUm continuará a valer 10, pois os endereços de memória são diferentes.
A passagem de parâmetros por REFERÊNCIA funciona da seguinte forma:
Um ou mais parâmetros são declarados em uma função ou procedimento de uma das seguintes formas, dependendo da linguagem de programação utilizada.
procedimento exemploReferencia(var numUm:inteiro, var numDois:inteiro)
inicio
<sessão de comandos>
Fimprocedimento
OU
procedimento exemploReferencia ( *numUm:inteiro, *numDois:inteiro)
inicio
...