Uma estudante quer criar um programa para calcular o troco de uma compra. Ela separou o problema em receber o…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Explorar e construir a solução de problemas por meio de refinamentos, utilizando diversos níveis de abstração desde a especificação até a implementação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Uma estudante quer criar um programa para calcular o troco de uma compra. Ela separou o problema em receber o valor pago, calcular a diferença e informar as cédulas e moedas. — Como essa estratégia contribui para a construção do programa?
- A) Ela garante que o programa acerte sempre, porque separar o problema elimina qualquer possibilidade de erro no cálculo.
- B) Ela serve principalmente para economizar memória, porque dividir o problema reduz a quantidade de dados que o programa precisa guardar.
- C) Ela é útil porque permite começar pelas cédulas e moedas, deixando o valor pago para ser definido só no final do programa.
- D) Ela torna a solução mais clara, porque cada etapa trata uma parte específica do cálculo do troco.
- E) Ela deixa o programa mais rápido, porque o cálculo do troco passa a ser feito sem precisar organizar as etapas.
✅ Resposta correta: alternativa D
Resolução passo a passo
- A estudante decompôs o problema em etapas menores: receber o valor pago, calcular a diferença (troco) e informar as cédulas e moedas. Esse procedimento é a decomposição, uma das ideias básicas do pensamento computacional.
- Ao separar o problema, cada parte do programa cuida de uma tarefa específica, o que torna a solução mais clara, organizada e fácil de entender, testar e corrigir.
- Analisando as alternativas, a letra D afirma exatamente isso: cada etapa trata uma parte específica do cálculo do troco. Logo, D é a resposta correta, coincidindo com o gabarito oficial.
- A alternativa A está errada, pois separar o problema não garante que o programa nunca erre; ainda é preciso testar e verificar cada etapa.
- A alternativa B está errada, pois a decomposição tem como objetivo organizar a solução, não economizar memória, que não é o foco da estratégia descrita.
- A alternativa C está errada, pois a ordem sugerida na questão é receber o valor pago primeiro, e não começar pelas cédulas e moedas deixando o valor para o fim.
- A alternativa E está errada, pois organizar as etapas não torna o programa mais rápido nem dispensa a organização; a clareza é o benefício principal da divisão.
💡 Dica: Pense na função de dividir o problema em partes menores.
Alternativa por alternativa
O aluno acredita que dividir o problema em partes elimina qualquer possibilidade de erro, confundindo organização com garantia de correção. Na prática, erros podem continuar em cada etapa e precisam ser testados.
O aluno associa a divisão do problema apenas à economia de memória, confundindo um possível efeito técnico secundário com o objetivo principal da decomposição, que é organizar a solução.
O aluno inverte a lógica da sequência descrita no enunciado, supondo que a utilidade está em começar pelas cédulas e moedas e deixar o valor pago para o fim, o que não corresponde ao fluxo lógico do cálculo do troco.
Corresponde à ideia de decomposição: dividir o problema em partes menores ajuda a organizar o raciocínio e a implementação do programa.
O aluno supõe que não organizar as etapas é o que deixaria o cálculo rápido, invertendo a relação entre organização e eficiência. Além disso, a decomposição descrita trata de clareza, não de velocidade de execução.
Por que engana: Atribuir à decomposição um efeito de velocidade ou de correção automática
Raio-X da questão
Decomposição de problemas
Identificar decompos
Entrada, processamento e saída · Sequência de instruções
Organização de algoritmos
Atribuir à decomposição um efeito de velocidade ou de correção automática
Educação financeira
Organização
Algoritmos com troco
Questões parecidas com resolução
- Um aluno queria fazer um programa para calcular a média da turma. Ele decidiu separar a tarefa em entrada de notas…
- Uma estudante queria criar um programa para listar os materiais da mochila escolar antes de sair de casa. Ela pensou em…
- Para fazer uma calculadora simples, um estudante criou blocos separados para somar, subtrair, multiplicar e dividir…
- Uma aluna com dificuldade de começar um projeto de programação decidiu primeiro escrever o que o programa precisava…
- Para fazer um jogo simples, uma estudante separou o projeto em três etapas: movimentar o personagem, contar pontos e…
- Em um programa para controlar notas, o professor orientou os alunos a separar o código em blocos para ler dados…
🔎 Resolver outra questão
Cole o enunciado e veja a resolução passo a passo, a alternativa correta e por que as outras estão erradas.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
