home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / prolog / library / prolo_c / exampl21.pro < prev    next >
Text File  |  1986-10-06  |  733b  |  28 lines

  1. /* Program 21 */
  2. /*
  3.   This program display the compound object:
  4.   plus(mult(X,number(99)),mult(number(3),x))
  5.                   as:
  6.                x*99+3*x     
  7. */               
  8.  
  9. domains
  10.     expr = number(integer) ; x ; log(expr) ;
  11.             plus(expr,expr) ; mult(expr,expr)
  12. predicates
  13.     writeExp(expr)
  14.  
  15. goal
  16.     clearwindow,
  17.     writeExp(plus(mult(x,number(99)),mult(number(3),x))).
  18.  
  19. clauses
  20.     writeExp(x)          :- write('x').
  21.     writeExp(number(No)) :- write(No).
  22.     writeExp(log(Expr))  :-
  23.         write("log("),writeExp(Expr),write(')').
  24.     writeExp(plus(U1,U2)):-
  25.         writeExp(U1), write('+'), writeExp(U2).
  26.     writeExp(mult(U1,U2)):-
  27.         writeExp(U1), write('*'), writeExp(U2).
  28.