GeraProva GeraProva Provas com IA para professores do Brasil
Computação8º anoBNCC EF08CO04Difícil⏱ longo

Projete um algoritmo em pseudocódigo que valide e serializa dados de matrícula escolar para uma API REST…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF08CO04

Construir soluções computacionais de problemas de diferentes áreas do conhecimento, de forma individual e colaborativa, selecionando as estruturas de dados e técnicas adequadas, aperfeiçoando e articulando saberes escolares.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete um algoritmo em pseudocódigo que valide e serializa dados de matrícula escolar para uma API REST: verifique formato do campo 'turma' (letras maiúsculas seguidas de número), normalize nome do aluno, gere JSON válido; descreva também tratamento de erros e casos de teste unitários. Use os termos 'serialização', 'JSON' e 'validação'.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Entrada: objeto com campos {matricula, nome, turma}. Passos: 1) Validação: checar matrícula numérica com regex ^\d{6}$; se inválida, retornar erro 400 com mensagem. 2) Validar 'turma' com regex ^[A-Z]+\d+$ (ex.: 'A3'); normalizar removendo espaços e convertendo letras para maiúsculas. 3) Normalizar 'nome': trim, substituir múltiplos espaços por um, aplicar Title Case (primeira letra maiúscula). 4) Construir objeto serializável: {id: matricula, nomeNormalizado, turma: turmaValida}. 5) Serialização: converter para JSON com biblioteca (ex.: json.stringify(obj)). 6) Tratamento de erro: capturar exceções de parsing/serialização, retornar códigos HTTP adequados (400 para validação, 500 para erro interno) e mensagens claras. 7) Testes unitários sugeridos: casos positivos (dados válidos), casos negativos (matrícula curta, turma com caractere inválido, nome vazio), testes de normalização (nome com espaços extras, letras minúsculas), e teste de serialização que valida JSON produzido. Observações de implementação: usar funções separadas (validarMatricula, validarTurma, normalizarNome, serializar) para modularidade e facilitar mocks em testes.

Explicação

A resposta apresenta um fluxo lógico que abrange todas as etapas necessárias para validar e serializar os dados de matrícula escolar, garantindo que cada campo seja tratado adequadamente. A inclusão de tratamento de erros e sugestões de testes unitários demonstra uma abordagem completa e robusta, essencial para a construção de uma API confiável. Além disso, a modularidade proposta facilita a manutenção e a testabilidade do código, aspectos fundamentais em desenvolvimento de software.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

validação e serialização

📌 Objetivo

avaliacao

🧱 Pré-requisitos

pseudocódigo · formato JSON

📚 Reveja

Revisar conceitos de algoritmos, JSON e tratamento de erros.

⚠️ Erro mais comum

O aluno pode esquecer de incluir a validação do formato do campo 'turma', resultando em dados inválidos sendo processados.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

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