home *** CD-ROM | disk | FTP | other *** search
/ Play and Learn 2 / 19941.ZIP / 19941 / EDUCTORY / GEOGRAPY / M10.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1994-02-04  |  1.6 KB  |  91 lines

  1. 0  CLS:PRINT
  2. 10   PRINT "PLOT OF POLAR EQUATION"
  3. 20   PRINT 
  4. 30   DIM X(91),Y(90)
  5. 40  N = 90
  6. 50   PRINT "ABSOLUTE VALUE OF ENDPOINTS";
  7. 60   INPUT Z
  8. 70   PRINT 
  9. 80   PRINT "INCREMENT OF X-AXIS = ";Z / 30
  10. 90   PRINT "INCREMENT OF Y-AXIS = ";Z / 18
  11. 100   PRINT 
  12. 110   FOR I = 1 TO N
  13. 120  D = 0.0698132 * I
  14. 130   REM  - ENTER FUNCTION HERE (F AS A FUNCTION OF D)
  15. 140  X(I) =  INT (((F *  COS (D) / Z + 1) * 30) + 0.5)
  16. 150  Y(I) =  INT ((( - F *  SIN (D) / Z + 1) * 18) + 0.5)
  17. 160   NEXT I
  18. 170   FOR J = 1 TO N
  19. 180   FOR I = 1 TO N - J
  20. 190  A = X(I)
  21. 200  B = Y(I)
  22. 210   IF B <  = Y(I + 1) THEN 260
  23. 220  X(I) = X(I + 1)
  24. 230  Y(I) = Y(I + 1)
  25. 240  X(I + 1) = A
  26. 250  Y(I + 1) = B
  27. 260   NEXT I
  28. 270   NEXT J
  29. 280  T = 1
  30. 290   FOR P = 0 TO N - 1
  31. 300   IF Y(P + 1) >  = 0 THEN 320
  32. 310   NEXT P
  33. 320   FOR I = 0 TO 36
  34. 330  T = T + P
  35. 340  P = 0
  36. 350   IF T > N THEN 370
  37. 360   IF Y(T) = I THEN 420
  38. 370   IF I = 18 THEN 400
  39. 380   PRINT  TAB( 30);"*";
  40. 390   GOTO 860
  41. 400  S = N + 1
  42. 410   GOTO 740
  43. 420   FOR L = T TO N
  44. 430   IF Y(L) > Y(T) THEN 460
  45. 440  P = P + 1
  46. 450   NEXT L
  47. 460   IF P = 1 THEN 560
  48. 470   FOR J = 1 TO P
  49. 480   FOR L = 1 TO P - J
  50. 490  C = X(T + L - 1)
  51. 500  A = X(T + L)
  52. 510   IF C <  = A + 0 THEN 540
  53. 520  X(T + L - 1) = A
  54. 530  X(T + L) = C
  55. 540   NEXT L
  56. 550   NEXT J
  57. 560   IF I = 18 THEN 730
  58. 570  L =  - 1
  59. 580  S = 0
  60. 590   FOR K = 0 TO P - 1
  61. 600   IF X(T + K) = L THEN 690
  62. 610  L = X(T + K)
  63. 620   IF L = 30 THEN 660
  64. 630   IF L < 30 THEN 670
  65. 640   IF S = 1 THEN 670
  66. 650   PRINT  TAB( 30);"*";
  67. 660  S = 1
  68. 670   IF L > 60 THEN 860
  69. 680   PRINT  TAB( L);"+";
  70. 690   NEXT K
  71. 700   IF S = 1 THEN 860
  72. 710   PRINT  TAB( 30);"*";
  73. 720   GOTO 860
  74. 730  S = T
  75. 740   FOR J = 0 TO 60
  76. 750   IF X(S) <  > J THEN 830
  77. 760   PRINT "+";
  78. 770   FOR K = S TO T + P - 1
  79. 780   IF X(K) = X(S) THEN 810
  80. 790  S = K
  81. 800   GOTO 840
  82. 810   NEXT K
  83. 820   GOTO 840
  84. 830   PRINT "*";
  85. 840   NEXT J
  86. 850   PRINT "X";
  87. 860   PRINT 
  88. 870   NEXT I
  89. 880   PRINT  TAB( 30);"Y"
  90. 890   RUN "MATH"
  91.