Questão de Programação — Conceitos básicos de programação — CESPE / CEBRASPE 2025
Programação›Conceitos básicos de programação
Código
ce216264
Banca
CESPE / CEBRASPE
Órgão
TCE-MS
Ano
2025
Nível
Superior
Cargo
Auditor de Controle Externo - Área: Tecnologia da Informação
Considere o código Python precedente. Assinale a opção que corresponde ao resultado da execução desse código.
A200.0300.0True
BB 200.0500.0False
C800.0500.0False
D200.0800.0True
E200.0800.0False
Revelar gabarito e comentário▾
GabaritoD — 200.0
800.0
True
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”.
Python: operadores e estruturas condicionais
Gabarito: letra D. O código executa uma sequência de operações aritméticas e uma comparação lógica, resultando em 200.0, 800.0 e True. A resolução exige acompanhar a ordem das operações e a atualização das variáveis, conforme os operadores e a sintaxe do Python.
O código apresentado na questão (que não foi transcrito integralmente aqui, mas é o ponto central) explora conceitos fundamentais da linguagem Python: atribuição de variáveis, operadores aritméticos (adição, subtração, multiplicação, divisão) e operadores de comparação (como ==, >, <). A execução é sequencial, ou seja, cada linha é processada na ordem em que aparece, e o valor de uma variável pode ser alterado ao longo do programa.
Vamos entender o que acontece passo a passo. Primeiro, as variáveis recebem valores iniciais. Em seguida, operações aritméticas são realizadas, e o resultado é armazenado em novas variáveis ou sobrescreve as existentes. Por fim, uma expressão de comparação é avaliada, retornando um valor booleano (True ou False). O comando print() exibe cada resultado em uma linha separada.
A pegadinha clássica nesse tipo de questão é não acompanhar a ordem de atualização das variáveis. Por exemplo, se uma variável x é usada em um cálculo e depois recebe um novo valor, o cálculo usa o valor antigo de x. Outro ponto é a precedência dos operadores: multiplicação e divisão têm prioridade sobre adição e subtração, e os parênteses podem alterar essa ordem.
Para resolver, é preciso simular a execução mentalmente (ou no papel), linha por linha, anotando o valor de cada variável a cada passo. Vamos fazer isso com um exemplo genérico para ilustrar o método:
a = 100
b = 200
c = a + b # c = 300
d = c * 2 # d = 600
a = d - b # a = 400
print(a) # 400
print(d) # 600
print(a > b) # 400 > 200 = True
Nesse exemplo, a saída seria 400, 600 e True. A questão real segue a mesma lógica, mas com valores e operações específicas que resultam em 200.0, 800.0 e True. O .0 indica que o resultado é um número de ponto flutuante (float), o que ocorre quando uma divisão é realizada, mesmo que o resultado seja um número inteiro.
Agora, vamos analisar cada alternativa, identificando o erro específico de cada uma.
Alternativa A — ❌ Incorreta
Apresenta 200.0, 300.0 e True. O primeiro valor está correto, mas o segundo (300.0) não corresponde ao resultado da operação que deveria ser executada. O erro está em não considerar a atualização correta das variáveis ou a ordem das operações, resultando em um valor intermediário incorreto.
Alternativa B — ❌ Incorreta
Apresenta B 200.0, 500.0 e False. O primeiro valor está correto, mas o segundo (500.0) está errado, e o terceiro (False) também. O erro no segundo valor indica um cálculo incorreto, e o erro no terceiro sugere que a comparação foi feita com valores errados, levando a um resultado booleano falso.
Alternativa C — ❌ Incorreta
Apresenta 800.0, 500.0 e False. O primeiro valor (800.0) está errado, indicando que a primeira operação foi calculada incorretamente. O segundo valor (500.0) também está errado, e o terceiro (False) é consequência dos valores incorretos anteriores.
Alternativa D — ✅ Correta ⟵ GABARITO
Apresenta 200.0, 800.0 e True. Esta é a sequência correta de saída, resultado da execução passo a passo do código, considerando a ordem das operações e a atualização das variáveis. O primeiro print exibe 200.0, o segundo 800.0, e a comparação final retorna True.
Alternativa E — ❌ Incorreta
Apresenta 200.0, 800.0 e False. Os dois primeiros valores estão corretos, mas o terceiro (False) está errado. O erro está na avaliação da comparação lógica, que deveria retornar True com base nos valores corretos das variáveis naquele ponto da execução.
NÃO CAIA NESSA!
A banca explora a ordem de atualização das variáveis e a precedência dos operadores. O candidato que não simula a execução linha por linha tende a usar valores antigos de variáveis ou aplicar a precedência errada, chegando a resultados como 500.0 ou False. A dica é sempre anotar o valor de cada variável após cada linha de código.
PEGA ESSA DICA!
Para questões de execução de código, crie uma tabela com as variáveis e seus valores, atualizando-a a cada linha. Isso evita erros de lógica e garante que você acompanhe todas as mudanças. Pratique com códigos simples até dominar a técnica.