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

Elabore um algoritmo em pseudocódigo que receba uma matriz de registros 'sala' (linhas = salas, colunas =…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO02

Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Elabore um algoritmo em pseudocódigo que receba uma matriz de registros 'sala' (linhas = salas, colunas = períodos) em que cada registro tem: idSala (inteiro), alunos (vetor ordenado por chegada) e capacidade (inteiro). O algoritmo deve redistribuir alunos quando o número de alunos em um período exceder a capacidade, buscando vagas em outras salas no mesmo período, mantendo a ordem de chegada e sem perder registros.

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

Resposta esperada

Algoritmo Redistribuir(salas, linhas, cols) Para c de 0 até cols-1: criar filaExtras vazia // coletar excedentes mantendo ordem de chegada Para r de 0 até linhas-1: enquanto tamanho(salas[r][c].alunos) > salas[r][c].capacidade: idx := salas[r][c].capacidade // posição (0-based) do primeiro excedente aluno := removerEm(salas[r][c].alunos, idx) enfileirar(filaExtras, aluno) // preencher vagas com a fila de excedentes Para r de 0 até linhas-1: enquanto tamanho(salas[r][c].alunos) < salas[r][c].capacidade e not vazia(filaExtras): aluno := desenfileirar(filaExtras) anexar(salas[r][c].alunos, aluno) Fim Para Observações: removerEm(..., capacidade) retira o primeiro aluno que excede a vaga, preservando a ordem de chegada dos excedentes; a fila temporária mantém a sequência ao redistribuir, evitando perda de dados.

Explicação

O algoritmo implementa uma lógica eficiente para redistribuir alunos entre salas, garantindo que a ordem de chegada seja preservada ao utilizar uma fila temporária. A coleta de excedentes e a redistribuição são feitas em duas etapas, permitindo que as salas sejam preenchidas até sua capacidade máxima sem perder registros. Essa abordagem assegura que todos os alunos sejam considerados e alocados adequadamente, respeitando as limitações de cada sala.

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

algoritmo de redistribuição

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estrutura de dados · algoritmos de busca

📚 Reveja

Revisar conceitos de matrizes e algoritmos de busca.

⚠️ Erro mais comum

O aluno pode confundir a lógica de redistribuição, não mantendo a ordem de chegada dos alunos ao mover para outras salas.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Algoritmos

🔎 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.