Ir para conteúdo
Fórum Script Brasil
  • 0

Algoritmo de Geração de Horário


FELIPERM

Pergunta

Boa Tarde à todos,

Gostaria de saber se alguém pode me ajudar no desenvolvimento de um algoritmo para um programa escolar. Seguinte: Tenho um banco de dados em SQL Server com as respectivas tabelas feitas e já desenvolvido no Delphi as telas de cadstro (Turmas, Cursos, Professores). Como eu faço para que uma função/rotina pegue estas informações cadastradas e gere um horário para cada sala? Agradeço qualquer ajuda.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Caro Jhonas,

Desculpe-me pela má interpretação da mensagem. Devia ter sido mais específico. Olha, eu tenho já as telas de cadastro desenvolvidas, o banco de dados feito e conectado à aplicação, enfim está funcional exceto o fato de que a rotina não. O que desenvolvi foi o seguinte:

procedure TForm1.BtGerarClick(Sender: TObject);
var dia, aula : integer;
begin
CMD_SQL.Parameters.ParamByName('pprof').Value:= edt_prof.Text;
CMD_SQL.Parameters.ParamByName('paula').Value:= edt_aula.Text;
CMD_SQL.Parameters.ParamByName('pdia').Value:= edt_diasemana.Text;
while not Query.Eof= True do
begin
CMD_SQL.Execute;
CMD_SQL.Parameters.ParamByName('pturma').Value:= Query.Fields[0].AsInteger;
CMD_SQL.Parameters.ParamByName('pprof').Value:= 'Valor do Professor';
aula:= aula +1;
if aula= 6 //ideal colocar a qtde de aulas cadastradas
then
begin
dia:= dia +1;
Query.Next;
end
else
BtGerar.Click;
end;

Porém, não está completo. As tabelas são: Turmas, Professores, Grade(onde ficarão os registros pra geração do horário), matérias, cursos, ensinos, matérias_cursos e professores_matérias. O que eu gostaria é de uma ajuda para desenvolver a rotina mesmo. já tentei vários códigos e o que mais parece estar certo é o acima. Novamente, desculpe.

Link para o comentário
Compartilhar em outros sites

  • 0

Voce sabe fazer relacionamento entre tabelas ?

exemplo:

1 professor para N turmas

1 turma para N materias

etc...

Fazendo o relacionamento entre as suas tabelas, voce poderá montar a grade de cursos .... um campo em cada tabela deverá ser usado para fazer este relacionamento

Link para o comentário
Compartilhar em outros sites

  • 0

Eu sei fazer o relacionamento. Inclusive as tabelas estão relacionadas. A montagem da grade horária é que está complicada. Preciso desenvolver uma rotina que baseado nas informações contidas no Banco de Dados gere o horário para cada sala, lembrando sempre que o professor possui um horário disponível, matéria que leciona, quantidade máxima de aulas de uma matéria (Por exemplo, a sala de curso Técnico em Informática devem ter no máximo 3 aulas de Linguagem de Programação, A de Ensino básico não podem ter aulas técnicas, etc). A rotina acima me retorna o seguinte erro: string or binary data would be truncated você sabe dizer o q significa esta mensagem?

Link para o comentário
Compartilhar em outros sites

  • 0
A rotina acima me retorna o seguinte erro: string or binary data would be truncated você sabe dizer o q significa esta mensagem?

string ou dados binarios estão truncados

while not Query.Eof= True do
begin
CMD_SQL.Execute;
CMD_SQL.Parameters.ParamByName('pturma').Value:= Query.Fields[0].AsInteger;
CMD_SQL.Parameters.ParamByName('pprof').Value:= 'Valor do Professor';
aula:= aula +1;
if aula= 6 //ideal colocar a qtde de aulas cadastradas
then
begin
dia:= dia +1;
Query.Next;
end
else
BtGerar.Click;
end;

observe que o comando Query.Next só será executado quando a aula for = 6 .. enquanto isso voce estará executando

CMD_SQL.Execute mesmo antes de estar passando os parametros

voce deve executar a SQL depois que passar os parametros ( essa rotina esta errada ... verifique )

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...