Na sala de informática da escola, a turma quer somar o tempo diário, em minutos, que cada aluno usa o tablet…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Identificar as principais formas de organizar e representar a informação de maneira estruturada (matrizes, registros, listas e grafos) ou não estruturada (números, palavras, valores verdade).
Fonte: Base Nacional Comum Curricular (MEC).Questão
Na sala de informática da escola, a turma quer somar o tempo diário, em minutos, que cada aluno usa o tablet durante a semana. Dado um conjunto de entradas com os campos aluno e minutos, descreva a solução com precisão e construa o programa que implementa a soma por aluno. Use estruturas de dados adequadas (registros, matrizes, listas e grafos). Qual alternativa descreve a melhor abordagem de dados e apresenta um esboço de código representativo?
- A) Usar uma matriz 2D [aluno x dia] e somar a linha correspondente para obter o total por aluno.
- B) Usar uma lista de registros, onde cada registro tem campos 'aluno' e 'total_minutos'. Percorrer a lista; se já houver registro para o aluno, incrementar; caso contrário, criar novo registro.
- C) Usar um grafo onde cada nó representa um aluno e as arestas armazenam os minutos diários.
- D) Usar uma fila para processar as entradas na ordem e ir somando sem manter registros por aluno.
- E) Usar uma função recursiva que percorre a lista de entradas para cada aluno.
✅ Resposta correta: alternativa B
Resolução passo a passo
- Entendimento do problema. Cada entrada traz um aluno e uma quantidade de minutos de uso do tablet. O objetivo é obter o total de minutos por aluno, sem saber de antemão quantos alunos existem nem quantos registros cada um terá. Passo 2: Escolha da estrutura. Uma lista de registros, em que cada registro tem os campos aluno e total_minutos, guarda exatamente um total por aluno e cresce conforme novos alunos aparecem. Passo 3: Algoritmo. Percorre-se a lista de entradas; para cada entrada (aluno, minutos), procura-se na lista de registros um registro com esse aluno. Se existir, soma-se minutos a total_minutos; se não existir, cria-se um novo registro com total_minutos igual a minutos. Passo 4: Esboço de código. Registro Aluno: nome, total_minutos. Lista resumo = vazia. Para cada entrada e em entradas: r = buscar(resumo, e.aluno); se r nao for nulo entao r.total_minutos = r.total_minutos + e.minutos senao adicionar(resumo, novo Aluno(e.aluno, e.minutos)). Passo 5: Por que as outras estão erradas. A: exige um número fixo de dias e colunas, mas a entrada traz apenas aluno e minutos, sem a informação de dia. C: um grafo não modela bem uma soma de valores por pessoa, pois as arestas não representam o problema. D: uma fila processa as entradas, mas sem manter registros por aluno não é possível obter o total de cada um. E: uma recursão que percorre a lista inteira para cada aluno é ineficiente e não organiza os totais. Conclusão: a alternativa B é a melhor abordagem, pois combina registros, uma lista dinâmica e um acúmulo direto por aluno, e está de acordo com o gabarito oficial.
💡 Dica: Considere como organizar os dados dos alunos e o tempo de uso.
Alternativa por alternativa
O aluno imagina que os dados precisam ser organizados em uma tabela de alunos por dia, como em uma planilha, mas o enunciado fornece apenas aluno e minutos, sem indicar o dia.
Por que engana: Confundir estruturas de dados adequadas, como usar fila ou grafo para somar tempos por aluno, em vez de registros ou listas.
Abordagem simples, escalável e adequada para dados com número variável de alunos; implementa o somatório por aluno com um único container.
O aluno associa a relação aluno-minutos a um grafo, confundindo atributos de um nó com arestas, quando não há relações entre alunos a modelar.
O aluno acha que basta processar as entradas em ordem e somar tudo em uma variável, sem perceber que é preciso um total separado para cada aluno.
O aluno pensa que a recursão é a forma natural de percorrer dados, sem notar que refazer a varredura para cada aluno é ineficiente e não organiza os totais.
Raio-X da questão
soma de tempos
avaliacao
estruturas de dados basicas · operacoes com listas e registros
Revisar estruturas de dados e algoritmos de soma.
Confundir estruturas de dados adequadas, como usar fila ou grafo para somar tempos por aluno, em vez de registros ou listas.
pensamento_critico
cotidiano
Questões parecidas com resolução
- Num algoritmo que registra as horas de estudo de cada aluno durante a semana (segunda a domingo), qual estrutura de…
- Na escola, você precisa desenvolver um programa simples para registrar a presença dos alunos do 1º ano. O dilema é…
- Na escola, um aluno precisa descrever a solução de um problema de organização de dados de estudantes. Para cada aluno, o…
- Ao programar um algoritmo que organiza a grade de aulas semanal (dias × horários), que estrutura de dados (registro…
- Em uma atividade de sala de aula, você precisa descrever com precisão a solucao de um problema: construir o programa que…
- Planeje uma solucao simples para a secretaria da escola armazenar dados de alunos com campos: nome, idade, nota…
Todas as questões de Organização e representação da informaçã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
