GeraProva GeraProva Provas com IA para professores do Brasil
Computação6º anoBNCC EF06CO04Difícil⏱ medio

— Ontem eram so duas opcoes de marmita; hoje ja tem vegetariana, sem lactose e sem gluten! — reclamou a…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF06CO04

Construir soluções de problemas usando a técnica de decomposição e automatizar tais soluções usando uma linguagem de programação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

— Ontem eram so duas opcoes de marmita; hoje ja tem vegetariana, sem lactose e sem gluten! — reclamou a voluntaria que faz as etiquetas no mutirao de distribuicao. No tablet, ela usa uma linguagem simples: pode ler dados (READ), repetir comandos (REPEAT), tomar decisoes (IF) e criar funcoes (FUNCTION). Cada etiqueta deve mostrar: nome do tipo de marmita e um numero em sequencia para aquele tipo (ex.: Vegetariana 1, Vegetariana 2...). A cada mutirao, os tipos e quantas unidades de cada tipo mudam, e esses valores sao informados no inicio. Na semana passada, ela resolveu copiando e colando um bloco de comandos para cada tipo. Agora quer reorganizar o programa para reduzir repeticao e conseguir usar o mesmo codigo mesmo quando surgirem novos tipos, mudando so os dados de entrada. Com base no texto, identifique a divisao do programa em partes que melhor generaliza a solucao para qualquer quantidade de tipos e unidades, com menos mudancas no codigo.

  1. A) Criar uma FUNCTION geraEtiqueta(tipo, numero) e chama-la em REPEAT conforme os tipos e quantidades lidos no inicio.
  2. B) Criar um programa separado para cada mutirao, porque os tipos mudam e isso impede reaproveitar o mesmo codigo.
  3. C) Criar um bloco de comandos para cada tipo, copiando e editando o texto sempre que aparecer um tipo novo.
  4. D) Criar uma FUNCTION que imprime todas as etiquetas com tipos e numeros fixos dentro dela, executando-a uma vez por dia.
  5. E) Criar uma variavel diferente para cada etiqueta (etq1, etq2, etq3...), evitando usar repeticao no programa.

✅ Resposta correta: alternativa A

Resolução passo a passo

  1. O problema pede uma divisão do programa que generalize a solução para qualquer quantidade de tipos e unidades, reduzindo repetição de código e mudando apenas os dados de entrada.
  2. Cada etiqueta segue o mesmo padrão: nome do tipo mais um número em sequência para aquele tipo. Logo, a parte que se repete é a criação de uma etiqueta, que depende de dois dados: o tipo e o número. Isso sugere uma FUNCTION geraEtiqueta(tipo, numero), que recebe esses dados e produz a etiqueta.
  3. Os tipos e as quantidades mudam a cada mutirão, mas são informados no início, ou seja, são dados de entrada. O programa pode lê-los (READ) e, para cada tipo, usar REPEAT para chamar a função tantas vezes quanto a quantidade informada, variando o número de 1 até a quantidade.
  4. Com isso, mudar tipos ou quantidades exige apenas alterar os dados de entrada, sem copiar blocos. A alternativa A é a única que combina função reutilizável, repetição e leitura dos dados.
  5. Por que as outras estão erradas: B cria um programa por mutirão, o que duplica código em vez de reaproveitá-lo; C repete o erro da semana passada, copiando blocos para cada tipo; D fixa tipos e números dentro da função, impedindo que mudem sem editar o código; E cria uma variável para cada etiqueta, o que não escala e contraria o objetivo de evitar repetição.

💡 Dica: Pense em como usar funções e repetições para generalizar o código.

Alternativa por alternativa

A Correta

Decompoe (funcao + repeticao) e generaliza com parametros; novos tipos entram pelos dados, sem reescrever blocos.

B Erradaerro: Conceitual

O aluno acredita que, como os tipos mudam a cada mutirão, o código não pode ser reaproveitado, e que é preciso um programa novo para cada evento.

C Erradaerro: Procedimentala que mais engana

O aluno entende que basta copiar e editar um bloco para cada tipo novo, mantendo a abordagem que a voluntária já tentou e que gerou repetição.

Por que engana: O aluno pode confundir a necessidade de criar funções reutilizáveis com a criação de blocos separados para cada tipo, levando a código repetitivo.

D Erradaerro: Interpretação

O aluno confunde função com algo fixo: acha que os tipos e números devem ficar embutidos na função, e que a execução é diária, ignorando que os dados são informados no início de cada mutirão.

E Erradaerro: Conceitual

O aluno acredita que criar uma variável separada para cada etiqueta elimina a repetição, sem perceber que o código continua crescendo a cada etiqueta e não se adapta a novas quantidades.

Raio-X da questão

Dificuldade Difícil
Bloom Entender
Leitura medio
Discriminação alto
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ situacional🧩 consolidacao
🎯 Conceito central

funções e repetições em programação

📌 Objetivo

avaliacao

🧱 Pré-requisitos

conceito de função em programação · estrutura de repetição

📚 Reveja

Estude como funções e estruturas de repetição ajudam a evitar código repetitivo.

⚠️ Erro mais comum

O aluno pode confundir a necessidade de criar funções reutilizáveis com a criação de blocos separados para cada tipo, levando a código repetitivo.

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cotidiano

Questões parecidas com resolução

Todas as questões de Estratégias de solução de problemas - Decomposição

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