Questão de Algoritmos e Estrutura de Dados — Algoritmos — VUNESP 2019
- Código
- vu040073
- Banca
- VUNESP
- Órgão
- Câmara de Piracicaba - SP
- Ano
- 2019
- Nível
- Superior
- Cargo
- Analista de Sistemas
- Aubíqua.
- Bambígua.
- Cindependente
- Dpor referência.
- Epor valor.
GabaritoD — por referência.
Gabarito: letra D. A passagem por referência permite que o parâmetro seja utilizado tanto para entrada quanto para saída, pois o endereço da variável original é passado, possibilitando que a sub-rotina modifique diretamente o valor da variável do programa principal. Esse é o mecanismo que atende ao requisito do enunciado.
A questão aborda um conceito fundamental de algoritmos e linguagens de programação: a forma como parâmetros são transmitidos a sub-rotinas (funções, procedimentos). Os dois principais tipos são:
Passagem por valor: uma cópia do valor é passada; alterações dentro da sub-rotina não afetam a variável original.
Passagem por referência: o endereço da variável é passado; alterações dentro da sub-rotina afetam diretamente a variável original.
O termo "ubíqua" não é um tipo de passagem de parâmetro em programação. Não há definição técnica que relacione essa palavra ao mecanismo descrito.
"Ambígua" também não corresponde a nenhum tipo de passagem de parâmetro. É um termo genérico que não se aplica ao contexto de passagem de parâmetros.
"Independente" não é um tipo de passagem de parâmetro reconhecido em linguagens de programação. Pode causar confusão com "passagem por valor", mas o nome correto é "por valor", não "independente".
A passagem por referência (também chamada de passagem por endereço ou por variável) permite que o parâmetro seja utilizado como entrada (recebendo um valor) e como saída (alterando o valor original). Na prática, o endereço de memória da variável é passado para a sub-rotina, de modo que qualquer modificação realizada no parâmetro reflita diretamente na variável do chamador. Esse é exatamente o comportamento solicitado no enunciado.
Na passagem por valor, uma cópia do valor é enviada para a sub-rotina. Alterações feitas no parâmetro dentro da sub-rotina não afetam a variável original, funcionando apenas como entrada, e não como saída. Portanto, não atende ao requisito de ser tanto entrada quanto saída.
Para distinguir rapidamente na prova: se a sub-rotina precisa modificar o valor da variável e essa modificação deve ser visível fora dela, a passagem deve ser por referência. Se apenas o valor é usado e não há necessidade de alterar a variável original, a passagem pode ser por valor. Lembre-se: "referência" = acesso direto à variável original; "valor" = cópia.
Gabarito: letra D.
Link permanente: /questoes/vu040073