Descreva em pseudocódigo um algoritmo que receba duas fontes de dados sobre alunos (um CSV onde o campo…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Classificar informações, agrupando-as em coleções (conjuntos) e associando cada coleção a um ‘tipo de dado’.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Descreva em pseudocódigo um algoritmo que receba duas fontes de dados sobre alunos (um CSV onde o campo 'idade' aparece como texto e um JSON onde 'idade' é numérico) e produza uma lista única de registros com tipos consistentes para a variável 'idade'. Explique validação, conversão, tratamento de ausentes e decisão do tipo final.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Resposta modelo (pseudocódigo e justificativa): 1) Ler ambas as fontes em estruturas separadas (lista_csv, lista_json). 2) Para cada registro em lista_csv: - remover espaços e normalizar separadores; - tentar converter campo 'idade' para inteiro: se string numérica (ex '15' ou ' 15 '), converter int(idade); - se string com decimal ('15.0' ou '15,0'), converter para inteiro após validar que parte fracionária é zero; - se texto por extenso ('quinze') tentar mapear por dicionário ou marcar como inválido; - se inválido, definir idade = null e registrar erro para revisão. 3) Para cada registro em lista_json: - validar tipo: se numérico inteiro aceitá-lo; se decimal validar se representa anos completos; - se tipo inesperado (string), aplicar as mesmas tentativas de conversão acima. 4) Unir registros por identificador único (ex.: matrícula) preferindo campos não nulos; ao mesclar 'idade' escolher valor convertido válido; se conflitante, priorizar fonte confiável ou marcar para revisão. 5) Decidir tipo final: definir 'idade' como inteiro (int) porque idade em anos é medida discreta; usar null para ausentes e evitar usar ponto flutuante. 6) Considerações de imputação: somente imputar média ou valor padrão se política escolar permitir, caso contrário manter null e registrar inconsistências. 7) Saída: lista_normalizada com 'idade' como int ou null; gerar relatório de conversões e problemas. Justificativa técnica: Preferir int para idade evita frações, facilita comparações e índices; conversões devem ser registradas para auditoria e imputações só aplicadas com critério. Observações práticas: usar funções de parsing robustas, testes unitários para casos limites (strings vazias, valores extremos) e validar com amostra antes de processar todo o conjunto.
Explicação
A abordagem apresentada garante a consistência dos dados ao normalizar e validar as idades de diferentes formatos, assegurando que apenas valores válidos sejam considerados. A decisão de usar inteiros para a idade reflete a natureza discreta dessa variável, evitando complicações com números decimais. Além disso, a inclusão de um processo de auditoria para conversões e tratamento de dados ausentes demonstra um compromisso com a qualidade e a integridade das informações.
Raio-X da questão
pseudocódigo e tipos de dados
avaliacao
pseudocódigo e tipos de dados · validação de dados
Revisar conversão de tipos e tratamento de dados ausentes.
O aluno pode confundir os tipos de dados e não realizar a conversão correta entre texto e número, resultando em erros na lista final.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Projete um algoritmo em pseudocódigo que receba uma lista de registros de alunos (campos: nome, idade, nota) como dado…
- Descreva em pseudocódigo um algoritmo que recebe um conjunto de registros de alunos (nome, idade em anos, nota final com…
- Projete um algoritmo em pseudocódigo que valide e serializa dados de matrícula escolar para uma API REST: verifique…
- Desenvolva um algoritmo em pseudocódigo que receba um conjunto de registros de sensores heterogêneos (cada registro…
- Projete um algoritmo em pseudocódigo que recebe uma coleção heterogênea de dados escolares (nomes, notas numéricas e…
- Descreva um algoritmo para validar, normalizar e escolher tipos de dados ao receber formulário com 'nome', 'telefone'…
🔎 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
