Advertisement
Guest User

1

a guest
May 31st, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.88 KB | None | 0 0
  1. % utente 14 tem morada que ninguém pode conhecer
  2.  
  3. utente( 14, 'Rita', 27, morada_desconhecida).
  4. excecao(utente(IdUt, Nome, Idade, morada_desconhecido)) :-utente(IdUt, Nome, Idade, morada_desconhecido).
  5. nulo(morada_desconhecido).
  6. +utente(IdUt, Nome, Idade, Morada) :: (solucoes((IdUt, Nome, Idade, Morada), (utente(14, 'Rita', 27,Morada),nao(nulo(Morada))),S),
  7.                             comprimento( S,N ),
  8.                             N == 0).
  9.  
  10. % utente 15 tem nome que ninguém pode conhecer
  11.  
  12. utente(15, nome_desconhecido, 30, 'Guimaraes').
  13. excecao(utente(IdUt, Nome, Idade, Morada)) :- utente(IdUt, nome_desconhecido, Idade, Morada).
  14. nulo(nome_desconhecido).
  15. +utente(IdUt, Nome, Idade, Morada) :: (solucoes((IdUt, Nome, Idade, Morada), (utente(15,Nome, 30, 'Guimaraes'),nao(nulo(Nome))),S),
  16.                             comprimento( S,N ),
  17.                             N == 0).
  18.                            
  19. % cuidado dado ao Utente 8 pelo Prestador 1 teve um custo desconhecido e não se permite conhecer
  20.  
  21. cuidado(data(1, 1, 2011), 8,1,'Exames Sanguineos',custo_desconhecido).
  22. excecao(cuidado(data,IdUt,IdPrestador,Descricao,Custo)):-
  23.     cuidado(data,IdUt,IdPrestador,Descricao,custo_desconhecido).
  24. nulo(custo_desconhecido).
  25. +cuidado(data,IdUt,IdPrestador,Descricao,Custo)::( solucoes((data,IdUt,IdPrestador,Descricao,Custo), (cuidado(data(1, 1, 2011), 8, 1,'Exames Sanguineos',custo_desconhecido), nao(nulo(Custo))),S),
  26.                             comprimento( S,N ),
  27.                             N == 0).
  28.  
  29. % prestador 20 tem um medico com um nome que ninguém pode conhecer
  30.  
  31. prestador( 20,medico_desconhecido, 'TAC', 'Hospital da Luz').
  32. excecao(prestador(IdPrest, Nome, Especialidade, Instituicao)) :- prestador(IdPrest, medico_desconhecido, Especialidade, Instituicao).
  33. nulo(medico_desconhecido).
  34. +prestador(IdPrest, Nome, Especialidade ,Instituicao) :: ( solucoes((IdPrest, Nome, Especialidade, Instituicao), (prestador(20,Nome, 'TAC', 'Hospital da Luz'), nao(nulo(Nome))),S),
  35.                             comprimento( S,N ),
  36.                             N == 0).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement