home *** CD-ROM | disk | FTP | other *** search
- module backt.
-
- /*$eject*/
- body.
-
- dynamic(x/1).
- dynamic(y/1).
-
- start(N) :-
- write("BACKTRACKING-TEST"), nl, nl, write(N), write(" * "),
- write(N),
- write(" Backtracking mit Zugriff auf die dynamische Daten$
- $basis ! "), nl, clear_db, write("Initialisierung..."),
- nl, init(N), nl, write("Start..."), nl, backt,
- write("...Ende."), nl .
-
- init(N) :-
- initloop(1,N) .
-
- initloop(N,N) :-
- assertz(x(N)), assertz(y(N)) .
- initloop(I,END) :-
- assertz(x(I)), assertz(y(I)), I1 is I+1, initloop(I1,END) .
-
- backt :-
- x(A), y(B), fail .
- backt .
-
- clear_db :-
- x(A), retract(x(A)), y(B), retract(y(B)), fail .
- clear_db .
-
- endmod /* backt */ .
-