Operaciones sobre listas en Prolog

  • pertenece(X,[X|_]).
    pertenece(X,[_|Cola]) :- pertenece(X,Cola).
  • conc([],L,L).
    conc([X|L1],L2,[X|L3]) :- conc(L1,L2,L3).
  • anadir(X,L,[X|L]).
  • quitar(X,[X|Cola],Cola).
    quitar(X,[_|Cola],[X|L]) :- quitar(X,Cola,L).
  • insertar(X,L,[X|L]).
    insertar(X,[Y|L1],[Y|L2]) :- insertar(X,L1,L2).
  • sublist(S,L) :- conc(L1,L2,L),
    conc(S,L3,L2).
  • permutacion([],[]).
    permutacion([X|L],P) :- permutacion(L,P1),
    insertar(X,P1,P).

7 comentarios en «Operaciones sobre listas en Prolog»

    1. Hola la recursion es una forma de definir una funcion o una estructura a partir de si misma.
      El ejemplo mas comun en la serie de Fibonacci. En algunas ocaciones los problemas que se solucionan con recursion se pueden solucionar iterativamente lamentablemente en prolog es importante la recursion ya que de otra forma hay problemas que no se pueden solucionar. Algo importante sobre prolog es que es un lenguaje basado en el Modus Ponens y las clausulas de Hord.
      Una forma de entenderlo mejor es que el lenguajes se basa en Hechos y Reglas para poder trabajar. Espero sirva de algo.

  1. Hola, necesito hacer este proyecto en prolog, si alguien me pudiera ayudar…gracias de antemano…
    1. Proyecto Mapa de Cuba
    Se desea implementar un sistema en Prolog que simule a un mapa de Cuba.
    El usuario podrá:
    a) Consultar las capitales de las provincias y la de Cuba.
    b) Comprobar si una provincia dada existe, y si un municipio dado pertenece a una provincia dada.
    c) Comprobar si dos provincias son adyacentes y si dos municipios dados son adyacentes también.
    d) Camino de una provincia a otra, dada dos provincias devolver una lista con todas las provincias que tiene que atravesar para llegar de una a otra. Así mismo para dos municipios (si pertenecen a la misma provincia decir los municipios, en caso contrario decir las provincias).

Responder a nery Cancelar respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.