home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l210 / 1.ddi / ANSWERS.ARC / ANS_248.PRO < prev    next >
Encoding:
Text File  |  1988-06-21  |  863 b   |  37 lines

  1. /*
  2.    Turbo Prolog 2.0, Answer to Exercise on page 248.
  3.    
  4.    Copyright (c) 1986, 88 by Borland International, Inc
  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.