Listas en prolog

Páginas: 4 (783 palabras) Publicado: 2 de julio de 2011
Listas en Prolog

Las listas son estructuras de datos muy poderosas para almacenar y manipular conjunto de términos. Se trata de un par ordenado donde cada componente es un término, una lista o eltérmino NIL (que es la lista vacía y se escribe []). La primer componente de la lista se llama cabeza de la lista y la segunda cola.
Estructura de una lista
Una lista en Prolog (como en casicualquier lenguaje que use listas) se divide en dos partes:
Cabeza. Es el primer elemento de la lista. Puede ser un átomo o una lista, pero a fin de cuentas es el primer elemento de la lista original.Cola. Es el resto de los elementos de una lista, es de nuevo una lista.
Ejemplos:
(1) L=[perro, gato, raton, queso]
(a) cabeza= perro
(b) cola=[gato, raton, queso]
(2) L=[[perro, gato], [raton,queso]]
(a) cabeza=[perro, gato]
(b) cola=[[raton, queso]]
(3) L=[perro]
(a) cabeza=perro
(b) cola=[] la lista vacía
(4) L=[]
(a) cabeza= NO
(b) cola=[] la lista vacía

Manejo del contenido delas listas
Se destaca el uso de las listas para determinar la existencia de un elemento en la lista e incluso el uso de recursividad.
En primer lugar, la existencia de un elemento en la lista sepuede verificar con una regla como: pertenece(E,L):-L=[E| ]. Que dice que el elemento E pertenece a la lista L si L se puede hacer teniendo una lista cuya cabeza sea E y cualquier cola, incluso la listavacía.
Pero esto solamente nos asegura la pertenencia de la cabeza de la lista, no si un elemento está dentro de ella. Para esto se necesita una segunda cláusula recursiva: pertenece(E,[|T]):-pertenece(E,T). Es decir “un elemento E pertenece a una lista compuesta de cualquier cabeza y una cola T, si ese mismo elemento E es la cabeza del resto de la lista T”.
Así se tiene el siguiente programa enProlog que verifica la pertenencia de un elemento en una lista:
pertenece(E,L):-L=[E|_].
pertenece(E,[_|T]):-pertenece(E,T).
:-pertenece(E,[a,b,c,d,e].)
Uso de la pertenencia para definir otras...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • listas en prolog
  • Listas en prolog
  • Operacion con listas prolog
  • IA Listas Prolog
  • Listas en visual prolog
  • Prolog
  • prologo
  • Prologo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS