Na escola, um professor de Computação quer automatizar a verificação de aprovação. Dado um conjunto de…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Na escola, um professor de Computação quer automatizar a verificação de aprovação. Dado um conjunto de registros com nome e nota, descreva com precisão a solução e construa o programa que retorna a lista de aprovados (nota >= 6) e a média da turma. Considere que os dados podem ser representados como registros, listas ou matrizes. Qual abordagem descreve melhor o fluxo de solução e a estrutura de dados adequada, incluindo o conteúdo mínimo do código?
- A) Usar uma matriz bidimensional para armazenar [nome, nota] e percorrer célula por célula para calcular a média e imprimir aprovados.
- B) Usar uma lista de registros (nome, nota). Iterar pela lista para somar as notas, contar aprovados, calcular a média e imprimir os nomes aprovados.
- C) Usar um dicionário com chave sendo o nome e valor sendo a nota, sem manter a ordem; depois calcular a média percorrendo apenas os valores.
- D) Construir uma árvore binária para ordenar as notas e, em seguida, percorrer para encontrar quem passou.
- E) Resolver por planilha externa, fora do código, para calcular a média e listar aprovados.
✅ Resposta correta: alternativa B
Resolução passo a passo
- Identificar a estrutura de dados. Cada aluno tem dois dados ligados entre si (nome e nota), então um registro (nome, nota) representa bem cada aluno. Reunindo os registros em uma lista, obtemos a coleção que será percorrida. Passo 2: Definir o fluxo da solução. Inicie soma = 0, contador = 0 e uma lista vazia de aprovados. Passo 3: Percorrer a lista. Para cada registro, some a nota à soma, incremente o contador e, se a nota for maior ou igual a 6, adicione o nome à lista de aprovados. Passo 4: Calcular a média como soma dividida pelo contador e imprimir a lista de aprovados e a média. Conteúdo mínimo do código em pseudocódigo: registros = lista de registros (nome, nota); soma = 0; contador = 0; aprovados = lista vazia; para cada r em registros faça soma = soma + r.nota; contador = contador + 1; se r.nota >= 6 então adicione r.nome em aprovados; fim para; media = soma / contador; imprima aprovados; imprima media. Passo 5: Por que as outras estão erradas. A: a matriz mistura textos e números na mesma estrutura e exige percorrer célula por célula, o que complica o código sem necessidade. C: o dicionário perde dados quando há nomes repetidos, pois chaves são únicas, e a questão pede uma solução que trate os registros corretamente. D: a árvore binária de ordenação é complexidade desnecessária, já que a tarefa exige apenas somar e filtrar, sem ordenar as notas. E: a planilha externa resolve o caso, mas não atende ao pedido de descrever a solução e construir o programa que automatiza a verificação. Passo 6: Conclusão. A alternativa B descreve o fluxo completo com a estrutura adequada, coincidindo com o gabarito oficial.
💡 Dica: Defina a estrutura de dados e a lógica do programa antes de codificar.
Alternativa por alternativa
Acredita que a matriz é a única forma de guardar nome e nota juntos, sem perceber que os tipos de dados são diferentes e que um registro expressa melhor essa relação.
Por que engana: Confundir estruturas de dados adequadas, como usar matriz para dados heterogeneos ou nao iterar corretamente para calcular media e aprovados.
A lista de registros facilita o acesso por aluno e a soma/contagem permanece simples. A solução descreve o fluxo de solução e o uso de uma estrutura apropriada.
Considera o dicionário a estrutura ideal para pares nome-nota, sem notar que nomes repetidos sobrescrevem entradas anteriores e que a média exige apenas percorrer os registros.
Associa qualquer cálculo sobre notas à necessidade de ordenação e de árvores, ignorando que a tarefa só exige somar, contar e filtrar.
Confunde automatizar com usar uma ferramenta externa, ignorando que a questão pede a construção de um programa com a solução descrita.
Raio-X da questão
programação e estruturas de dados
fixacao
estruturas de dados basicas · iteracao em listas
Revisar conceitos de listas e condicionais em programação.
Confundir estruturas de dados adequadas, como usar matriz para dados heterogeneos ou nao iterar corretamente para calcular media e aprovados.
pensamento_critico
cotidiano
Questões parecidas com resolução
- Descreva em pseudocódigo um algoritmo que recebe um conjunto de registros de alunos (nome, idade em anos, nota final com…
- Proponha um algoritmo em pseudocódigo que, dado um conjunto de registros de alunos com campos (nome, notas[3], faltas)…
- Na escola, um professor quer automatizar a classificação de alunos por nota final para formar um ranking. Descreva com…
- Descreva em pseudocódigo um algoritmo que, dada uma matriz de dados 'notas' (linhas = alunos, colunas = avaliações)…
- Descreva um algoritmo que classifica alunos em 'Aprovado' ou 'Reprovado', considerando a nota mínima de 6.
- Elabore em pseudocódigo um algoritmo que, dado um array de registros 'alunos' com campos (nome, notas[4]…
🔎 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
