Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leonardo_Silva

[Resolvido] Funções x Procedimento

Recommended Posts

Aee rapaziada, so de boas ! http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif

 

Tava lendo o livro sobre funções, mas empaquei aki, ele retorna nos procedimentos para depois falar de funções:

 

"Os procedimentos pela passagem de parâmetro por referência permitem que sejam retornados valores à rotina chamadora, podem ser impressos, atribuídos a uma variavel, servirem em operações aritméticas, entre outras."

 

Quer dizer que os passagem de parâmetro por referência retorna valores a rotina..OK

 

Mas quem pode ser impressos? As passagem de parâmetro por referência ou os valores da rotina chamadora?

 

Fraterno abraço !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa.. beleza.. Podem ser impressos?? Sim, no caso ele se refere aos parametros. Passagem de parametro por referencia é quando em vez de se fazer uma cópia do valor para o parametro é feita uma cópia do endereço do local onde se encontra o valor, ou se ja, dentro do procedimento qualquer alteracao que for feita sobre o parametro no fundo estará alterando o valor que ele referencia. Pode parecer um pouco confuso, mas imagine o seguinte cenário:

meu_procedimento(inteiro valor1){
valor1 = 10;
}

Ao chamar esse procedimento em qualquer bloco do teu código se o parametro for passado por referencia:

inteiro idade = 20;
// chama o procedimento e passa a referencia de uma variavel, é comum em algumas linguagens usar &
meu_procedimento(&idade);
imprime(idade); // será impresso 10, em vez d 20

Repare que o valor de idade será alterado, porque você passou a referencia de idade e nao fez uma copia( que seria passagem de parametro por valor )...

 

Espero ter ajudado... Abraço! http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae Giovanny Ritchie http://forum.imasters.com.br/public/style_emoticons/default/natal_happy.gif

 

Cara deste modo que exemplificou fico 10, melhor usar referencia do que valor. Já que pode alterar dentro do procedimento .

 

Essa explicação do livro é estranha mesmo, fiquei vários dias tentanto interpretar hehe

 

Pq parecia que o proc. por refeencia retornava um valor e esse valor que era impressos, atribuidos...

 

Os procedimentos podem imprimir da mesma forma que as funções?

 

 

funçao soma(a, b : real) : real
inicio 
  soma <- a + b
fimfunçao

  num1 <- 10
  num2 <- 20

escreva("A soma é: ", soma(num1, num2)

 

O procedimento tbm pode ser impresso assim:

 

procedimento soma (var a, b, result : real)
inicio
  result <- a + b
fimprocedimento

  num1 <- 10
  num2 <- 20

escreva("A soma é: ", soma(num1, num2, soma)

 

Abraços e bom domingão. http://forum.imasters.com.br/public/style_emoticons/default/natal_noel.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leonardo, tenha em mente que cada mecanismo serve para uma coisa diferente.

As vezes é interessante ter controle dos parametros dentro do procedimento, outras vezes é interessante passar copias.

 

E outra, procedimento e função é exatamente a mesma coisa, mas o tipo de retorno de um procedimento é "vazio"

isto é, não retorna nada que seja aproeitável para o programador, portanto, não da para imprimir dessa forma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.