Questão de Algoritmos e Estrutura de Dados — Algoritmos — SELECON 2022
- Código
- qq801381
- Banca
- SELECON
- Órgão
- IF-RJ
- Ano
- 2022
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação
- ABRASIL e 55
- BBRASIL e 99
- CARGENTINA e 55
- DARGENTINA e 99
GabaritoB — BRASIL e 99
Gabarito: letra B (BRASIL e 99). O parâmetro PX é recebido por valor (cópia), portanto a alteração para 55 dentro do procedimento não afeta a variável original MG, que permanece 99. Já o parâmetro PW é recebido por referência (var), de modo que a atribuição "BRASIL" modifica diretamente a variável RESP, que era "ARGENTINA" e passa a valer "BRASIL".
O teste central da questão é a distinção entre passagem por valor (cópia independente) e passagem por referência (a variável original é alterada). No algoritmo, a chamada PRC(MG, RESP) envia MG para PX (valor) e RESP para PW (referência).
Afirma BRASIL e 55. O erro está em MG: 55 só vale dentro do procedimento para a cópia PX; a variável original MG não sofre alteração e permanece 99.
RESP foi alterada para "BRASIL" por referência e MG permaneceu 99 por ter sido passada por valor. É exatamente o que ocorre.
Afirma ARGENTINA e 55. Ambos os valores estão errados: RESP foi modificada para "BRASIL" (não ficou "ARGENTINA"), e MG continua 99 (não se torna 55).
Afirma ARGENTINA e 99. O valor de MG está correto (99), mas RESP não permanece "ARGENTINA" — foi alterada para "BRASIL" via referência.
Na passagem por referência, o parâmetro é um apelido para a variável original; qualquer alteração reflete na variável. Na passagem por valor, o parâmetro recebe uma cópia e alterações são perdidas ao retornar. Decore: var = referência (altera); sem var = valor (cópia).
Gabarito: letra B
Link permanente: /questoes/qq801381