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

Você deve projetar um algoritmo para atribuir horários de aulas em uma escola. As variáveis principais são…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF07CO05

Criar algoritmos fazendo uso da decomposição e do reúso no processo de solução de forma colaborativa e cooperativa e automatizá-los usando uma linguagem de programação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Você deve projetar um algoritmo para atribuir horários de aulas em uma escola. As variáveis principais são turma, professor, sala e horário. Use decomposição: divida o problema em subproblemas, descreva cada subproblema e apresente pseudocódigo para as partes principais.

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

Resposta esperada

Proposta de decomposição e solução modelo: 1) Coleta de dados (entrada): funções para ler listas de turmas, professores, salas e restrições. Pseudocódigo: Função LerDados(): turmas ? lerTabela('turmas') profs ? lerTabela('professores') salas ? lerTabela('salas') restrições ? lerTabela('restricoes') retornar (turmas, profs, salas, restrições) 2) Geração de combinações iniciais (processamento): criar combinações possíveis de (turma, horário, sala, professor). Pseudocódigo: Função GerarCombinações(turmas, profs, salas, horarios): combinações ? listaVazia() para cada turma em turmas: para cada horário em horarios: para cada sala em salas: combinações.adicionar((turma, horário, sala)) retornar combinações 3) Validação de restrições (processamento): verificar conflito de professor/ sala e critérios específicos. Pseudocódigo: Função Validar(combinação, restrições, atribuiçõesAtuais): se professorDa(combinação) tem conflito em atribuiçõesAtuais então retornar falso se salaDa(combinação) não atende requisitos da turma então retornar falso se combinação viola restrições então retornar falso retornar verdadeiro 4) Otimização e seleção (processamento/decisão): escolher combinações válidas que maximizem critérios (distribuição justa, minimizar trocas). Pseudocódigo: Função Otimizar(combinaçõesValidas): ordenar combinaçõesValidas por prioridade (ex.: menor conflito, preferência de professor) retornar combinaçõesValidas 5) Atribuição e saída (integração): aplicar as combinações escolhidas e salvar o horário final. Pseudocódigo: Função AtribuirEGravar(combinaçõesOrdenadas): horáriosFinal ? mapaVazio() para cada combinação em combinaçõesOrdenadas: se Validar(combinação, restrições, horáriosFinal) então horáriosFinal.adicionar(combinação) gravar('horarios.csv', horáriosFinal) retornar horáriosFinal Comentários: cada subproblema pode ser testado isoladamente (LerDados, GerarCombinações, Validar, Otimizar, AtribuirEGravar). Essa decomposição permite alterar a estratégia de otimização sem tocar na leitura de dados ou na validação, facilitando manutenção e testes unitários.

Explicação

A decomposição proposta permite abordar o problema de forma estruturada, facilitando o entendimento e a implementação de cada parte do algoritmo. Cada subproblema é claramente definido e pode ser testado de forma independente, o que melhora a manutenibilidade do código. Além disso, a abordagem modular possibilita a adaptação de diferentes estratégias de otimização sem afetar outras partes do sistema.

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 atribuição

📌 Objetivo

fixacao

🧱 Pré-requisitos

noções de algoritmos · decomposição de problemas

📚 Reveja

Revisar conceitos de algoritmos e pseudocódigo.

⚠️ Erro mais comum

O aluno pode falhar em decompor o problema adequadamente, criando um algoritmo muito complexo ou confuso.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

criatividade

🏫 Contexto

cotidiano

Questões parecidas com resolução

Todas as questões de Estratégias de solução de problemas - Reúso

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