GeraProva GeraProva Provas com IA para professores do Brasil
Computação7º anoBNCC EF69CO03Média⏱ medio

Na porta de um centro comunitário, voluntários recebem pedidos de doação e querem reduzir erros na hora de…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO03

Descrever com precisão a solução de um problema, construindo o programa que implementa a solução descrita.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Na porta de um centro comunitário, voluntários recebem pedidos de doação e querem reduzir erros na hora de separar e entregar as sacolas. Cada pedido chega como uma linha de texto no celular, no formato: BAIRRO;FAMILIA;ITEM. A mesma família pode enviar mais de um item em linhas diferentes, e vários pedidos do mesmo bairro chegam misturados ao longo do dia. Para organizar a entrega, eles combinaram duas saídas do programa: (1) um roteiro por bairro, listando as famílias daquele bairro e os itens pedidos por cada uma; (2) uma lista de separação por bairro, com a contagem de quantas unidades de cada item devem ser colocadas no carro antes de sair. Eles pediram que o programa não “apague” pedidos repetidos e só gere o roteiro depois de ler todas as linhas recebidas. Analise o texto e identifique a decomposição de etapas que permite programar as duas saídas (roteiro e separação) por bairro, mantendo todos os pedidos registrados.

  1. A) Ler todas as linhas e guardar um único registro por família, substituindo o anterior quando chegar um novo pedido.
  2. B) Ler todas as linhas e agrupar primeiro por item, juntando depois os bairros para formar o roteiro de entrega.
  3. C) Ler todas as linhas, agrupar por bairro, reunir itens por família e contar itens por bairro para gerar as duas saídas.
  4. D) Ler todas as linhas, calcular a contagem total de itens do dia e depois dividir igualmente essa contagem entre os bairros.
  5. E) Ler uma linha e já imprimir o bairro, a família e o item, repetindo isso até acabarem as mensagens.

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. Leia o enunciado e identifique o que o programa precisa produzir: duas saídas por bairro, um roteiro (famílias e itens de cada família) e uma lista de separação (contagem de unidades por item), sem apagar pedidos repetidos e só gerar as saídas depois de ler todas as linhas.
  2. Organize a sequência de etapas necessária. Primeiro, ler todas as linhas recebidas, pois os pedidos chegam misturados e o roteiro só pode ser gerado depois da leitura completa.
  3. Agrupar os pedidos por bairro, separando o conjunto de cada localidade, já que as duas saídas são feitas bairro a bairro.
  4. Dentro de cada bairro, reunir os itens por família, mantendo cada pedido registrado (inclusive quando a mesma família aparece em várias linhas). Esse agrupamento alimenta o roteiro.
  5. Dentro de cada bairro, contar quantas unidades de cada item foram pedidas, o que alimenta a lista de separação.
  6. Com esses dados, gerar as duas saídas. A alternativa C é a única que contém essa sequência completa e correta.
  7. Por que as outras estão erradas: A apaga pedidos anteriores da mesma família, contrariando o pedido de não apagar registros. B agrupa por item antes do bairro, o que dificulta montar o roteiro por família e por bairro. D calcula um total geral e divide igualmente, o que não reflete a demanda real de cada bairro. E imprime linha a linha sem ler tudo antes e sem agrupar ou contar, o que impede gerar as saídas pedidas.

💡 Dica: Identifique como agrupar e contar os dados para gerar as saídas solicitadas.

Alternativa por alternativa

A Erradaerro: Interpretaçãoa que mais engana

Acredita que basta manter um único registro por família, substituindo o anterior, o que elimina pedidos repetidos da mesma família e desrespeita a exigência de não apagar pedidos.

Por que engana: Confundir agrupamento por bairro com agrupamento por item ou substituir registros ao invés de acumular.

B Erradaerro: Procedimental

Imagina que agrupar primeiro por item e depois juntar os bairros resolve o roteiro, sem perceber que o roteiro precisa das famílias agrupadas dentro de cada bairro.

C Correta

Decomposição adequada: primeiro coleta, depois organiza por bairro, mantém itens por família e calcula contagens por bairro antes de imprimir.

D Erradaerro: Conceitual

Entende que a contagem total do dia deve ser dividida igualmente entre os bairros, ignorando que cada bairro tem seus próprios pedidos e que as saídas são feitas por bairro.

E Erradaerro: Procedimental

Supõe que processar cada linha separadamente e imprimir logo em seguida atende ao pedido, sem perceber que é preciso ler todas as linhas antes e agrupar ou contar os dados.

Raio-X da questão

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

agrupamento e contagem dados

📌 Objetivo

diagnostico

🧱 Pré-requisitos

estrutura de dados básica · agrupamento e contagem

📚 Reveja

estude estruturas de dados e agrupamento por chave

⚠️ Erro mais comum

Confundir agrupamento por bairro com agrupamento por item ou substituir registros ao invés de acumular.

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cotidiano

Questões parecidas com resolução

Todas as questões de Programação - Linguagem de programaçã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.