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

Você recebeu um algoritmo que processa fluxo de dados de sensores em rede; leitura, validação, transformação e…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO04

Aplicar a estratégia de decomposição para resolver problemas complexos, dividindo esse problema em partes menores, resolvendo-as e combinando suas soluções.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Você recebeu um algoritmo que processa fluxo de dados de sensores em rede; leitura, validação, transformação e armazenamento estão implementadas em um único módulo e usam variáveis globais para configuração. Elabore um plano para tornar o algoritmo reutilizável em plataformas embarcadas e em nuvem, descrevendo decomposição em módulos, contrato de interface de dados, manejo de estado, parametrização e estratégia de testes.

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

Resposta esperada

Plano modelo: 1) Decomposição em módulos: separar em Reader (entrada de pacotes/sockets), Validator (schema/valores), Transformer (normalização/filtragem) e Persister (adapters para DB, arquivo ou fila). Cada módulo exponha funções pequenas com responsabilidades únicas. 2) Contrato de interface de dados: definir um formato de mensagem claro (JSON ou protobuf) com campos obrigatórios/opcionais e versões; documentar exemplos e formato de erro. Usar versionamento semântico da interface. 3) Manejo de estado: evitar variáveis globais; injetar configuração e contexto via parâmetros ou um objeto de contexto; tornar os módulos stateless sempre que possível; encapsular estado local (p.ex. buffer de leitura) dentro do módulo responsável. 4) Parametrização: mover configurações para variáveis de ambiente ou arquivos de configuração e usar dependency injection para passar adaptadores (ex.: storage adapter). Fornecer valores padrão e validação de configuração. 5) Adaptação a plataformas: implementar adaptadores finos para I/O (drivers leves para embarcados, SDKs para nuvem) e ajustar política de lote/tempo conforme recursos; otimizar memória em embarcados (processamento em streaming) e usar paralelismo em nuvem. 6) Testes e garantia de qualidade: escrever testes unitários por módulo, testes de contrato entre Reader/Validator/Transformer, testes de integração com adaptadores reais ou mocks; adicionar testes de performance e consumo de memória para ambientes embarcados; usar um conjunto de fixtures que simule falhas de rede e dados corrompidos. 7) Implantação e documentação: publicar API/contratos, exemplificar uso com samples, versionar releases e manter changelog; automatizar CI com lint, testes unitários e testes de integração. Resultado: arquitetura modular, interfaces documentadas, configuração externalizada e suíte de testes que permite reaproveitar o processamento tanto em dispositivos restritos quanto em ambientes escaláveis na nuvem.

Explicação

A proposta apresentada organiza o algoritmo em módulos com responsabilidades bem definidas, o que facilita a manutenção e a reutilização em diferentes plataformas. A definição de contratos de interface e a parametrização garantem que o sistema seja flexível e adaptável a diversas configurações e ambientes. Além disso, a ênfase em testes assegura a qualidade e a robustez do sistema, permitindo um desempenho confiável tanto em dispositivos embarcados quanto em nuvem.

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

modularização de algoritmos

📌 Objetivo

avaliacao

🧱 Pré-requisitos

modularização de algoritmos · programação em módulos

📚 Reveja

Revisar conceitos de modularização e interfaces em programação.

⚠️ Erro mais comum

O aluno pode falhar em identificar a importância da decomposição em módulos, propondo uma solução que ainda utiliza variáveis globais, comprometendo a reutilização do algoritmo.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Decomposiçã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.