Descreva como decompor e generalizar a solução para um algoritmo que recebe como entrada uma lista de notas de…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Identificar os recursos ou insumos necessários (entradas) para a resolução de problemas, bem como os resultados esperados (saídas), determinando os respectivos tipos de dados, e estabelecendo a definição de problema como uma relação entre entrada e saída.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Descreva como decompor e generalizar a solução para um algoritmo que recebe como entrada uma lista de notas de alunos (cada registro contém aluno_id, turma, nota) e retorna, para cada turma, a média arredondada das notas (saída). Indique: (a) as subrotinas da decomposição, (b) os tipos de dados de entrada e saída, e (c) como generalizar para calcular outras estatísticas reutilizando subrotinas.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
(a) Decomposição em subrotinas: 1) parse_registros(lista) -> lista de registros estruturados; 2) agrupar_por_chave(lista, extrai_chave) -> mapa chave -> lista de registros; 3) agregar(lista_valores, agrega) -> valor_agregado; 4) arredondar(valor) -> inteiro. (b) Tipos: entrada: lista de registros {aluno_id: string, turma: string, nota: float}; saída: mapa (turma:string -> média: float/int). (c) Generalização e reúso: parametrizar a etapa de agregação passando uma função agrega (ex.: media, mediana, desvio); reutilizar agrupar_por_chave para outras chaves (ex.: professor) e usar agregar com diferentes funções de redução; assinatura genérica exemplo: processa(registros:list, extrai_chave:function, agrega:function) -> map. Essa estrutura permite decompor responsabilidade, testar subrotinas isoladamente e reutilizá-las para outras estatísticas.
Explicação
A resposta apresenta uma decomposição lógica e clara do problema, dividindo-o em subrotinas que facilitam a compreensão e a implementação do algoritmo. Os tipos de dados de entrada e saída são bem definidos, o que ajuda na validação e no controle de tipos durante a execução. A generalização proposta permite a reutilização das subrotinas para calcular diferentes estatísticas, aumentando a flexibilidade e a eficiência do código.
Raio-X da questão
algoritmos e estatísticas
avaliacao
estruturas de dados · funções e subrotinas
Revisar conceitos de algoritmos e estruturas de dados.
O aluno pode descrever a solução de forma muito específica, sem considerar a generalização para outras estatísticas.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Projete um algoritmo generalizado que receba uma coleção de registros de alunos com notas em várias disciplinas e…
- Descreva como você utilizaria a decomposição para resolver um problema de programação de um algoritmo que calcula a…
- Projete um algoritmo recursivo em pseudocódigo que, dada uma lista de registros 'alunos' onde cada registro tem campos…
- Descreva como criar um algoritmo que resolva um problema de cálculo de média para um conjunto de notas de um aluno. Como…
- Dada a importância da generalização em algoritmos, como criar um algoritmo que calcule a média de notas para diferentes…
- Descreva com precisão o algoritmo e as estruturas de dados (registros, matrizes e listas) para um programa que recebe N…
Todas as questões de Estratégias de solução de problemas - Generalizaçã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
