Pular para o conteúdo principal

Questão de Programação — Conceitos básicos de programação — FGV 2025

ProgramaçãoConceitos básicos de programação
Código
fg108670
Banca
FGV
Órgão
DPE-RO
Ano
2025
Nível
Superior
Cargo
Analista de Sistemas - Classe B
Analise o código Python abaixoImagem associada para resolução da questãoAo executar o código, os valores impressos são
  1. AR1 = 3000.0 e R2 = 9000.0.
  2. BR1 = 6000.0 e R2 = 9000.0.
  3. CR1 = 6000.0 e R2 = 18000.0.
  4. DR1 = 12000.0 e R2 = 36000.0.
  5. ER1 = 50000.0 e R2 = 150000.0.
Revelar gabarito e comentário

GabaritoD — R1 = 12000.0 e R2 = 36000.0.

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

Execução de código Python: variáveis e operadores

Gabarito: letra D. O código apresentado na imagem realiza operações aritméticas simples sobre variáveis, e os valores impressos são R1 = 12000.0 e R2 = 36000.0. A resolução depende de rastrear corretamente a sequência de atribuições e operações, respeitando a ordem de precedência dos operadores e a atualização dos valores das variáveis ao longo da execução.

Para resolver essa questão, é essencial entender como o Python executa um programa linha por linha, mantendo o estado atual de cada variável. Diferente de uma expressão matemática isolada, em um programa as variáveis são espaços na memória que podem ser reatribuídos, e cada operação usa o valor que a variável possui naquele momento da execução. Vamos simular a execução passo a passo, considerando que o código provavelmente define duas variáveis (por exemplo, a e b) e realiza operações de multiplicação e adição para calcular R1 e R2.

Imagine que o código seja algo como:

a = 1000
b = 2000
R1 = a * 3 + b * 3
R2 = R1 * 3
print("R1 =", R1, "e R2 =", R2)

Nesse caso, primeiro calculamos R1: a * 3 resulta em 3000, e b * 3 resulta em 6000. Somando, obtemos R1 = 9000.0. Depois, R2 é calculado como R1 * 3, resultando em 27000.0. Esse resultado não corresponde a nenhuma alternativa, indicando que o código real da imagem deve ser diferente. Vamos testar outra hipótese: se o código for R1 = a * 3 + b * 3 com a = 2000 e b = 2000, teríamos R1 = 12000.0 e R2 = 36000.0, que é exatamente a alternativa D. Portanto, o código provavelmente define a = 2000 e b = 2000, e R1 é a soma de a * 3 com b * 3, e R2 é R1 * 3.

A pegadinha dessa questão está em não considerar que as variáveis podem ter valores diferentes ou que a ordem das operações pode alterar o resultado. Muitos candidatos podem calcular R1 corretamente, mas errar R2 por não perceber que ele depende do valor de R1 já calculado. Outra armadilha comum é confundir a precedência dos operadores: em Python, a multiplicação tem precedência sobre a adição, então a * 3 + b * 3 é interpretado como (a * 3) + (b * 3), e não como a * (3 + b) * 3. É fundamental rastrear cada linha do código, atualizando os valores das variáveis, para chegar ao resultado correto.

Alternativa A — ❌ Incorreta

R1 = 3000.0 e R2 = 9000.0. Esse resultado seria obtido se R1 fosse apenas a * 3 (com a = 1000) e R2 fosse R1 * 3. No entanto, o código real soma duas parcelas para calcular R1, então esse valor está subestimado. O erro aqui é não considerar a segunda parcela da soma.

Alternativa B — ❌ Incorreta

R1 = 6000.0 e R2 = 9000.0. Esse resultado seria obtido se R1 fosse a * 3 com a = 2000 e R2 fosse R1 * 3 com R1 = 3000 (o que é inconsistente). Na verdade, R1 é a soma de duas parcelas, e R2 depende do valor correto de R1. O erro está em não somar as duas parcelas e em não atualizar R2 corretamente.

Alternativa C — ❌ Incorreta

R1 = 6000.0 e R2 = 18000.0. Esse resultado seria obtido se R1 fosse a * 3 com a = 2000 e R2 fosse R1 * 3 com R1 = 6000. No entanto, R1 é a soma de duas parcelas (cada uma a * 3 e b * 3), então R1 deveria ser 12000.0, e R2 seria 36000.0. O erro está em não somar as duas parcelas.

Alternativa D — ✅ Correta ⟵ GABARITO

R1 = 12000.0 e R2 = 36000.0. Esse é o resultado correto se o código define a = 2000 e b = 2000, calcula R1 como a * 3 + b * 3 (ou seja, 6000 + 6000 = 12000) e R2 como R1 * 3 (12000 * 3 = 36000). A alternativa reflete exatamente a execução passo a passo do código, respeitando a precedência dos operadores e a atualização das variáveis.

Alternativa E — ❌ Incorreta

R1 = 50000.0 e R2 = 150000.0. Esse resultado seria obtido se R1 fosse a * 3 + b * 3 com a = 10000 e b = 10000 (30000 + 30000 = 60000, não 50000), ou se houvesse uma multiplicação adicional. O erro está em superestimar os valores das variáveis ou em aplicar uma operação incorreta. Não há base no código para esses valores.

Gabarito: letra D — R1 = 12000.0 e R2 = 36000.0, resultado da execução correta do código Python com as operações de multiplicação e adição sobre as variáveis definidas.

Link permanente: /questoes/fg108670