home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
educ
/
prschool.zip
/
BIGNUM3.BAS
< prev
next >
Wrap
BASIC Source File
|
1983-09-05
|
8KB
|
218 lines
1 'BIGNUM3.BAS 09/05/83 FOR IBM PC FROM CP/M PUBLIC DOMAIN
6 GOTO 50
7 SAVE "BIGNUM3.BAS",A:STOP
50 CLS
60 PRINT TAB(20)" B I G N U M B E R S G A M E"
70 PRINT: PRINT "Please Enter A 4-digit ";:RANDOMIZE
80 PRINT
100 CLEAR 500
200 DIM W$(101),W1$(10),W2$(10),W3$(8),W4$(34),W5$(21),W6$(36),W7$(74)
300 FOR LL=1 TO 10:READ W1$(LL):NEXT LL
400 FOR II=1 TO 10:READ W2$(II):NEXT II
500 FOR OO=1 TO 8:READ W3$(OO):NEXT OO
600 FOR QQ=1 TO 34:READ W4$(QQ):NEXT QQ
700 FOR EE=1 TO 21:READ W5$(EE):NEXT EE
800 FOR GG=1 TO 36:READ W6$(GG):NEXT GG
900 FOR UU=1 TO 74:READ W7$(UU):NEXT UU
1000 ' FROM OCT CREATIVE COMPUTING BY JERRY CRAVEA
1100 ' MADE TO RUN ON CP/M 2.2 MBASIC BY T MCCORMICK 05/82
1200 DATA "ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN"
1300 DATA "EIGHT","NINE"
1400 DATA "TEN","ELEVEN","TWELVE","THIRTEEN","FOURTEEN","FIFTEEN"
1500 DATA "SIXTEEN","SEVENTEEN","EIGHTEEN","NINTEEN"
1600 IF D$="0" THEN 8800
1700 DATA "TWENTY ","THIRTY ","FOURTY ","FIFTY ","SIXTY ","SEVENTY "
1800 DATA "EIGHTY ","NINETY "
1900 DATA "HUNDRED","THOUSAND","MILLION","BILLION","TRILLION","QUADRILLION"
2000 DATA "QUINTILLION","SEXTILLION","SEPTILLION","OCTILLION","NONILLION"
2100 DATA "DECILLION","UNDECILLION","DUODECILLION","TREDECILLION"
2200 DATA "QUATTUORDECILLION","QUINDECILLION","SEXDECILLION"
2300 DATA "SEPTENDECILLION","OCTODECILLION","NOVEMDECILLION","VIGINTILLION"
2400 DATA "VIGINTIUNTILLION","VIGINTIDUOTILLION","VIGINTITRETILLION"
2500 DATA "VIGINTIQUATTOURTILLION","VIGINTIQUINTILLION","VIGINTISEXTILLION"
2600 DATA "VIGINTISEPTILLION","VIGINTIOCTILLION","VIGINTINONILLION"
2700 DATA "TRIGINTATILLION","TRIGINTAUNTILLION","TRIGINTADUOTILLION"
2800 DATA "FIRST","SECOND","THIRD","FOURTH","FIFTH","SIXTH","SEVENTH"
2900 DATA "EIGHTH","NINTH","TENTH","ELEVENTH","TWELFTH","THRITEENTH"
3000 DATA "FOURTEENTH","FIFTEENTH","SIXTEENTH","SEVENTEENTH","EIGHTEENTH"
3100 DATA "NINTEENTH","TWENTIETH","NEXT "
3200 C=0
3300 I=0
3400 PRINT
3500 PRINT "HI THERE! MY NAME IS BIG NUMBERS, WHAT IS YOUR NAME";
3600 INPUT A1$
3700 J=LEN(A1$)
3800 IF J<=25 THEN 4900
3900 IF I<>0 THEN 4700
4000 PRINT
4100 PRINT "SORRY "; A1$; ","
4200 PRINT "BUT I GET TIRED EASILY SAYING LONG NAMES."
4300 PRINT "LONG NUMBERS ARE MY THING, YOU KNOW"
4400 PRINT "PLEASE RETYPE YOUR NAME NOW AND LIMIT TO 25 SPACES OR LESS"
4500 I=1
4600 GOTO 3600
4700 A1$=MID$(A1$,1,25)
4800 GOTO 5100
4900 IF I=0 THEN 5100
5000 PRINT "WHEW, THANK YOU "; A1$; "! THATS MUCH BETTER."
5100 PRINT
5200 PRINT "NOW "; A1$; ",DO YOU WANT SOME INSTRUCTIONS"
5300 PRINT "ON WHAT TO DO (YES/NO)";
5400 INPUT A$
5500 IF MID$(A$,1,1)="N" THEN 6500
5600 IF MID$(A$,1,1)<>"Y" THEN 5200
5700 PRINT
5800 PRINT "I CAN TEACH YOU HOW TO SAY BIG NUMBERS, "; A1$; "."
5900 PRINT "TYPE IN ANY POSITIVE WHOLE NUMBER AND I WILL PRINT THE WORDS"
6000 PRINT "TO USE TO SAY THAT NUMBER IN ENGLISH YOU MAY USE COMMAS TO"
6100 PRINT "SEPARATE GROUPS OF THREE DIGITS IF YOU WISH BUT YOU DONT HAVE"
6200 PRINT "TO FOR EXAMPLE, 1093 & 1,093 ARE THE SAME NUMBER TO ME"
6300 PRINT "ONLY THE 10 DIGITS (0-9) AND COMMAS ARE ALLOWED IN THE"
6400 PRINT "NUMBERS YOU TYPE IN. WHEN YOU WISH TO STOP, TYPE END OR QUIT"
6500 PRINT
6600 C=C+1
6700 IF C<=21 THEN 6900
6800 C=21
6900 PRINT " OK, "; A1$; ". ENTER YOUR "; W5$(C); " NUMBER NOW"
7000 INPUT I$
7100 IF MID$(I$,1,3)="END" THEN 21000
7200 IF MID$(I$,1,4)="QUIT" THEN 21000
7300 L=LEN(I$)
7400 N=0
7500 G=0
7600 Z=1
7700 FOR J = 1 TO L
7800 D$=MID$(I$,J,1)
7900 IF D$="," THEN 8800
8000 IF D$=" " THEN 8800
8100 IF D$< "0" OR D$> "9" THEN 9900
8200 ON Z GOTO 8300,8500
8300 IF D$="0" THEN 8800
8400 Z=2
8500 N=N+1
8600 IF N>101 THEN 17600
8700 W$(N)=D$
8800 NEXT J
8900 IF N>0 GOTO 9200
9000 N=1
9100 W$(N)="0"
9200 IF N<>101 THEN 10300
9300 IF W$(1)<>"1" THEN 17600
9400 FOR J = 2 TO N
9500 IF W$(J)<>"0" THEN 17600
9600 NEXT J
9700 G=1
9800 GOTO 10300
9900 PRINT "SORRY BUT THE NUMBER YOU ENTER MUST CONTAIN ONLY"
10000 PRINT "DIGITS (0-9) AND COMMAS - NO OTHER CHARACTERS"
10100 PRINT "PLEASE REENTER YOUR "; W5$(C); " NUMBER CORRECTLY NOW"
10200 GOTO 7000
10300 IF N<=9 THEN 10700
10400 I=INT((RND(0)*36)+1)
10500 J=INT((RND(0)*74)+1)
10600 PRINT W6$(I); " "; A1$; ", THAT WAS "; W7$(J); " NUMBER"
10700 N1=INT((N+2)/3)
10800 N2=((N1*3)+1)-N
10900 PRINT "THE NUMBER ";
11000 J=11
11100 ON N2 GOTO 11600,11400,11200
11200 PRINT " ";
11300 J=J+1
11400 PRINT " ";
11500 J=J+1
11600 FOR I = 1 TO N
11700 ON N2 GOTO 11800,11800,11800,12000
11800 PRINT W$(I);
11900 GOTO 12100
12000 PRINT ",";
12100 J=J+1
12200 N2=N2+1
12300 IF N2<=4 THEN 12500
12400 N2=1
12500 IF J<=78 THEN 13000
12600 PRINT
12700 PRINT TAB(11);
12800 J=11
12900 GOTO 11800
13000 IF N2=1 THEN 11800
13100 NEXT I
13200 PRINT
13300 PRINT TAB(5); "IS SPOKEN IN ENGLISH AS: "
13400 IF G=0 THEN 13800
13500 PRINT "TAB(11); "ONE GOOGOL"
13600 G=0
13700 GOTO 6500
13800 N2=((N1*3)+1)-N
13900 PRINT TAB(11);
14000 F1=1
14100 F2=0
14200 FOR I = 1 TO N
14300 D=VAL(W$(I))
14400 ON N2 GOTO 14500,15000,15600
14500 F2=F2+D
14600 IF D=0 THEN 17000
14700 PRINT W1$(D+1);:PRINT " ";
14800 PRINT W4$(1);:PRINT " ";
14900 GOTO 17000
15000 F2=F2+D
15100 ON D+1 GOTO 17000,15200,15400,15400,15400,15400,15400,15400,15400,15400
15200 F1=2
15300 GOTO 17000
15400 PRINT W3$(D-1) ;
15500 GOTO 17000
15600 F2=F2+D
15700 ON F1 GOTO 15800,16300
15800 IF N=1 THEN 16100
15900 IF F2=0 THEN 16700
16000 IF D=0 THEN 16400
16100 PRINT W1$(D+1);:PRINT " ";
16200 GOTO 16400
16300 PRINT W2$(D+1) ;:PRINT " ";
16400 IF N1<=1 THEN 17000
16500 PRINT W4$(N1)
16600 PRINT TAB(11) ;
16700 N1=N1-1
16800 F1=1
16900 F2=0
17000 N2=N2+1
17100 IF N2<>4 THEN 17300
17200 N2=1
17300 NEXT I
17400 PRINT
17500 GOTO 6500
17600 PRINT
17700 PRINT "WELL "; A1$; " THAT NUMBER IS BIGGER THAN A GOOGOL(1FOLLOWED"
17800 PRINT "BY 100 ZEROS). BEFORE I TELL YOU HOW TO SAY IT, YOU MUST"
17900 PRINT "FIRST SHOW YOURSELF WORTHY. TAKE A PENCIL AND SOME PAPER"
18000 PRINT "AND WRITE DOWN ALL THE DIGITS IN A GOOGOLPLEX. A GOOGOLPLEX"
18100 PRINT "IS 1 FOLLOWED BY A GOOGOL NUMBER OF ZEROS WHEN YOU HAVE"
18200 PRINT "WRITTEN ALL THE DIGITS IN A GOOGOLPLEX DOWN ON PAPER COME"
18300 PRINT "AND TYPE THEM IN FOR ME AND THEN I WILL KNOW YOU ARE"
18400 PRINT "WORTHY TO SPEAK NUMBERS LARGER THAN A GOOGOL"
18500 PRINT "GOOD BYE FOR NOW"
18600 DATA "AHA","BINGO","BOY","BOY OH BOY","BRAVO","EUREKA","GAD ZOOKS"
18700 DATA "GOLLY","GOSH","HEY","HEY THERE","HO HO","HOORAY","MAMA MIA","MAN"
18800 DATA "OH BOY","OH HO HO HO","OH ME","OH ME OH MY","OH MY","OHO","OH WOW"
18900 DATA "OK","O SOL O MI O","RIGHT ON","WHOOPIE","WILD","WOW","YE GADS"
19000 DATA "YES","YIKES","YIPES","YOW","YOWIE","ZINGO","ZOWIE"
19100 DATA "AN AMPLE","AN AUGUST","A BIG","A BRAWNY","A CAPACIOUS"
19200 DATA "A COMPREHENSIVE","A COLOSSAL","AN ELEPHANTE","AN ENORMOUS"
19300 DATA "AN EXTENSIVE","A GIGANTIC","A GORGEOUS","A GRAND","A GREAT"
19400 DATA "A HUGE","A HUMONGOUS","AN IMMENSE","A LARGE","A MAGNANIMOUS"
19500 DATA "A MAJESTIC","A MASSIVE","A MIGHTY","A MONSTROUS","A MUSCULAR"
19600 DATA "AN OSTENTATIOUS","A POMPOUS","A POWERFUL","A PRINCELY"
19700 DATA "A PRODIGIOUS","A REGAL","A SIGNIF ICANT","A SOPHISTICATED"
19800 DATA "A SPACIOUS","A SPLENDID","A STUPENDOUS","A SUPERB","A VAST","A WIDE"
19900 DATA "NOT YOUR AVERAGE","NOT YOUR COMMON","NOT YOUR COMMANPLACE","
20000 DATA "NOT A CRAMPED","NOT A DWARF OF A","NOT A ELEMENTARY"
20100 DATA "NOT YOUR EVERDAY","NOT A FEEBLE","NOT A FLIMSY","NOT A HUMBLE"
20200 DATA "NOT A HUMDRUM","NOT A INCHOATE","NOT AN INSIGNIF ICENT"
20300 DATA "NOT A LITTLE","NOT A MEAGER","NOT A MEEK"
20400 DATA "NOT A MERE WISP OF A","NOT A MINUTE","NOT A MODEST"
20500 DATA "NOT A OBSCURE","NOT YOUR ORDINARY","NOT A PALTRY"
20600 DATA "NOT A PETTY","NOT A PIGMY OF A","NOT A PUERILE","NOT A PUNY"
20700 DATA "NOT A SCANTY","NOT TO SHABBY OF A","NOT A SHALLOW"
20800 DATA "NOT A SIMPLE","NOT A SMALL","NOT A TINY","NOT A TRIF LING"
20900 DATA "NOT A TRIVIAL","NOT A UNDERSIZED","NOT AN UNNOTICEABLE"
21000 END