Prolog: cómo hacer un contador

2021-04-17 - Categorías: Inteligencia Artificial / Prolog

Otro sencillo codekata o howto en Prolog para hacer una utilidad interesante, un contador. En Prolog no tenemos variables como tal que puedan almacenar valores en el tiempo, sólo almacenan valores en el momento en que estamos en una regla. Así que tenemos que usar predicados para enlazar valores, y simular así el comportamiento normal de una variable, tal y como se haría en otros lenguajes más conocidos como los iterativos normales.

Simplemente se declara un predicado de un parámetro, llamado contador() que se dedicará a guardar el valor actual. Entonces para sumarle unidades al contador hay que sacar su valor, sumarle uno, y luego volver a guardarlo. Todo queda tal que así:

% Cómo hacer un contador en Prolog..

:- dynamic contador/1.

contador(0).

suma :- 
    contador(X),
    Y is X + 1,
    retractall(contador(_)),
    assert(contador(Y)). 

escribeValorContador :-
    contador(X),
    write('El contador ahora mismo vale: '),
    write(X),
    nl.

Se declara el predicado contador como dinámico para poder hacer retractall y assert.

Deja una respuesta

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

 

© 2024 JnjSite.com - MIT license

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