GeraProva GeraProva Provas com IA para professores do Brasil
Computação1ª sérieBNCC EM13CO02Média⏱ medio

Em um programa que calcula a média de três variáveis de notas, João fez duas decomposições: X separa entrada…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO02

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

Em um programa que calcula a média de três variáveis de notas, João fez duas decomposições: X separa entrada, cálculo e saída; Y mistura leitura com cálculo. Qual comparação evidencia vantagem da decomposição X?

  1. A) Y reduz uso de variáveis porque mistura operações.
  2. B) X facilita testar cada etapa (entrada, processamento, saída) separadamente.
  3. C) Y sempre executa mais rápido por eliminar chamadas de função.
  4. D) X impede reutilizar o código em outros algoritmos.
  5. E) X aumenta linhas de código sem benefício claro.

✅ Resposta correta: alternativa B

Resolução passo a passo

  1. A questão pede a vantagem da decomposição X em relação à Y, em um programa que calcula a média de três notas. Passo 2: X separa o programa em entrada, cálculo e saída, então cada parte tem uma função clara e pode ser verificada isoladamente, por exemplo testando a função de cálculo com valores fixos, sem precisar digitar notas. Passo 3: Y mistura leitura com cálculo, o que obriga a executar o programa inteiro, com entrada do usuário, para testar qualquer parte da lógica. Passo 4: A alternativa B expressa exatamente essa vantagem, que é a facilidade de testar cada etapa separadamente, e por isso está correta. Passo 5: A alternativa A está errada, pois a decomposição não está ligada à redução do número de variáveis. Passo 6: A alternativa C está errada, pois não há garantia de que menos chamadas de função tornem o programa sempre mais rápido, e o enunciado não traz dados de desempenho. Passo 7: A alternativa D está errada, pois módulos separados em funções costumam facilitar a reutilização do código, e não a impedir. Passo 8: A alternativa E está errada, pois mais linhas nem sempre são ruins, e a organização em etapas traz benefícios claros de teste e manutenção. Passo 9: Comparando com o gabarito oficial, a letra B está de acordo com a resolução feita.

💡 Dica: Analise as vantagens da separação de funções no código.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

Acredita que misturar operações em um mesmo bloco reduz o número de variáveis, confundindo menos etapas separadas com menos variáveis. A decomposição não trata de contagem de variáveis.

Por que engana: Confundir a eficiência de misturar operações com a clareza e testabilidade do código.

B Correta

Essa é a principal vantagem da decomposição modular.

C Erradaerro: Senso comum

Assume que eliminar chamadas de função sempre torna o programa mais rápido, uma intuição do senso comum. O enunciado não traz nenhum dado de desempenho e a organização do código não é o critério de velocidade.

D Erradaerro: Conceitual

Entende que separar o código em partes independentes impede seu reuso, quando na verdade partes separadas, como funções, são justamente o que permite reutilizá-las em outros programas.

E Erradaerro: Interpretação

Considera que o código mais longo é necessariamente pior e ignora que a separação em etapas traz benefícios de teste e manutenção, mesmo com algumas linhas a mais. Não leu a pergunta sobre a vantagem da decomposição X.

Raio-X da questão

Dificuldade Média
Leitura medio
Discriminação medio
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade dupla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ comparativa🧩 progressao
🎯 Conceito central

decomposição de programas

📌 Objetivo

diagnostico

🧱 Pré-requisitos

decomposição de programas · funções em programação

📚 Reveja

Revisar os conceitos de decomposição e modularização em programação.

⚠️ Erro mais comum

Confundir a eficiência de misturar operações com a clareza e testabilidade do código.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

🔎 Procurar outra questão

Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.

Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.