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

Descreva em pseudocódigo um algoritmo que una duas matrizes de registros: 'alunos' (cada linha: [id, nome]) e…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF06CO06

Comparar diferentes casos particulares (instâncias) de um mesmo problema, identificando as semelhanças e diferenças entre eles, e criar um algoritmo para resolver todos, fazendo uso de variáveis (parâmetros) para permitir o tratamento de todos os casos de forma genérica.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Descreva em pseudocódigo um algoritmo que una duas matrizes de registros: 'alunos' (cada linha: [id, nome]) e 'notas' (cada linha: [id, disciplina, nota]). O algoritmo deve produzir a matriz 'relatorio' onde cada linha é [id, nome, disciplina, nota]. Para alunos sem notas, incluir uma linha com disciplina = null e nota = null. Indique também como tratar notas cujo id não exista em 'alunos'.

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

Resposta esperada

// Pseudocódigo (solução modelo) relatorio <- [] // matriz resultado nomes <- mapa vazio // mapa id -> nome para cada aluno em alunos: nomes[aluno.id] <- aluno.nome vistos <- conjunto vazio // ids que já apareceram em notas // Processa todas as notas, criando linhas unidas para cada registro nota em notas: se existe nomes[nota.id] então nome <- nomes[nota.id] senão nome <- null // id de nota não encontrado fimse adicionar [nota.id, nome, nota.disciplina, nota.nota] em relatorio adicionar nota.id em vistos fimpara // Garante que alunos sem nota tenham uma linha com disciplina=null e nota=null para cada aluno em alunos: se aluno.id NÃO está em vistos então adicionar [aluno.id, aluno.nome, null, null] em relatorio fimse fimpara // Observações sobre ids ausentes: // - Notas com id não presente em 'alunos' são mantidas com nome = null (ou podem ser descartadas, // dependendo da política do sistema). Esta implementação preserva a informação da nota. // Complexidade: construir o mapa é O(A), processar notas é O(N), completar alunos sem nota é O(A); total O(A+N).

Explicação

O algoritmo utiliza um mapa para associar os IDs dos alunos aos seus nomes, permitindo uma busca eficiente durante o processamento das notas. Ele garante que todos os alunos sejam incluídos no relatório, mesmo aqueles sem notas, ao verificar quais IDs já foram vistos. Além disso, a abordagem mantém as notas de alunos não registrados, atribuindo-lhes um nome nulo, o que preserva a informação sem perder dados relevantes.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
Leitura medio
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

algoritmo de união de matrizes

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estrutura de dados · pseudocódigo

📚 Reveja

Revisar conceitos de matrizes e pseudocódigo.

⚠️ Erro mais comum

O aluno pode esquecer de incluir a verificação para alunos sem notas, resultando em uma matriz incompleta.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

criatividade

🏫 Contexto

abstrato

Questões parecidas com resolução

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

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.