home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1992 April / 1992-04.d64 / log(x).tan (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  2KB  |  57 lines

  1. 100 rem -- log(x).tan --
  2. 105 print"[147]"
  3. 110 print"output to screen or printer (s/p)    s[157][157][157]";:inputa$
  4. 115 if a$="s" then z=1.33:z1=0:z2=26.4:goto130:rem values for screen output
  5. 120 if a$<>"p" then110
  6. 125 z=1.208:z1=2.01:z2=38.24:rem values for printer output
  7. 130 verify 1:let0,1
  8. 135 cont
  9. 140 rem -- set up constants --
  10. 145 xt=z2:yt=100:rem sets coordinates
  11. 150 ys=0:xs=z2:rem start of divisions pn coordinates
  12. 155 ex=50*z:ey=50:rem expansion factors for x and y coordinates
  13. 160 rem -- calibrate x coordinates --
  14. 165 forx=xs to319 step5*z
  15. 170 y=yt:waitx,y:nextx
  16. 175 forx=xs to319 step10*z
  17. 180 fory=yt-1 to yt+1:waitx,y:nexty:nextx
  18. 185 forx=z2to319 step50*z
  19. 190 fory=yt-2 to yt+2:waitx,y:nexty:nextx
  20. 195 rem -- calibrate y coordinates --
  21. 200 for y=ysto199 step5
  22. 205 x=xt:waitx,y:nexty
  23. 210 for y=ys to 199 step 10
  24. 215 for x=xt-1 to xt+1:waitx,y:nextx:nexty
  25. 220 for y=ys to 199 step50
  26. 225 for x=xt-3 to xt+3:waitx,y:nextx:nexty
  27. 249 rem -- y=log(x) graph & tangent --
  28. 250 for x=.6 to 4 step .02
  29. 260 y=1/x
  30. 270 x1=ex*x+xt:y1=ey*y+yt:waitx1,y1:nextx
  31. 280 for x=.3 to 4 step .02
  32. 290 y=log(x)
  33. 300 x1=ex*x+xt:y1=ey*y+yt:waitx1,y1:nextx
  34. 310 for a=1 to 2.5 step 1.5
  35. 325 m=1/a
  36. 330 for x=-.6 to .6 step .005
  37. 335 y=log(a)+m*x
  38. 340 x1=ex*(x+a)+xt:y1=ey*y+yt:waitx1,y1:nextx:nexta
  39. 410 for a=1 to 2.5 step 1.5
  40. 425 m=-1/(a*a)
  41. 430 for x=-.6 to .6 step .005
  42. 435 y=1/a+m*x
  43. 440 x1=ex*(x+a)+xt:y1=ey*y+yt:waitx1,y1:nextx:nexta
  44. 510 for a=1 to 2.5 step 1.5
  45. 525 for y=-1 to 1.2 step .05
  46. 540 x1=ex*a+xt:y1=ey*y+yt:waitx1,y1:nexty:nexta
  47. 999 rem -- screen or hardcopy --
  48. 1000 get a$:if a$="" then1000
  49. 1010 print "[147]":verify 0:printchr$(14)
  50. 1020 print"hardcopy (y/n)    n[157][157][157]";:inputa$:ifa$="n" then1080
  51. 1030 ifa$<>"y"then1010
  52. 1040 print"single or double width (s/d)    s[157][157][157]";:inputa$
  53. 1050 ifa$="s" then poke2,1:goto1070
  54. 1060 poke2,2:ifa$<>"d"then1040
  55. 1070 verify 1:sys52224
  56. 1080 verify 0:printchr$(14):list
  57.