home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / educ / prschool.zip / BIGNUM3.BAS < prev    next >
BASIC Source File  |  1983-09-05  |  8KB  |  218 lines

  1. 1  'BIGNUM3.BAS  09/05/83  FOR IBM PC  FROM CP/M PUBLIC DOMAIN
  2. 6 GOTO 50
  3. 7 SAVE "BIGNUM3.BAS",A:STOP
  4. 50 CLS
  5. 60 PRINT TAB(20)"   B I G    N U M B E R S   G A M E"
  6. 70 PRINT: PRINT "Please Enter A 4-digit ";:RANDOMIZE
  7. 80 PRINT
  8. 100 CLEAR 500
  9. 200 DIM W$(101),W1$(10),W2$(10),W3$(8),W4$(34),W5$(21),W6$(36),W7$(74)
  10. 300 FOR LL=1 TO 10:READ W1$(LL):NEXT  LL
  11. 400 FOR II=1 TO 10:READ W2$(II):NEXT  II
  12. 500 FOR OO=1 TO 8:READ W3$(OO):NEXT  OO
  13. 600 FOR QQ=1 TO 34:READ W4$(QQ):NEXT  QQ
  14. 700 FOR EE=1 TO 21:READ W5$(EE):NEXT  EE
  15. 800 FOR GG=1 TO 36:READ W6$(GG):NEXT  GG
  16. 900 FOR UU=1 TO 74:READ W7$(UU):NEXT  UU
  17. 1000 ' FROM OCT CREATIVE COMPUTING BY  JERRY CRAVEA
  18. 1100 ' MADE TO RUN  ON CP/M 2.2 MBASIC BY T MCCORMICK  05/82
  19. 1200 DATA "ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN"
  20. 1300 DATA "EIGHT","NINE"
  21. 1400 DATA "TEN","ELEVEN","TWELVE","THIRTEEN","FOURTEEN","FIFTEEN"
  22. 1500 DATA "SIXTEEN","SEVENTEEN","EIGHTEEN","NINTEEN"
  23. 1600 IF D$="0" THEN 8800
  24. 1700 DATA "TWENTY ","THIRTY ","FOURTY ","FIFTY ","SIXTY ","SEVENTY "
  25. 1800 DATA "EIGHTY ","NINETY "
  26. 1900 DATA "HUNDRED","THOUSAND","MILLION","BILLION","TRILLION","QUADRILLION"
  27. 2000 DATA "QUINTILLION","SEXTILLION","SEPTILLION","OCTILLION","NONILLION"
  28. 2100 DATA "DECILLION","UNDECILLION","DUODECILLION","TREDECILLION"
  29. 2200 DATA "QUATTUORDECILLION","QUINDECILLION","SEXDECILLION"
  30. 2300 DATA "SEPTENDECILLION","OCTODECILLION","NOVEMDECILLION","VIGINTILLION"
  31. 2400 DATA "VIGINTIUNTILLION","VIGINTIDUOTILLION","VIGINTITRETILLION"
  32. 2500 DATA "VIGINTIQUATTOURTILLION","VIGINTIQUINTILLION","VIGINTISEXTILLION"
  33. 2600 DATA "VIGINTISEPTILLION","VIGINTIOCTILLION","VIGINTINONILLION"
  34. 2700 DATA "TRIGINTATILLION","TRIGINTAUNTILLION","TRIGINTADUOTILLION"
  35. 2800 DATA "FIRST","SECOND","THIRD","FOURTH","FIFTH","SIXTH","SEVENTH"
  36. 2900 DATA "EIGHTH","NINTH","TENTH","ELEVENTH","TWELFTH","THRITEENTH"
  37. 3000 DATA "FOURTEENTH","FIFTEENTH","SIXTEENTH","SEVENTEENTH","EIGHTEENTH"
  38. 3100 DATA "NINTEENTH","TWENTIETH","NEXT "
  39. 3200 C=0
  40. 3300 I=0
  41. 3400 PRINT 
  42. 3500 PRINT "HI THERE! MY NAME IS BIG NUMBERS, WHAT IS YOUR NAME";
  43. 3600 INPUT A1$
  44. 3700 J=LEN(A1$)
  45. 3800 IF J<=25 THEN 4900
  46. 3900 IF I<>0 THEN 4700
  47. 4000 PRINT 
  48. 4100 PRINT "SORRY "; A1$; ","
  49. 4200 PRINT "BUT I GET TIRED EASILY SAYING LONG NAMES."
  50. 4300 PRINT "LONG NUMBERS ARE MY THING, YOU KNOW"
  51. 4400 PRINT "PLEASE RETYPE YOUR NAME NOW AND LIMIT TO 25 SPACES OR LESS"
  52. 4500 I=1
  53. 4600 GOTO 3600
  54. 4700 A1$=MID$(A1$,1,25)
  55. 4800 GOTO 5100
  56. 4900 IF I=0 THEN 5100
  57. 5000 PRINT "WHEW, THANK YOU "; A1$; "! THATS MUCH BETTER."
  58. 5100 PRINT 
  59. 5200 PRINT "NOW "; A1$; ",DO YOU WANT SOME INSTRUCTIONS"
  60. 5300 PRINT "ON WHAT TO DO (YES/NO)";
  61. 5400 INPUT A$
  62. 5500 IF MID$(A$,1,1)="N" THEN 6500
  63. 5600 IF MID$(A$,1,1)<>"Y" THEN 5200
  64. 5700 PRINT 
  65. 5800 PRINT "I CAN TEACH YOU HOW TO SAY BIG NUMBERS, "; A1$; "."
  66. 5900 PRINT "TYPE IN ANY POSITIVE WHOLE NUMBER AND I WILL PRINT  THE WORDS"
  67. 6000 PRINT "TO USE TO SAY THAT NUMBER IN ENGLISH YOU MAY USE COMMAS TO"
  68. 6100 PRINT "SEPARATE GROUPS OF THREE DIGITS IF  YOU WISH BUT YOU DONT HAVE"
  69. 6200 PRINT "TO FOR EXAMPLE, 1093 & 1,093 ARE THE SAME NUMBER TO ME"
  70. 6300 PRINT "ONLY THE 10 DIGITS (0-9) AND COMMAS ARE ALLOWED IN THE"
  71. 6400 PRINT "NUMBERS YOU TYPE IN. WHEN YOU WISH TO STOP, TYPE END OR QUIT"
  72. 6500 PRINT 
  73. 6600 C=C+1
  74. 6700 IF C<=21 THEN 6900
  75. 6800 C=21
  76. 6900 PRINT " OK, "; A1$; ". ENTER YOUR "; W5$(C); " NUMBER NOW"
  77. 7000 INPUT I$
  78. 7100 IF MID$(I$,1,3)="END" THEN 21000
  79. 7200 IF MID$(I$,1,4)="QUIT" THEN 21000
  80. 7300 L=LEN(I$)
  81. 7400 N=0
  82. 7500 G=0
  83. 7600 Z=1
  84. 7700 FOR J = 1 TO L
  85. 7800 D$=MID$(I$,J,1)
  86. 7900 IF D$="," THEN 8800
  87. 8000 IF D$=" " THEN 8800
  88. 8100 IF D$< "0" OR D$> "9" THEN 9900
  89. 8200 ON Z  GOTO 8300,8500
  90. 8300 IF D$="0" THEN 8800
  91. 8400 Z=2
  92. 8500 N=N+1
  93. 8600 IF N>101 THEN 17600
  94. 8700 W$(N)=D$
  95. 8800 NEXT J
  96. 8900 IF N>0 GOTO 9200
  97. 9000 N=1
  98. 9100 W$(N)="0"
  99. 9200 IF N<>101 THEN 10300
  100. 9300 IF W$(1)<>"1" THEN 17600
  101. 9400 FOR J = 2 TO N
  102. 9500 IF W$(J)<>"0" THEN 17600
  103. 9600 NEXT J
  104. 9700 G=1
  105. 9800  GOTO 10300
  106. 9900 PRINT "SORRY BUT THE NUMBER YOU ENTER MUST CONTAIN ONLY"
  107. 10000 PRINT "DIGITS (0-9) AND COMMAS - NO OTHER CHARACTERS"
  108. 10100 PRINT "PLEASE REENTER YOUR "; W5$(C); " NUMBER CORRECTLY NOW"
  109. 10200  GOTO 7000
  110. 10300 IF N<=9 THEN 10700
  111. 10400 I=INT((RND(0)*36)+1)
  112. 10500 J=INT((RND(0)*74)+1)
  113. 10600 PRINT W6$(I); " "; A1$; ", THAT WAS "; W7$(J); " NUMBER"
  114. 10700 N1=INT((N+2)/3)
  115. 10800 N2=((N1*3)+1)-N
  116. 10900 PRINT "THE NUMBER ";
  117. 11000 J=11
  118. 11100 ON N2 GOTO 11600,11400,11200
  119. 11200 PRINT " ";
  120. 11300 J=J+1
  121. 11400 PRINT " ";
  122. 11500 J=J+1
  123. 11600 FOR I = 1 TO N
  124. 11700 ON N2 GOTO 11800,11800,11800,12000
  125. 11800 PRINT W$(I);
  126. 11900  GOTO 12100
  127. 12000 PRINT ",";
  128. 12100 J=J+1
  129. 12200 N2=N2+1
  130. 12300 IF N2<=4 THEN 12500
  131. 12400 N2=1
  132. 12500 IF J<=78 THEN 13000
  133. 12600 PRINT 
  134. 12700 PRINT TAB(11);
  135. 12800 J=11
  136. 12900  GOTO 11800
  137. 13000 IF N2=1 THEN 11800
  138. 13100 NEXT I
  139. 13200 PRINT 
  140. 13300 PRINT TAB(5); "IS SPOKEN IN ENGLISH AS: "
  141. 13400 IF G=0 THEN 13800
  142. 13500 PRINT "TAB(11); "ONE GOOGOL"
  143. 13600 G=0
  144. 13700  GOTO 6500
  145. 13800 N2=((N1*3)+1)-N
  146. 13900 PRINT TAB(11);
  147. 14000 F1=1
  148. 14100 F2=0
  149. 14200 FOR I = 1 TO N
  150. 14300 D=VAL(W$(I))
  151. 14400 ON N2 GOTO 14500,15000,15600
  152. 14500 F2=F2+D
  153. 14600 IF D=0 THEN 17000
  154. 14700 PRINT W1$(D+1);:PRINT " ";
  155. 14800 PRINT W4$(1);:PRINT " ";
  156. 14900  GOTO 17000
  157. 15000 F2=F2+D
  158. 15100 ON D+1 GOTO 17000,15200,15400,15400,15400,15400,15400,15400,15400,15400
  159. 15200 F1=2
  160. 15300  GOTO 17000
  161. 15400 PRINT W3$(D-1) ;
  162. 15500  GOTO 17000
  163. 15600 F2=F2+D
  164. 15700 ON F1 GOTO 15800,16300
  165. 15800 IF N=1 THEN 16100
  166. 15900 IF F2=0 THEN 16700
  167. 16000 IF D=0 THEN 16400
  168. 16100 PRINT W1$(D+1);:PRINT " ";
  169. 16200  GOTO 16400
  170. 16300 PRINT W2$(D+1) ;:PRINT " ";
  171. 16400 IF N1<=1 THEN 17000
  172. 16500 PRINT W4$(N1)
  173. 16600 PRINT TAB(11) ;
  174. 16700 N1=N1-1
  175. 16800 F1=1
  176. 16900 F2=0
  177. 17000 N2=N2+1
  178. 17100 IF N2<>4 THEN 17300
  179. 17200 N2=1
  180. 17300 NEXT I
  181. 17400 PRINT 
  182. 17500  GOTO 6500
  183. 17600 PRINT 
  184. 17700 PRINT "WELL "; A1$; " THAT NUMBER IS BIGGER THAN A GOOGOL(1FOLLOWED"
  185. 17800 PRINT "BY 100 ZEROS). BEFORE I TELL YOU HOW TO SAY IT, YOU MUST"
  186. 17900 PRINT "FIRST SHOW YOURSELF WORTHY. TAKE A PENCIL AND SOME PAPER"
  187. 18000 PRINT "AND WRITE DOWN ALL THE DIGITS IN A GOOGOLPLEX. A GOOGOLPLEX"
  188. 18100 PRINT "IS 1 FOLLOWED BY A GOOGOL NUMBER OF ZEROS WHEN YOU HAVE"
  189. 18200 PRINT "WRITTEN ALL THE DIGITS IN A GOOGOLPLEX DOWN ON PAPER COME"
  190. 18300 PRINT "AND TYPE THEM IN FOR ME AND  THEN  I WILL KNOW YOU ARE"
  191. 18400 PRINT "WORTHY TO SPEAK NUMBERS LARGER THAN A GOOGOL"
  192. 18500 PRINT "GOOD BYE FOR NOW"
  193. 18600 DATA "AHA","BINGO","BOY","BOY OH BOY","BRAVO","EUREKA","GAD ZOOKS"
  194. 18700 DATA "GOLLY","GOSH","HEY","HEY THERE","HO HO","HOORAY","MAMA MIA","MAN"
  195. 18800 DATA "OH BOY","OH HO HO HO","OH ME","OH ME OH MY","OH MY","OHO","OH WOW"
  196. 18900 DATA "OK","O SOL O MI O","RIGHT ON","WHOOPIE","WILD","WOW","YE GADS"
  197. 19000 DATA "YES","YIKES","YIPES","YOW","YOWIE","ZINGO","ZOWIE"
  198. 19100 DATA "AN AMPLE","AN AUGUST","A BIG","A BRAWNY","A CAPACIOUS"
  199. 19200 DATA "A COMPREHENSIVE","A COLOSSAL","AN ELEPHANTE","AN ENORMOUS"
  200. 19300 DATA "AN EXTENSIVE","A GIGANTIC","A GORGEOUS","A GRAND","A GREAT"
  201. 19400 DATA "A HUGE","A HUMONGOUS","AN IMMENSE","A LARGE","A MAGNANIMOUS"
  202. 19500 DATA "A MAJESTIC","A MASSIVE","A MIGHTY","A MONSTROUS","A MUSCULAR"
  203. 19600 DATA "AN OSTENTATIOUS","A POMPOUS","A POWERFUL","A PRINCELY"
  204. 19700 DATA "A PRODIGIOUS","A REGAL","A SIGNIF ICANT","A SOPHISTICATED"
  205. 19800 DATA "A SPACIOUS","A SPLENDID","A STUPENDOUS","A SUPERB","A VAST","A WIDE"
  206. 19900 DATA "NOT YOUR AVERAGE","NOT YOUR COMMON","NOT YOUR COMMANPLACE","
  207. 20000 DATA "NOT A CRAMPED","NOT A DWARF OF A","NOT A ELEMENTARY"
  208. 20100 DATA "NOT YOUR EVERDAY","NOT A FEEBLE","NOT A FLIMSY","NOT A HUMBLE"
  209. 20200 DATA "NOT A HUMDRUM","NOT A INCHOATE","NOT AN INSIGNIF ICENT"
  210. 20300 DATA "NOT A LITTLE","NOT A MEAGER","NOT A MEEK"
  211. 20400 DATA "NOT A MERE WISP OF A","NOT A MINUTE","NOT A MODEST"
  212. 20500 DATA "NOT A OBSCURE","NOT YOUR ORDINARY","NOT A PALTRY"
  213. 20600 DATA "NOT A PETTY","NOT A PIGMY OF A","NOT A PUERILE","NOT A PUNY"
  214. 20700 DATA "NOT A SCANTY","NOT TO SHABBY OF A","NOT A SHALLOW"
  215. 20800 DATA "NOT A SIMPLE","NOT A SMALL","NOT A TINY","NOT A TRIF LING"
  216. 20900 DATA "NOT A TRIVIAL","NOT A UNDERSIZED","NOT AN UNNOTICEABLE"
  217. 21000 END
  218.