home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l217 / 2.ddi / ANSWERS / ANS_248.PRO < prev    next >
Encoding:
Text File  |  1990-03-26  |  856 b   |  37 lines

  1. /*
  2.    PDC Prolog, Answer to Exercise on page 248.
  3.    
  4.    Copyright (c) 1986, 90 by Prolog Development Center
  5. */
  6.  
  7. Constants
  8.   conversion_factor = 180/3.14159265
  9.  
  10. Predicates
  11.   get_vals ( real )
  12.   list_vals ( real, real, real, real )
  13.   run
  14.  
  15. Clauses
  16.   run :-
  17.       makewindow(1,2,3, " Trig Table ", 0,0,25,80) ,
  18.         write("  Angle\t\tSine\t\t Cosine\t\t  Tangent\n"),
  19.         write("  =====\t\t====\t\t ===== \t\t  =======\n"),nl,
  20.         get_vals(0).
  21.  
  22.   get_vals(Deg):-
  23.         Deg < 361, !,
  24.         Rad = Deg / ( conversion_factor ),
  25.         Sine = sin(Rad),
  26.         Cosine = cos(Rad),
  27.         Tangent = tan(Rad),
  28.         list_vals(Deg,Sine,Cosine,Tangent),
  29.         NewAngle = Deg + 15,
  30.         get_vals(NewAngle).
  31.   get_vals(_).        
  32.  
  33.   list_vals(A,B,C,D):-
  34.         writef("%4%18.6%18.6%18.6\n",A,B,C,D).
  35.  
  36. Goal
  37.   run.