check_determ
/* 
  Questo è un programma di grafica,
 che richiede una scheda colore CGA o EGA.  
*/
database
  radice2(real)

predicates
  drago(real, integer, integer)
  int_real(integer, real)

goal
  R = sqrt(2.0),
  assertz(radice2(R)),
  graphics(1,2,112), 
  penpos(4500, 18000, 180),
  drago(15000.0, 0, -1).

clauses
  drago(L, A, Segno) :-
    L > 150.0,
    radice2(R),!,
    L1 = L / R,
    A1 = A + 45 * Segno, A2 = A - 45 * Segno,
    !,drago(L1, A1, 1),!,drago(L1, A2, -1).
  drago(L, A, _) :-
    penpos(X, Y, _),
    penpos(X, Y, A),
    random(CR), C=CR*7+1, int_real(Co,C),
    pencolor(Co),   
    int_real(Len, L),
    forward(Len).

  int_real(I, R) :-
     I=R.

ritorna