milardovich

Anotaciones Parcial

Aug 17th, 2016
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.89 KB | None | 0 0
  1. /*
  2.  * Leer una lista y mostrarla en pantalla
  3.  */
  4. inicio:-write('Ingrese una lista de elementos:'), leer(Lista),write(Lista).
  5. leer([H|T]):-read(H),H\=[],leer(T).
  6. leer([]).
  7.  
  8. /*
  9.  * Mostrar su cabeza y su cola
  10.  */
  11. mostrarCabezaCola([H|T]):-write('Cabeza: '), write(H),nl,
  12.                           write('Cola: '), write(T).
  13.  
  14. /*
  15.  * Mostrar 2 primeros elementos
  16.  */
  17. mostrarLos2Primeros([H1|[H2|_]],Primero, Segundo):-Primero is H1,Segundo is H2.
  18. mostrarLos2Primeros(lista,Primero,Segundo).
  19.  
  20. /*
  21.  * Mostrar último elemento
  22.  */
  23. mostrarUltimo([H,[]],H).
  24. mostrarUltimo([_|T],U) :- mostrarUltimo(T,U).
  25.  
  26. /*
  27.  * Diferencia entre el primero y el último
  28.  */
  29. mostrarPrimero(L,P), mostrarUltimo(L,U), B is P-U, write B
  30.  
  31. /*
  32.  * Cuantos elementos
  33.  */
  34. cuantos([_|T],C) :- B is C+1, cuantos(T,B).
  35. cuantos([_|_],C) :- B is C+1, write(B).
  36.  
  37. /*
  38.  * Sumatoria
  39.  */
  40. sumatoria([H|T],C) :- B is C+H, sumatoria(T,B).
  41. sumatoria([H|_],C) :- B is C+H, write(B).
  42.  
  43.  
  44. /*
  45.  * Promedio
  46.  */
  47. promedio([H|T],S,C) :- B1 is S+H, B2 is C+1, promedio(T,B1,B2).
  48. promedio([_|_],S,C) :- P is S/C, write(P).
  49.  
  50. /*
  51.  * Pertenece
  52.  */
  53. pertenece(X,[H|_]):-X=H.
  54. pertenece(X,[_|T]):-pertenece(X,T).
  55.  
  56. /*
  57.  * Mayor
  58.  */
  59. mayor([],MayorActual):- write(MayorActual).
  60. mayor([H|T],MayorActual):- H > MayorActual, mayor(T,H).
  61. mayor([_|T],MayorActual):-mayor(T,MayorActual).
  62.  
  63. /*
  64.  * Concatenar
  65.  */
  66. concatenar([],[],[]).
  67. concatenar([H1|T1],L2,[H1|T3]):-concatenar(T1,L2,T3).
  68. concatenar([],[H2|T2],[H2|T3]):-concatenar([],T2,T3).
  69.  
  70. /*
  71.  * Intersección
  72.  */
  73. interesesEnComun(Usuario1,Usuario2,ListaIntereses):-intereses(Usuario1,L1),intereses(Usuario2,L2),interseccion(L1,L2,ListaIntereses).
  74. interseccion([],_,[]).
  75. interseccion([H,T1],L2,[H,T3]):-pertenece(H,L2), interseccion(T1,L2,T3).
  76. interseccion([_|T1],L2,L3):-interseccion(T1,L2,L3).
  77.  
  78. /*
  79.  * Findall
  80.  */
  81. usuariosCiudad(C):-findall(X,usuarios(_,X,C),Lista), write(Lista).
Advertisement
Add Comment
Please, Sign In to add comment