%__________________________ % reglas para la suma %-------------------------- limpiaDatos:- dato(X), retract(dato(X)), fail. limpiaDatos:-!. inicio:- limpiaDatos, assert(dato(8)), assert(dato(7)), ciclo. cabezadeX([X], X):-!. comando([inserta]):- write('Inserta datos: '), readln(X), cabezadeX(X, Q), assert(dato(Q)). comando([borra]):- dato(X), retract(dato(X)). comando([salir]):- !, fail. comando([muestra]):- dato(Y), sformat(S, "~w", [Y]), writeln(S), fail. comando([muestra]):-!. comando([A]):- assert(contador(A)), !, contador(B), sformat(S, "B = ~w", [B]), writeln(S), limpia, writeln('limpia'), A1 is B -1, writeln('A1 is B-1'), assert(contador(A1)), sformat(S2, "A1 = ~w", [A1]), writeln(S2), A1 = 0, write('A1 = 0'), dato(X), write('dato(X)'), sformat(S5, "El elemento [~w] = ~w", [A, X]), writeln(S5). limpia:- contador(X), retract(contador(X)), fail. limpia:-!. ciclo:- write('Comando: '), readln(X), !, sformat(S, "~w", [X]), writeln(S), comando(X), ciclo. ciclo:-!. :- dynamic dato, contador. %assert(contador(0)).