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

Recebe-se uma matriz M (m×n) de registros de alunos (nome, nota). Descreva um algoritmo em pseudocódigo para…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF06CO04

Construir soluções de problemas usando a técnica de decomposição e automatizar tais soluções usando uma linguagem de programação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Recebe-se uma matriz M (m×n) de registros de alunos (nome, nota). Descreva um algoritmo em pseudocódigo para detectar e remover linhas com registros inválidos (nome vazio ou nota <0 ou >10) e discuta por que escolher lista encadeada ou matriz conforme a frequência de remoções. Indique complexidade do processo.

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

Resposta esperada

Percorrer M linha a linha: para cada registro verificar if nome = "" ou nota <0 ou nota>10; marcar índice inválido. Se número de remoções pequeno, remover diretamente da matriz (shift de linhas) com custo O(m·n) no pior caso; pseudocódigo: para i de 1 a m se inválido então removerLinha(i). Se remoções frequentes, converter M em lista ligada de registros e ao detectar inválido executar remoção O(1) ajustando ponteiros, depois opcionalmente reconstruir matriz. Complexidade: verificação O(m·n); remoções em matriz podem exigir O(m·n) por remoção por deslocamento; em lista, remoções O(1) cada, total O(m·n) pela verificação mais O(k) pelas remoções, onde k é número de registros removidos.

Explicação

A solução proposta aborda a verificação de cada registro de forma sistemática, garantindo que todas as condições de validade sejam checadas. A escolha entre matriz e lista encadeada é fundamentada na frequência de remoções, onde a lista encadeada oferece eficiência em remoções frequentes, enquanto a matriz pode ser mais prática para um número reduzido de remoções. A análise de complexidade é clara, diferenciando os custos de operações em cada estrutura de dados, o que é essencial para entender a eficiência do algoritmo.

Raio-X da questão

Dificuldade Difícil
Bloom Analisar
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

algoritmo de validação

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estrutura de dados · pseudocódigo

📚 Reveja

Revisar conceitos de estruturas de dados e complexidade de algoritmos.

⚠️ Erro mais comum

O aluno pode confundir a lógica de remoção de elementos em uma lista encadeada com a de uma matriz, levando a uma implementação incorreta do algoritmo.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Estratégias de solução de problemas - 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.