Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

20_LESI

Datas em Prolog

Mensagens Recomendadas

20_LESI

Estou a iniciar-me nesta linguagem e tenho de entregar já um trabalho complicado na próxima 2ª feira. Estamos com alguns problemas na forma de lidar com as datas, nomeadamente em calcular a diferença entre duas datas. Alguém pode dar uma ajuda, ou arranjar trechos de código que sirvam para nos guiar?

Muito obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
20_LESI

Ia postar o que temos, mas está tudo mal. Daqui a bocado quando tivermos alguma coisa posto! Brigadão!

EDIT: Após algumas horas conseguimos fazer a função. Aqui fica o código:

%%%% Converte uma data em minutos %%%%
%dataToMin: Data, Hora:Min, variável onde vai ser guardado o resultado -> {V,F}
dataToMin(Dia/Mes/Ano, Hora:Min, Int) :- H is Hora*60,
									 D is (Dia-1)*1440,
									 M is (Mes-1)*43800,
								         A is Ano*525600,
									 Res is (H+D+M+A+Min),
									 Int is Res.

%%%% Subtrair duas datas e apresentar o resultado em minutos %%%%
%subtrairDatas: Data a subtrair, Hora a subtrair, Data à qual vai ser subtraída, Hora à qual vai ser subtraída, variável onde vai ser guardado o resultado -> {V,F}
subtrairDatas(D1,H1, D2,H2, R) :- dataToMin(D1, H1, X),
							  dataToMin(D2, H2, Y),
							  R is Y-X.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.