Advertisement
karlangadas

operatingSYstem

Sep 15th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.71 KB | None | 0 0
  1.  
  2. indice(lunes,1).
  3. indice(martes,2).
  4. indice(miercoles,3).
  5. indice(jueves,4).
  6. indice(viernes,5).
  7.  
  8. respuesta(L):-
  9.     nombres = [ harvey, john, elliot, george, michael],
  10.     apellidos = [ almond, crawford, grace, maxwell, bixby],
  11.     areas = [ finance, manufacturing, customerservice, marketing, engineering],
  12.     sis = [ apple, windows],
  13.  
  14.  
  15.     select(N1,nombres,J1),
  16.     select( michael,J1,J2),
  17.     select(N3,J2,J3),
  18.     select(N4,J3,J4),
  19.     select(N5,J4,_),
  20.  
  21.     select(A1, apellidos,K1),
  22.     select(A2,K1,K2),
  23.     select(A3,K2,K3),
  24.     select(A4,K3,K4),
  25.     select(A5,K4,_),
  26.  
  27.     select(R1, areas, M1),
  28.     select(R2,M1,M2),
  29.     select(R3,M2,M3),
  30.     select(R4,M3,M4),
  31.     select( engineering,M4,_),
  32.  
  33.     member(S1,sis),
  34.     member(S2,sis),
  35.     member(S4,sis),
  36.     member(S5,sis),
  37.  
  38.     L1 = [ lunes,N1,A1,R1,S1],
  39.     L2 = [ martes,michael,A2,R2,S2],
  40.     L3 = [ miercoles,N3,A3,R3, apple],
  41.     L4 = [ jueves,N4,A4,R4,S4],
  42.     L5 = [ viernes,N5,A5, engineering,S5],
  43.  
  44.     L = [L1,L2,L3,L4,L5],
  45.  
  46.     %% (dia, nombre, apellido, area, sistemaop)
  47.  
  48.     member([_,_,_, finance, windows],L),
  49.     member([_,_, almond,_, windows],L),
  50.     member([_, harvey,_,_, windows],L),
  51.  
  52.     \+ member([_, john, crawford,_,_],L),
  53.         member([_, john,_, customerservice,_],L),
  54.     \+ member([_,_, grace,_, manufacturing,_],L),
  55.  
  56.     member([DiaM,_, maxwell,_, apple],L),
  57.     member([DiaE, elliot,_,_, windows],L),
  58.     \+ member([_, harvey,_, marketing,_],L),
  59.     member([DiaC,_,_, marketing,_],L),
  60.     indice(DiaM,X),
  61.     indice(DiaE,Y),
  62.     indice(DiaC,Z),
  63.  
  64.     X1 is X+1,
  65.     X1 =:= Y,
  66.     X2 is Z-2,
  67.     X2 =:= Z,
  68.  
  69.     \+ member([_, elliot, crawford,_,_],L),
  70.     \+ member([_,_, crawford, engineering,_],L),
  71.  
  72.     \+ member([_, michael,_, marketing,_],L),
  73.     \+ member([ viernes, george, bixby, engineering,_],L),
  74.     member([_, george, bixby,_,_],L).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement