(a) Correto. Na passagem por valor, são passadas cópias do valor; na passagem por
referência, são passados endereços de variáveis; (b) Correto. Na passagem por
valor, são passadas cópias do valor; na passagem por referência, são passados
endereços de variáveis; (c) Errado. Se ocorreu uma passagem por valor, ela é
alterada apenas na sub-rotina, mas não no programa principal; (d) Correto.
Conforme vimos, são passados endereços das variáveis, logo seu valor é alterado
dentro da função e fora dela; (e) Correto. Conforme vimos, são passadas cópias do
valor, logo seu valor é alterado apenas dentro da função, mas não fora dela.
Gabarito: C
Curso de Informática
Profs. Diego Carvalho e Judah Reis
⦁ Na passagem por referência, o que é passado como argumento no parâmetro formal é o endereço da variável.
Certo.
⦁ Na passagem por valor, o valor é copiado do argumento para o parâmetro formal da função.
Certo.
⦁ Por exemplo, quando duas variáveis inteiras i1 e i2 são passadas por valor à função troca() chamada pelo programa principal, elas também são alteradas no programa principal.
Errado. Na passagem por valor, são criadas cópias das variáveis i1 e i2 visíveis somente dentro da função troca(). O que for alterado nessas cópias não afeta as variáveis originais i1 e i2 no programa principal.
⦁ Na passagem por referência, dentro da função, o argumento real utilizado na chamada é acessado através do seu endereço, sendo assim alterado.
Certo.
⦁ Na passagem por valor, quaisquer alterações feitas nestes parâmetros dentro da função não irão afetar as variáveis usadas como argumentos para chamá-la.
Certo.
Resposta: C