Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — SELECON 2022

Algoritmos e Estrutura de DadosAlgoritmos
Código
qq801381
Banca
SELECON
Órgão
IF-RJ
Ano
2022
Nível
Superior
Cargo
Analista de Tecnologia da Informação
O algoritmo usa o recurso passagem de parâmetros, de M G para PX por valor, e de RESP para PW por referência.algoritmo "AN_TI"varMG: inteiroRESP : caractereprocedimento PRC(PX:inteiro;var PW:caractere) inicioPX <- 55PW <- "BRASIL"fimprocedimentoinicioMG <- 99RESP <- "ARGENTINA"PRC (MG, RESP)escreval(RESP:-13,MG)fimalqoritmoApós a execução, os valores finais para as variáveis RESP e MG são, respectivamente:
  1. ABRASIL e 55
  2. BBRASIL e 99
  3. CARGENTINA e 55
  4. DARGENTINA e 99
Revelar gabarito e comentário

GabaritoB — BRASIL e 99

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Passagem de parâmetros: valor vs referência

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).

  1. 1MG ← 99, RESP ← 'ARGENTINA'
  2. 2Chama PRC(MG, RESP)
  3. 3PX (cópia de MG) ← 55
  4. 4PW (referência de RESP) ← 'BRASIL'
  5. 5MG = 99, RESP = 'BRASIL'
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

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.

Alternativa B — ✅ Correta ⟵ GABARITO

RESP foi alterada para "BRASIL" por referência e MG permaneceu 99 por ter sido passada por valor. É exatamente o que ocorre.

Alternativa C — ❌ Incorreta

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).

Alternativa D — ❌ Incorreta

Afirma ARGENTINA e 99. O valor de MG está correto (99), mas RESP não permanece "ARGENTINA" — foi alterada para "BRASIL" via referência.

PEGA ESSA DICA!

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