Switch to full style
Responder

logica para criação de um horario

24 dez 2016, 20:51

Estou estudando C++ (linguagem desktop) e preciso de ajuda para criar um programa, se eu conseguir eu posto os resultados aqui.
O programa é para criar uma distribuição de carga horaria para professores. Os valores que estou pedindo no programa são:
Quantidade de aulas por DIA
Quantidade de aulas por SEMANA
Quantidade TOTAL de professores disponiveis (talvez nem seja necessário)
Quantidade de materias. (Ex: O usuario quer fazer um horario para o ensino fundamental e ele informa que tem 8 matérias: matemática, português, ciência, geografia, historia, ed.fisica, arte, inglês.)
Quantidade de TURMAS, no caso, quantidade de turmas para aquele horario.
O que eu to pedindo ajuda de vocês aqui é: Como eu posso calcular isso para criar um horario de aula, lembrando que: Não podem haver maior quantidade de aula na mesma hora que a quantidade de professores, exemplo: existem 3 professores de matematica, logo, apenas 3 turmas podem ter matematica ao mesmo tempo, se houver mais, uma turma vai ficar sem professor.

Toda ajuda é bem vinda :)
Se eu postei em área errada, me desculpem, primeiro post.

Re: logica para criação de um horario

27 dez 2016, 20:10

Este é um problema NP-completo. Existem bons algoritmos para a criação de horários espalhados por toda a internet. É necessário pesquisar. Mas este problema exige um algoritmo complexo e para implementar é necessário ter um conhecimento razoável na área da algoritmia, estrutura de dados e teoria dos grafos. Se está a tentar fazer de raiz sem pesquisar posso avançar que é um problema bastante difícil, pelo menos no que toca à eficiência. Trocado por miúdos o algoritmo mais simples de se programar é testar cada possibilidade uma a uma e verificar se é uma possibilidade viável. No entanto é o pior em termos de eficiência.
Responder