1 ! PROGRAM NAME --> I N T R O -- BY BOB HUNTSMAN 12 OPEN "KB:" AS FILE 1%:INPUT #1%,"NAME PLEASE (CR)---> ";N$: V9$=SYS(CHR$(3%)):FIELD #1%,K% AS Q$,1% AS M3$(K%) FOR K%=0% TO 10% 25 DIM A%(4%),B%(4%):B%(0%)=10%:B%(1%)=9%:B%(2%)=5%:B%(3%)=3%:B%(4%)=2% 30 DIM P%(15%):P%(0%)=1%:P%(1%)=7%:P%(2%)=11%:P%(3%)=13%:P%(4%)=17%: P%(5%)=19%:P%(6%)=23%:P%(7%)=29% 40 PRINT "ENTER 'I' FOR INSTRUCTIONS --> ";:GOSUB 29000:PRINT M4$: PRINT:GOTO 210 IF M4$<>"I":PRINT "THIS IS PROGRAM #1, INTRO!!": PRINT 100 PRINT:PRINT "THIS PROGRAM WILL TEST YOU ON YOUR ABILITY TO "; "READILY FIND":PRINT "SOME OF THE MORE OBVIOUS FACTORS. "; "THE FACTORS YOU SHOULD BE" 120 PRINT "ABLE TO IDENTIFY IMMEDIATELY ARE 2,3,5,9 AND "; "10 (AND PRODUCTS":PRINT "OF THESE FACTORS). IF YOU PASS THE "; "REQUIREMENTS OF THIS PROGRAM,":PRINT "THE COMPUTER WILL TELL "; "YOU AND ALLOW YOU TO GO ON TO ";"THE NEXT PROGRAM!!" 140 PRINT "THE REQUIREMENTS ARE:":PRINT:PRINT "(1) YOU MUST GET 10 "; "PROBLEMS CORRECT!":PRINT "(2) YOU MUST DO IT IN LESS THAN 3 "; "MINUTES [180 SECONDS]! (I START" 160 PRINT "TIMING WHEN I SAY 'GO!!' AND I STOP WHEN I SAY "; "CLOCK STOPPED. . .":PRINT 165 PRINT:PRINT "THERE IS AN EASY WAY TO TELL IF EACH OF THESE FACTORS WILL": PRINT "GO INTO A GIVEN NUMBER. IF THE NUMBER IS EVEN, THEN 2 WILL" 170 PRINT "GO INTO THAT NUMBER. IF THE SUM OF THE DIGITS IS DIVISIBLE BY 3": PRINT "THEN 3 WILL GO INTO THAT NUMBER. IF THE NUMBER ENDS IN A '0' 175 PRINT "OR '5' THEN 5 WILL GO INTO THAT NUMBER. IF THE SUM OF THE "; "DIGITS OF":PRINT "THAT NUMBER IS DIVISIBLE BY 9 THEN"; " THE NUMBER IS DIVISIBLE" 180 PRINT "BY NINE. IF THE NUMBER END WITH A '0' THEN THE NUMBER IS "; "DIVISIBLE":PRINT "BY 10.":PRINT:PRINT 185 PRINT "USING THESE TRICKS YOU SHOULD BE ABLE TO TELL IMMEDIATELY --": PRINT "WITHOUT DIVIDING -- IF THE GIVEN FACTOR(S) WILL GO "; "INTO THE NUMBER!!":PRINT:PRINT:PRINT 210 RANDOM:X1%=10%:S%=5% 220 X%,C%=0%:T%=180%:C%(K%)=0% FOR K%=0% TO 10% 230 PRINT:PRINT "YOU HAVE";T%;"SECONDS TO DO";X1%-X%;"PROBLEM";: PRINT "S";IF X1%-X%<>1%:PRINT "!!":PRINT 240 PRINT "GET READY. . . .";:GOSUB 800:SLEEP(S%):PRINT:PRINT:PRINT "THE NUMBER TO FACTOR IS";R%;"-- GO!!":PRINT:T=TIME(0%) 245 FOR K%=0% TO 4%:GOTO 300 IF A%(K%)<0%:PRINT "WILL";B%(K%);"GO INTO "; FNN$(R%);"? "; 247 GOSUB 29000:GOTO 247 IF M4$<>"Y" AND M4$<>"N":PRINT M4$: A$=M4$+"" 250 GOTO 270 IF A$<>"N" AND A$<>"Y":C2%=R%/B%(K%)*B%(K%) 255 GOTO 280 IF A$="Y" AND C2%=R%:GOTO 280 IF A$="N" AND C2%<>R%:GOTO 300 260 IF A$="Y" THEN C%=C%+1%:GOTO 300 265 IF A$="N" THEN A%(K%)=-2%:GOTO 300 270 PRINT "'Y' OR 'N' PLEASE!!":PRINT:K%=K%-1%:GOTO 300 280 C%=C%+1%:GOTO 300 300 NEXT K% 310 T0%=TIME(0%)-T:T%=T%-T0%:PRINT "CLOCK STOPPED. . . "; 315 C1%=0%:C1%=C1%+1% IF A%(K%)<>-1% FOR K%=0% TO 4% 320 IF C%=C1% THEN PRINT "CORRECT!!":C%=0%:X%=X%+1%:GOTO 400 IF T%<0%:GOTO 1200 IF X%=X1%:GOTO 230 330 PRINT "ZONK!! -- ";N$;", YOU BLEW THAT ONE!!!!" 340 GOTO 400 IF T%<0%:PRINT "THAT'S OK, ";N$;". YOU STILL HAVE TIME "; "LEFT -- KEEP TRYING!!":PRINT:PRINT:C%=0%:GOTO 230 390 PRINT:PRINT "SORRY, ";N$;", BUT YOU HAVE NOT MET THE REQUIREMENTS" 392 PRINT "OF THIS PROGRAM AND YOU MAY NOT GOT ON TO PROGRAM #2 "; "UNTIL YOU DO!!":PRINT:PRINT:GOTO 32000 400 GOTO 450 IF X%=10%:PRINT:PRINT "SORRY, ";N$;", BUT TIME IS UP!!":PRINT 410 PRINT:PRINT "YOU DO NOT PASS. YOU MAY NOT GO ON TO THE NEXT":PRINT "PROGRAM UNTIL YOU PASS THIS ONE!!":PRINT:GOTO 32000 450 PRINT:PRINT N$;", YOU HAVE COMPLETED THE TEN PROBLEMS. HOWEVER," 460 PRINT "YOU SPENT TOO MUCH TIME ON THAT LAST ONE!! IT" 465 PRINT "TOOK YOU";-T%;"SECOND";:PRINT "S";IF T%<-1%: PRINT " TOO LONG!! HOWEVER," 470 PRINT "SINCE I'M A GOOD NATURED COMPUTER, I'LL LET YOU PASS": PRINT "ANYWAY!!":PRINT:GOTO 1200 800 A%(K%)=FNR% FOR K%=0% TO 4%:A%(2%),A%(4%)=-1% IF A%(0%)=1%: A%(3%)=-1% IF A%(1%)=1% 810 R%=1%:R%=R%*B%(K%) IF A%(K%)>0% FOR K%=0% TO 4% 813 R1%=0%:R1%=2%*R1%+FNR% FOR K%=1% TO 3%:R%=R%*P%(R1%) 815 A%(K%)=-1% IF A%(K%)=0% AND R%/B%(K%)*B%(K%)=R% FOR K%=0% TO 4% 820 GOTO 800 IF R%=C%(K%) FOR K%=0% TO X%-1%:C%(X%)=R%:RETURN 900 DEF FNR% 910 V%=INT(1000%*RND):FNR%=V%-V%/2%*2% 920 FNEND 930 DEF FNN$(V%)=MID(NUM$(V%),2%,LEN(NUM$(V%))-2%) 1200 PRINT:PRINT "CONGRATULATIONS, ";N$;" -- YOU HAVE SUCCESSFULLY PASSED THE" 1210 PRINT "REQUIREMENTS OF THIS PROGRAM BY GETTING 10 PROBLEMS CORRECT" 1220 PRINT "IN";180%-T%;"SECONDS!! YOU MAY NOW GO ON TO PROGRAM #2, "; "NAMED -GCF-. IT" 1230 PRINT "WILL DRILL YOU ON GREATEST COMMON FACTORS!!":PRINT:PRINT:GOTO 32000 29000 GOTO 29100 IF M3%=Z3%:M4$=M3$(M3%):M3%=M3%+1%:RETURN 29100 M3%=0%:V9$=SYS(CHR$(4%)):GET #1%:Z3%=RECOUNT:GOTO 29000 32000 V9$=SYS(CHR$(2%)):CLOSE K% FOR K%=1% TO 12% 32767 END