home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1988 / 01 / prolog / backt.pro next >
Encoding:
Text File  |  1987-11-03  |  731 b   |  34 lines

  1. module backt.
  2.  
  3. /*$eject*/
  4. body.
  5.  
  6. dynamic(x/1).
  7. dynamic(y/1).
  8.  
  9. start(N) :- 
  10.      write("BACKTRACKING-TEST"), nl, nl, write(N), write(" * "), 
  11.        write(N), 
  12.        write(" Backtracking mit Zugriff auf die dynamische Daten$
  13.            $basis ! "), nl, clear_db, write("Initialisierung..."), 
  14.        nl, init(N), nl, write("Start..."), nl, backt, 
  15.        write("...Ende."), nl .
  16.  
  17. init(N) :- 
  18.      initloop(1,N) .
  19.  
  20. initloop(N,N) :- 
  21.      assertz(x(N)), assertz(y(N)) .
  22. initloop(I,END) :- 
  23.      assertz(x(I)), assertz(y(I)), I1 is I+1, initloop(I1,END) .
  24.  
  25. backt :- 
  26.      x(A), y(B), fail .
  27. backt .
  28.  
  29. clear_db :- 
  30.      x(A), retract(x(A)), y(B), retract(y(B)), fail .
  31. clear_db .
  32.  
  33. endmod /* backt */  .
  34.