Prolog: pilas de elementos

2021-04-18 - Categorías: Inteligencia Artificial / Prolog
Prolog haciendo pilas de elementos
Prolog haciendo pilas de elementos..

Otro sencillo codekata en Prolog para hacer pilas de elementos. Esta es una continuación del post anterior. Las pilas de elementos son una de las estructuras básicas de programación. Son listas en las que simplemente se añaden elementos y se extraen por una parte, normalmente por la cabeza de la pila, o la cima también, como si fueran una pila de elementos apilados verticalmente.

El código fuente de una pila en Prolog

Siguiendo con los codekatas, podría quedar algo como la imagen del principio:

% Probando una pila en Prolog..

:- dynamic pila/1.

pila([1,2,3]).

escribePila :- 
    pila(X),
    listaElementosDeLaPila(X).

listaElementosDeLaPila([]).
listaElementosDeLaPila([Cabeza|Cola]) :- 
    write('Esto es un elemento de la pila: '),write(Cabeza),nl,
    listaElementosDeLaPila(Cola),
    true.

extraeDePila :-
    pila([Cabeza|Cola]),
    write(Cabeza),nl,
    retract(pila([Cabeza|Cola])),
    assert(pila(Cola)).

añadeEnPila :-
    write('¿Qué elemento quieres añadir?'),nl,
    read(NuevoElemento),
    retract(pila(X)),
    append([NuevoElemento], X, NuevaPila),
    assert(pila(NuevaPila)).

El añadido con respecto al post anterior es que usamos el predicado append que viene definido el Prolog. Este predicado append lo que hace es unir dos listas en una, en este caso definen pilas que es lo mismo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

© 2021 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.