' +JJJJ ?\>m0M='+l> /+l   d]@ŵLҦ]]LF L}BBL] X  ` 鷎귭෍ᷩ췩緈JJJJx Lȿ L8ᷭ緍췩 緍i 8 `巬 췌`x (`(8`I`B` ``>J>J>VU)?`8'x0|&HhHh VY)'&Y)xꪽ)' `Hh`V0^*^*>&` aI꽌ɪVɭ&Y&&Y& 꽌ɪ\8`&&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`+*xS&x'8*3Ixix&& 8  '  & x)*++`FG8`0($ p,&"ųųೳŪŪųųij  !"#$%&'()*+,-./0123456789:;<=>?   1 '" *"( (9"1 ( ,.(0# 2  /#0/#0 *?'#07#00/0/'#07#0:"4<*55/**5/*%5/)1/)1/)1/)'#0/#0*5/*75/**5/*:5//#0/#0'#07#0:::*::'#07#0"):$(%"%:$(%"%$$2%4%$$2%4%$(2()!)E(!8b $!H(+ "@H !D)"E` @ $ C ` DQ &J80^݌Hh ü ü݌ ռ ռ ռA ļD ļ? ļAEDE?HJ>h Լ ռ ռ ռ`HJ>݌h Hh݌`葠葠ȔЖȔЖȠHIHHHHhHH݌hHhHh݌H6 VDP (ED Z $0x8x D- ܸDD# H8`?E Vk *f???0xE Hh D#-EEE8` D ܸx D - ܸx8`-0ݩ?ʥD EEE`   LDcpq` [` ~  LӜu`".Q`pNФbptťܥm2<(-Py0\|e<6e<g< JJJJj귍hI  aUL@ kU8  L  Q^R(jQ0l^l\  wUuW ԧ H h@ [_ /QSIRb_L`LLLL`ª`LQLYLeLXLeLee ўQH\(h0L& Ꝥ$`( R \ZLl8 ўR HH\`\Z[YS6`LxQɿu3'RͲʎRʎ]]]ɍuL͟ɍ}RLRɍg^H8 ^hZLɍR LͲɊRR% QLܤͲ Z@ -^ ş\[Z QY\[Z8`l6Lş_Ȍb_Ͳ] )Y h( ֭ͲLɍ [LLĦ__ ^ 9 LҦ3 9 a   0LjLY u< (_9 ˭ɠuɠK_9 ?LˆʎõĵL õ ĵµ aµ`` L̦µ_bJLuLz`  ȟ QlXJ̥KlV  ȟ QlV eօ3L e3L &RL &QL d L4 Ne)n `@-eff L f`L . tQLѤ LҦL` OPu d L Ne)noon 8ɍ` ^f\õL ^NR  RΩLҦ)\Z ʽ LHv 3h`0h8` [L NС õ`A@` ŵL^Lõ`  \ 濭0 \  ȟ Q ^\lZl^?cqH şch`fhjõĵ@OAP`u@`@&`QR`E Ls  @DAE@u`8` %@ @A@`@`@A`Mµ ) LЦ`8@AWc@8@-@HAȑ@hHȑ@ȑ@hHȑ@Ȋ@ch8&ȑ@Hȑ@Ah@LHȑ@ȑ@ htphso`hMhL`9V8U897T6S67`INILOASAVRUCHAIDELETLOCUNLOCCLOSREAEXEWRITPOSITIOOPEAPPENRENAMCATALOMONOMOPRINMAXFILEFINBSAVBLOABRUVERIF!pppp p p p p`" t""#x"p0p@p@@@p@!y q q p@  LANGUAGE NOT AVAILABLRANGE ERROWRITE PROTECTEEND OF DATFILE NOT FOUNVOLUME MISMATCI/O ERRODISK FULFILE LOCKESYNTAX ERRONO BUFFERS AVAILABLFILE TYPE MISMATCPROGRAM TOO LARGNOT DIRECT COMMANč$3>L[dmx- (  Ϡ@跻~!Wo*9~~~~ɬƬ~_ j ʪHɪH`Lc (L ܫ㵮赎 ɱ^_ J QL_Ls贩紎 DǴҵԵƴѵӵµȴ 7 ַ :ŵƴѵǴҵȴµ納贍﵎ٵ്ᵭⳍڵL^ѵ-I `  4 ò-յ!  8صٵ紭ﵝ 7L (0+BC  7L HH`LgL{0 HH` õL H hBL BH [ h`Lo õ ڬL B ڬ LʬH hB@ յյ [L (ȴ) ȴ 7L L ( L (ȴL{ƴѵ洩ƴǴҵ 7 ^* B0 HȱBh ӵԵ 8 L8 ݲ` ܫ  / / ED B / / ]ƴS0Jȴ ȴ)  紅D贅E B ƴ  / 0L Ν `HD٤DEEhiHLGh ` ŵBѵ-` ѵB-` ܫ XI볩쳢8 DH E𳈈췍Ȍ X0 · JLǵBȵC`,յp` 䯩 R-յյ`յ0` K R-յյ`ɵʵӵԵ` 4 K ( ѵҵLBȱBL8` DBHBH : ַ޵BȭߵBhhӵԵ RBܵmڵ޵ȱBݵm۵ߵ` 䯩LR˵̵ֵ׵`êĪLR E( 8` R` ELRŪƪ`췌 յյI뷭鷭귭ⵍ㵍跬ª 뷰` Lf ݵܵߵ޵ ^`8ܵ i B8` 4L ֵȱB׵ ܯ䵍൭嵍 ` DȑB׵Bֵ  ַ յյ`굎뵎쵬 뵎쵌``õĵBCõĵ`µµ`L õBĵCصص Qƴ0"Bƴ 󮜳` 0۰ϬBƴ8`i#`ЗLw!0>ﵭ` m ﳐ 7i볍 8 ЉLw`H h ݲL~ `浍국䵍뵩嵠Jm赍嵊mjnnn浈ۭm浍浭m䵍䵩m嵍`"L ŵ8ŵH ~(` d ֠z# u` pުժ|X8@@תժ`ժcR٪Նp?֪ gتժ"2"&"" ֪0"&"2" " ""*"*"""`ժ1b `ժՆ|""">"2>"&@ժpժ @`ܪտ תժ|qh@@`ժժ@ժG`֪ G֪ժ""">"" >ժת`~"&"&2&<&"*2*"&&&"@ժ#B ժՆx&"r""&2""&`ժ`{ܪ@ Ԫx?`ժժ@aH0ժժGªxܪNתժ&2>"&&2""`ժ`ժպ|@|g ,"" g", =============y ===START PRINTING THE WORDS===I1W ===ADD 1 TO THE X COUNTER===XX1 ===IS X EQUAL TO Y? FLASH IF SO===ER===S1S1N(I)T0#I)Y"THE CLASS AVERAGE IS ";((T1S1)100)100pZ$"Y"ĺD$;"PR#0" =============== WRITE ALL DATA WITH UPDATES BACK ON THE FILE, "TESTS." ===============D$;"OPEN TESTS" D$;"WR(< ===CUMULATIVE TOTAL FOR STUDENT===7FTTS(I,J)^P ===CUMULATIVE TOTAL FOR CLASS===oZT1T1S(I,J)vdJn ===ILLEGAL TO DIVIDE BY ZERO===xN(I)01430N$(I);15);N(I);23);((TN(I))100)100 ===CUMULATIVE TOTAL SCORE NUMBت?ܪժ0""<,""""&<62 *""*"" ժx?תՆ~&<"","2@ժ@պՎ`ժ>F@ GET THE INPUT FOR CHECKING38 ===============9N ==============u READ THE DATA FOR THE CHOICE AND ITS RESPONSE; PRINT THE CHOICE ==============I14A$(I),R$(I)I;". ";A$(I)I "YOUR CHOIT'S OK TO HAVE THE 'END' STATEMENTJ ** NOT ** AS THE LAST STATEMENT!c =================:"YOU ANSWERED ";C;" CORRECTLY!" =============== SUBROUTINE TO DISPLAY THE CHOICES, STORE$ THE RESPONSE FOR EACH CHOICE AND.R"'\ "FOURTH","MAR-CY, THAT'S MARS"/fA39p5000Oz ==============={ ROOM TO ADD MANY MORE QUESTION "SETS" FOLLOWING THE SEQUENCE OF: PRINT, DATA, A = , GOSUB  =============== =================" IMMON EXAMPLES" A4 5000I  ===NEXT QUESTION SEQUENCE, ETC.===f*"WHICH PLANET IS EARTH"{4"FROM THE SUN?"> "FIRST","THAT'S MERCURY"H "SECOND","'TIS VENUS, ABOUT DE MILO FROM THE SUN!"R "THIRD","RIGHT...YOU'RE A TERROR FARME"AN EXAMPLE OF A COMPUTER OUTPUT"3"DEVICE IS:"l "PRINTER","YES, BUT THERE WAS ANOTHER IN THE LIST" "KEYBOARD","THAT'S AN INPUT DEVICE!" "TERMINAL SCREEN","YES, BUT THERE IS A BETTER CHOICE" "1. AND 3. ABOVE","O.K...THEY ARE 2 CO VARIABLE "A" TO THE CORRECT CHOICE NUMBER@ ===============HA1^ =============== THEN GOSUB 5000 TO PRINT THE CHOICES, GET THE ANSWER AND RESPOND TO IT ===============5000 ===NEXT QUESTION SEQUENCE, ETC.===!E AND THE RESPONSE FOR THAT CHOICE8 : ===============e D "BLUE-BONNET","BEAUTIFUL, AREN'T THEY" N "ROSE","IT'S BY ANOTHER NAME HERE" X "DANDELION","BLOW IT OFF" b "MORNING GLORY","IT AIN'T, BUT IT COULD BE" l ===============*v SET) 6 OR WHATEVER HERE (UP TO LINE 500)? @ ===============E JK T`  ==============y  PRINT THE QUESTION  ============== "THE STATE FLOWER OF TEXAS IS THE:"  ============== & ADD 4 DATA ELEMENT PAIRS FOR EACH" 0 CHOIC CHOICE (READ FROM DATA)9 C - NUMBER CORRECT COUNTER] R - USER'S ANSWER (VIA INPUT) R$( ) - A GIVEN RESPONSE (READ FROM DATA)  =============== A$(4),R$(4) :C0 " =============== , ADD INTRODUCTORY STATEMENTS, EXAMPLES 4. GOSUB 5000@ QUESTION "SETS" ON ANY TOPIC MAY BEk USED IN THE PROGRAM IF THIS SEQUENCE~ IS FOLLOWED. =============== VARIABLE DICTIONARY =============== A - CORRECT CHOICE ANSWER (1-4) A$( ) - A GIVEN% P PROGRAM FOLLOWING THE SEQUENCE:W Z 1. PRINT STATEMENTS TO ASK THE QUESTION d 2. DATA STATEMENTS FOR 4 CHOICES AND n THE RESPONSE FOR EACH CHOICE x 3. SETTING VARIABLE "A" TO THE NUMBER OF THE CORRECT CHOICEi PROGRAM 24) ===============B TESTING: EXAMPLE 2n( PROGRAM DEMOS MULTIPLE-CHOICE TESTING2 USING DATA-READ TECHNIQUES. QUESTIONS< ARE ASKED IN SEQUENCE (I.E., NO RANDOMIZATION).F ALL QUESTIONS "SETS" ARE ENTERED IN THE   ), WITH: THE FIVE POSSIBLE CHOICES, C$(J), THEN PRINT^ THE INTERPRETATION, T$(J) AND CONTINUE WITH THE OUTER LOOP. ===============J15R$(I)C$(J)1550 ===PRINT INTERPRETATION===" YOU ";T$(J):: SCREEN THEN PRINT THE HEADINGS5P ==============FZI15:::ud" MY PROFILE RANKING OF YOU INDICATES:":n::::x10);L$(I);"..." ============== BEGIN INNER LOOP TO FIND THE MATCH OF THE USER'S CURRENT CHOICE, R$(I1510 < ===FLAG THE NUMBER OF THE ITEM SELECTED===BMZ(N)1`TTC(N):1310vJ111:Z(J)0:J|:J18::JI( ===============2 BEGIN OUTER LOOP TO TAKE USER'S< CHOICES IN SEQUENCE; CLEAR THE FG STATEMENTS IN# THE SEQUENCE:E PRINT(S) FOR THE QUESTIONg INPUT R$ FOR THE RESPONSE A$ = "DEFINED*KEYWORD*ANSWER" GOSUB 5000 IF A$="1" THEN (NEXT KEYWORD) PRINT "REPLY FOR KEYWORD MATCH" GOTO (REP IF A MATCH OCCURS,; A$ IS SET TO "0" OTHERWISE, "1".^ NOTE: A$ MAY CONTAIN UP TO 3~ KEYWORDS DELIMITED BY A * ==================== THE SUBROUTINE MAY BE USED IN ANY BY FIRST LOADING THE "KEYWORD" PROGRAM, THEN ADDIN----"I212!I;4);"I";0J1P1(I):"*";AJGNI{:"WANT ANOTHER SET OF ROLLS (Y OR N)";A$A$"Y"270IT CORRECT,0n PRINT THE CORRECT CHOICE NUMBERLx AND THE CHOICE LISTEDb ===============h"A CORRECT CHOICE IS ";A;".: ";A$(A)5320 ===INCREASE A NUMBER CORRECT COUNTER===CC1 ===LET THE USER SAY WHEN TO GO ON===CE (1-4)";R4  ===CHECK FOR WITHIN RANGE===BR15110PR45110V(2 ===PRINT THE RESPONSE FOR USER'S CHOICE===<R$(R);"!"F ===IS IT THE CORRECT CHOICE?===PAR5300Z ============== d IF THE USER'S CHOICE IS NOI1Lz12);D$(I);Q ===THOSE CORRECTLY NAMED WERE "FLAGGED (D(I) = 1)===aD(I)1940o" *****"|F1:950IF11010 ===IF F IS ZERO, ALL WERE NAMED===6);"*** YOU KNEW THEM ALL! ***"10306);=======0 IF WE GOT THIS FAR, INPUT NAME DIDU  NOT MATCH ANY NAME IN THE LISTk =============== "HMMM...THAT'S NOT ONE..."*T4:>"DEPRESS ANY KEY FOR THE COMPLETE LIST";HZ$R\f8);"THE COMPLETE LIST:"pSCORE. BY 1, AND GIVE A POSITIVE RESPONSED ===============TD(K)1730_D(K)1iSS1|:I111::IR(4(1)1):5);R$(R);"!"I11000:I:810"YOU HAVE GIVEN THAT NAME BEFORE!"710K ================40 GO THRU THE LIST TO CHECK FOR A MATCHJ: ===============UDK1LhNR$D$(K)750~X ===============b NAME INPUT MATCHES ONE IN THE LIST, BUTl HAS IT BEEN PREVIOUSLY ENTERED? IF NOT,v SET THE D(K) = 1, INCREASE THE ES=== I1L D$(I)& D(I)0- IH  ===BEGIN THE TEST===N q "SNOW WHITE AND THE 7 DWARFS"w  "LET'S SEE IF YOU CAN NAME THEM..." I12000:I  T1L I111::I "NAME NUMBER ";T; R$& ========= " 70 , ===LIST OF ITEMS TO BE NAMED===W 6 "BASHFUL","DOC","DOPEY","GRUMPY"w @ "HAPPY","SLEEPY","SNEEZY" J ===STORE THE FEEDBACK=== TI14 ^R$(I) hI r ===STORE HOW LONG THE LIST IS=== |L  ===STORE THE LIST OF NAMENTS)# R - RANDOM NUMBER (4-1)C R$(R) - POSITIVE FEEDBACKl S - NUMBER CORRECT COUNTER (SCORE) ===============  ===POSITIVE FEEDBACK CHOICES===  "O. K.","G R E A T","S U P E R","V E R Y G O O D"  ===NO. OF ITEMS IN LIST= ===============+ VARIABLE DICTIONARYA ===============n D( ) - FLAG FOR THE NUMBER OF THE NAME CORRECTLY ENTERED D$( ) - LIST OF NAMES F - FLAG FOR MISSING AT LEAST ONE NAME L - LENGTH OF THE LIST (NO. OF ELEMY NAME NOT ANSWERED IS LISTED AT THER Z CONCLUSION OF THE PROGRAM. BY CHANGINGx d THE DIM, DATA, AND ALL "FOR-TO" n STATEMENTS TO THE NUMBER OF NAMES IN x THE LIST, THE PROGRAM MAY BE USED AS A MODEL FOR TESTING ANY LIST OF NAMES.  PROGRAM 23( ==============A TESTING: EXAMPLE 1m( PROGRAM DEMOS SIMPLE TESTING EXERCISE2 IN NAMING. PROGRAM CHECKS ANY NAME INPUT< FIRST FOR ACCURACY AND, IF OK, THEN TOF SEE IF NAME HAS BEEN INPUT PREVIOUSLY.$ P AN      تժ@  w> "l6w># ժ2ު~ < <l@ժך՚@ժbc``Mتժ0H``ܪժժ1Rت՚@֪G3ժ#lw<w#<+"DEPRESS ANY KEY TO CONTINUE..."3Z$9b ===RETURN FOR THE NEXT QUESTION===hC* d"WILL TAKE YOU BACK TO THE 'MENU'..."6 nD$(4)> xZ$Q :I111::I} "YOU DEPRESSED THE LETTER '";Z$;"'..." :" SO..." Z$"N"180 D$;"RUN MENU" D$;"RUN CHAIN 2" A(A$)^I;h"ERROR - A$ CONTAINS MORE THAN 3 WORDS"ArJ|P11VI1NWfLW(W$(I))xJP1LRLW1P2J(R$,J,LW)W$(I)5580J5620P1P2LW1IA$"0"A$"1"'FWORDS  ====================-LA(A$):LR(R$)JLRLA5620UI13aJ1LAjP1J(A$,J,1)"*"5400JP2P15410P2P11"W$(I)(A$,1,P2),P1LA54506NWI@5500JA$(A$,P11,LAP1)TL ====================9P A$ - KEYWORD(S) ANTICIPATEDUZ LA - LENGTH OF ANSWERsd LR - LENGTH OF RESPONSEn LW - LENGTH OF KEYWORDx NW - NO. OF KEYWORDS P1,P2 - STRING POINTERS R$ - USER'S RESPONSE W$(3) - ARRAY FOR KEYT BE DECLARED IN THE MAIN; PROGRAM: DIM W$(3)V ====================s  INPUT A$ (AS DEFINED) ==================== OUTPUT - A$=0 CORRECT( A$=1 INCORRECT2 ====================< VARIABLE DICTIONARYFEYWORD)6 PRINT(S) (TO REPLY TO MATCH JUST MADE)\ GOTO (REPEAT OF THE QUESTION,} OR GIVE THE ANSWER) A$="NEXT*KEYWORD" GOSUB 5000 ETC., ETC... ==================== THE FOLLOWING DIM STATEMENT MUS)JP1LRLW1P2J7(R$,J,LW)W$(I)5580>JH5620WP1P2LW1^IiA$"0"ozA$"1"'RP1J(A$,J,1)"*"5400$J.P2P185410DP2P11Y"W$(I)(A$,1,P2)j,P1LA5450s6NWI}@5500JA$(A$,P11,LAP1)TLA(A$)^Ih"ERROR - A$ CONTAINS MORE THAN 3 WORDS"r|P11I1NWLW(W$(I)TH OF RESPONSE+n LW - LENGTH OF KEYWORDFx NW - NO. OF KEYWORDSd P1,P2 - STRING POINTERS R$ - USER'S RESPONSE W$(3) - ARRAY FOR KEYWORDS ====================LA(A$)LR(R$)LRLA5620I13J1LA$ (AS DEFINED)) ====================E OUTPUT - A$=0 CORRECTb( A$=1 INCORRECT}2 ====================< VARIABLE DICTIONARYF ====================P A$ - KEYWORD(S) ANTICIPATEDZ LA - LENGTH OF ANSWERd LR - LENGEAT OF QUESTION)3 A$ = "NEXT KEYWORD ANSWER"T GOSUB 5000 ETC., ETC...o ==================== THE FOLLOWING DIM STATEMENT MUST BE DECLARED IN THE MAIN PROGRAM: DIM W$(3) ====================  INPUT A PROGRAM 'CHAIN 1'6 ===================H:I18::Ii("AND HERE WE ARE EXECUTING"2"PROGRAM 'CHAIN 1'..."<F"IF YOU DEPRESS THE LETTER 'N'"P"(FOR 'NEXT'), WE'LL GO TO THE"Z"PROGRAM, 'CHAIN 2'. ANY OTHER KEY"GRAND SLAM ALWAYS FOR YOU!"!I R* POINTS "%`"ARE IN THIS HAND";,jH:tHP1170]~"I COUNT ";P;" HONOR POINTS!"g1180"GO GET 'EM, GOREN! THAT'S RIGHT!":"DEAL ANOTHER (Y OR N)";Z$Z$"Y"1220P0::500:I111::I"MAY LIFE BE A D2 J1 =========END OF SORTING==========N5);"ARRANGED BY SUIT:"T`I1135);C$(C1(I));12);"OF";16);S$(S1(I))$S1(I)S1(I1)1090. ===SKIP A LINE BETWEEN SORTED "SUITS"===8BIL: V"HOW MANY *H O N OEPRESSED KEY IN THE VARIABLE2R ===============:\Z$@fhp =========SORTING ROUTINE=========tzJ213D1S1(J)D2C1(J)KJ111S1(K)D1980S1(K1)S1(K)C1(K1)C1(K)KK0S1(K1)D1C1(K1) CARD NAME AND SUIT VALUES TO SORT===1S1(D)S=C1(D)Ca5);C$(C);12);"OF";16);S$(S)h Dn "DEPRESS ANY KEY, AND I'LL"*"ARRANGE THE HAND BY SUIT."4 ===============> THE "GET" STATEMENT STORES THE VALUEH OF ANY D======0 HERE IS A NEW USE OF IF-THEN STMTS:Z IF THE EXPRESSION IS TRUE, THEN THE VALUE OF P WILL BE INCREASED ACCORDINGLY ===============C1PP4:750C13PP3:750C12PP2:750C11PP1% ===STORE THEC(I,J)0JI:&"HERE'S HOW THEY WERE DEALT:"@0L:D113iD ===PICK A CARD NAME===|NC(13(1)1)X ===PICK A SUIT NAME===bS(4(1)1)l ===HAS THIS CARD BEEN DEALT?===vC(C,S)1590C(C,S)1 =========13 rC$(I) |I5  ===STORE THE SUIT NAMES===@ I14K S$(I)R IX z " A SIMULATED BRIDGE HAND"   ===============  INITIALIZE THE ARRAY (SHUFFLE  THE CARD DECK)  =============== I113 J14 ,S1(14),C1(13)% " ===CARD NAMES===T , "ACE","DEUCE","TREY","FOUR","FIVE","SIX"w 6 "SEVEN","EIGHT","NINE","TEN" @ "JACK","QUEEN","KING" J ===SUIT NAMES=== T "CLUBS","DIAMONDS","HEARTS","SPADES" ^ ===STORE THE CARD NAMES=== hI1R (ACE = 4,4 KING = 3, QUEEN = 2, JACK = 1)Q S - SUIT "VALUE" (1-4)~ S1( ) - DEALT CARD SUIT "VALUE" STORED FOR LATER SORTING  S$( ) - SUIT "NAME" (CLUBS, DIAMONDS, ETC.)  =============== C(13,4),C$(13),S$(4)RIABLE DICTIONARY' ===============E C - CARD "VALUE" (1-13)m C1( ) - DEALT CARD "VALUE" STORED FOR LATER SORTING C$( ) - CARD "NAME" (ACE, DEUCE, ETC.) C( , ) - CARD "DECK" (2-DIM ARRAY) P - HONOR POINT COUNTERANDOMLY SELECTED FROM THE "DECK."T Z A NEW USE OF THE IF-THEN STMT IS INTRODUCED d IN COUNTING "HONOR" POINTS. THE "GET" n STMT IS SHOWN AS AN ALTERNATIVE TO INPUT. x THE FIRST EXAMPLE OF A SORT IS ALSO GIVEN. =============== VA"  PROGRAM 21) ===============E SIMULATION: EXAMPLE 2r( PROGRAM DEMOS THE USE OF A 2-DIM ARRAY2 (13 ROWS BY 4 COLUMNS) TO SIMULATE< A CARD DECK (13 CARD VALUES BY 4 SUITS).F THIRTEEN CARDS (E.G., A BRIDGE HAND)" P ARE      Z$ 1530;"DO YOU WISH ANOTHER ANALYSIS (Y OR N)";CZ$ZZ$"Y"T0::550d1530"MAY YOUR BODY BE BEAUTIFUL..."J14000:J: M$J111:F$(J),C(J):J:14);M$:(" FOOD";28);"CALORIES":2J1 A N A L Y S I S"3tP((((TC)7)3500)10)10C~J14::Jr:"IF YOU ARE CONSISTENT IN THIS CALORIC":"INTAKE, YOUR WEIGHT DIFFERENTIAL WILL":"BE APPROXIMATELY ";P;" POUNDS/WEEK.":" D E P R E S S A N Y K E Y..."IDEAL WEIGHT IS ";I:=."TO MAINTAIN THAT WEIGHT YOU NEED"[8C;" CALORIES PER DAY.":B"YOUR DAILY CALORIC INTAKE BASED UPON"L"THE LIMITED MENU IS ";T;" CALORIES.":V" D E P R E S S A N Y K E Y..."`Z$j:::" D A T AF:"," 1. SEDENTARY (LITTLE EXERCISE)"K" 2. MODERATELY ACTIVE"d" 3. VERY ACTIVE"}"ENTER 1, 2, OR 3";EE1E3980E1A12:1040E2A15:1040E3A18CIA:8);"SUMMARY OF DATA":$"YOUR :"*" 1. FEMALE"(4" 2. MALE"=>"ENTER 1 OR 2";DHSURS1S2830m\S1B100:W5:880{fB106:W6p1530z"WHAT IS YOUR HEIGHT IN INCHES";HH48H84890I((H60)W)B1530"DO YOU CONSIDER YOURSEL115% "BEEF STEAK",560,"BEETS",40N "DOZEN RAW OYSTERS",240,"FISH",400m "MACARONI",85,"PEAS",115 "TOSSED SALAD",75,"T.V. DINNER",50012901530"NOW, SOME PERSONAL DATA IS NEEDED..." J13000:J1530 "ARE YOUACKERS",753l "FRENCH FRIES",400,"HAMBURGER",260Sv "MILK",125,"TUNA FISH",50w "VEGETABLE OR FRUIT SALAD",751290 ===DINNER DATA=== "DINNER","APPLE (OF COURSE) PIE",300 "BAKED POTATO",250,"BEFORE DINNER DRINK",LK",125. "ORANGE JUICE",60,"PANCAKES",225^ "SWEET ROLL",250,"TOAST",75,"WAFFLES",550h&1290n0: ===LUNCH DATA===DN "LUNCH","BEER",125,"BEFORE LUNCH DRINK",115X "CHEESEBURGER",310,"COLA",144 b "COTTAGE CHEESE",110,"CRFFECT ON YOUR IDEAL WT."F:" D E P R E S S A N Y K E Y..."NZ$To ===BREAKFAST DATA===u "BREAKFAST","BACON OR SAUSAGE",200,"CEREAL WITH MILK",250 "COFFEE (BLACK)",5,"COFFEE (WITH SUGAR)",50 "EGGS (2)",100,"MIWILL BE PRESENTED A MENU FOR BREAK-"U :"FAST, LUNCH, AND DINNER. SELECT AS MANY" :"ITEMS FROM EACH MENU AS YOU WISH. AFTER" :"YOUR DAILY MENU HAS BEEN COMPLETED, YOU" :"WILL RECEIVE A SUMMARY OF YOUR CALORIC":"INTAKE AND ITS E FACTOR/INCH FROM 5 FT.< 6 Z() - FLAG FOR FOOD SELECTEDY @ ====================_ Jw TC(11),F$(11),Z(11) ^:J19::J h"A SIMULATED DAILY CALORIC INTAKE AND" r:" ITS EFFECT ON YOUR IDEAL WEIGHT" |J14000:J$ ::"YOU F$() - FOOD LIST FOR MEALS> H - HEIGHT IN INCHESW I - IDEAL WEIGHTi M$ - MEAL  N - NUMBER OF THE FOOD SELECTED  P - POUNDS (LOSS OR GAIN)  S - SEX OF THE USER " T - TOTAL CALORIC INTAKE , W - WT.=================== 5 VARIABLE DICTIONARYQ ===================v A - EXERCISE ACTIVITY FACTOR B - BASE WEIGHT C - CALORIES TO MAINTAIN IDEAL WT. C() - CALORIES PER FOOD PORTION E - TYPE OF EXERCISE!TIVITY OF THE USER, AN IDEALG P WEIGHT AND CALORIC INTAKE TO MAIN-s Z TAIN THAT WEIGHT IS GIVEN. FINALLY, d A WEIGHT DIFFERENTIAL (LOSS OR GAIN) n ASSUMING CONSISTENT CALORIC INTAKE x IS SHOWN. BUT, THE MENU IS LIMITED!   PROGRAM 20 DESCRIPTION? ======================l SIMULATION: THIS PROGRAM PRESENTS A( SIMULATED (AND LIMITED!) DAILY MENU2 FOR SELECTION BY A USER. BASED UPON< THE MENU SELECTED AND THE SEX, HT., F AND AC           ժrܪպ֪C @ժՎ"(***** = NAME NOT LISTED!)":N ===SHOW THE SCORE TO ONE DECIMAL PLACE==="THAT'S ";(S100L10)10;" PERCENT CORRECT!""BYE-BYE FOR NOW...AND WATCH"$" OUT FOR THOSE APPLES!".Z350,370,3903 ^"GOING TO PROGRAM 'CHAIN 1'..."I hD$;"RUN CHAIN 1"n r"GOING TO PROGRAM 'CHAIN 2'..." |D$;"RUN CHAIN 2" "STOPPING THIS INTERACTION AND" "GETTING THE DISK 'CATALOG'..." I13000:I D$;"CATALOG"  IHAIN 2" " 3. STOP; " YOUR CHOICE (1-3)";B ZU Z1Z3330v "*** OUT OF RANGE ***":250 " =============== , CLEAR THE SCREEN, CENTER AND 6 TELL WHAT'S HAPPENING... @ =============== J:I111::I TCUTED (RUN) BY THE SYSTEM."2 ===============f DEFINE A VARIABLE AS A 'CONTROL-D' (CHR$(4))} =============== D$(4) : " YOUR OPTIONS:" " ---- --------" " 1. PROGRAM CHAIN 1" " 2. PROGRAM C= ";G;"/";W(X)%H"= ";(M100)100.R880L\" E X C E L L E N T !"rf ===LET USER CONTINUE AT WILL===xpz"WANT ANOTHER (Y OR N)";R$R$"Y"310IF CORRECT TO HERE, MUST BE MATH ERROR===J"HMMM...THAT IS THE CORRECT"l"FW FOR ";C$(X);". YOU MUST""HAVE MADE AN ARITHMETIC" "ERROR. CHECK AND TRY AGAIN."400 * ===SHOW THE CORRECT SOLUTION===4"MOLES = WT/FW">". THAT IS CORRECT."1"WHAT VALUE DID YOU USE"N"FOR THE FW OF ";C$(X);UV[r(VW(X)).1750"AHA! THIS MAY BE YOUR""PROBLEM. THE APPROXIMATE""FW OF ";C$(X);" IS ";W(X)"NOW TRY IT AGAIN..."400( ===IF15 ===ASK FIRST STEP IN SOLUTION SEQUENCE===T&"NO...DID YOU DIVIDE THE"v0"WEIGHT BY THE FW (Y OR N)";~:R$DNR$"Y"630X"WELL, YOU SHOULD! TRY AGAIN."b400l ===CHECK FOR SECOND STEP IN SOL'N SEQUENCE===v"GOOD"; R %  ===============M  USE THE ABS FUNCTION TO ACCEPT ANt  ANSWER THAT IS WITHIN 0.1 OF THE  CORRECT ANSWER AND THE USER'S ANSWER  =============== (RM).1860  ===GIVE ANSWER ON SECOND MISS=== F1800GET A RANDOM NUMBER OF GRAMS AND AM T RANDOM COMPOUND THEN CALCULATE MOLESd ^ ================z hG(10(1)1)20 rX(3(1)1) |MGW(X)  ===ASK THE QUESTION===  "HOW MANY MOLES OF ";C$(X);" ARE" "PRESENT IN ";G;" GRAMSPOUND+ X - RANDOM NUMBER (3 TO 1) FOR H COMPOUND SELECTION^ ===============n C$(3),W(3)  "KOH",56,"HF",20,"KI",166  ===STORE THE FORMULAS AND WEIGHTS=== I13 "C$(I),W(I) ,I 6F0 @ ===============" J ( C$( ) - CHEMICAL COMPOUND FORMULAT F - FLAG FOR MISSING QUESTION 1ST TRY G - RANDOM NUMBER OF GRAMS OF COMPOUND M - NUMBER OF MOLES (GRAMS/FORMULA WT) R, R$, V - USER RESPONSES (VIA INPUTS) W( ) - FORMULA WEIGHT OF A COM ONLY THREE COMPOUNDS ARE USED IN M Z THE EXAMPLE WITH THEIR FORMULAS AND} d FORMULA WEIGHTS STORED IN ONE-DIM ARRAYS. n USE OF THE ABS (ABSOLUTE) FUNCTION x IS ALSO INTRODUCED. ============ VARIABLE DICTIONARY ============  PROGRAM 19' =============J TUTORIAL "DIALOG": EXAMPLE 4s( PROGRAM DEMOS MORE OF A "TUTORIAL"2 TYPE OF INTERACTION BETWEEN USER AND< THE PROGRAM USING THE CHEMICAL CONCEPTF OF THE "MOLE" AS AN ILLUSTRATIVE VEHICLE.# P     NS TO BE ASKED(^ EXAMPLE: DATA 25,15Uh THEN ADD DATA FOR THE QUESTION "SETS"r IN THE SEQUENCE "QUESTION", "ANSWER"| "FIRST HINT","SECOND HINT" ============'" BYE-BYE..."' "YOUR ANSWER: ";S$(I)&D"CORRECT ANSWER: ";A$(I)L:r10);"PRESS RETURN TO CONTINUE";z"Z$,I6 ===============@ ADD A DATA STATEMENT HERE FOR J THE NUMBER OF QUESTION "SETS" ANDT THE NUMBER OF QUESTIOZI11000:IdF01400(nCC1/xQB:I110::I`"FIRST TRY CORRECT = ";CpCN21460"E X C E L L E N T !"9999"THE ONES MISSED AT LEAST ONCE ARE:"I1N1Z1(I)01580::"QUESTION: ";Q$(I)H2$(X)10706"A CORRECT ANSWER IS ";A$(X)W"PRESS RETURN TO CONTINUE";_ Z$i1400 ===============( CLEAR, CENTER, GIVE FEEDBACK2 AND HOLD IT FOR A MOMENT< ===============F:I111::IP10);C$(R);"!"tS$(X)R$~FF1+ ===============Y GIVE EITHER THE FIRST HINT, THE SECOND{ HINT, OR THE CORRECT ANSWER ==============F1210,1240,1270W$(R);"! HERE'S A HINT:"H1$(X)1070W$(R);"! HERE'S ANOTHER HINT:" ====Q1N2:F0$::7X(N1(1)1)HZ(X)11030SZ(X)1p$ ===ASK THE QUESTION===~.:Q$(X);8R$BR(5(1)1)LR$A$(X)1350V:I110::I` ===FLAG QUES NO. MISSED AND STORE RESPONSE===jZ1(X)1 = :N1,N2:D ===NOW STORE QUES, ANS, HINT1, HINT2===FNI1N1eXQ$(I),A$(I),H1$(I),H2$(I)pbZ(I)0|lZ1(I)0vIC0 ============== INTRODUCTORY STATEMENTS MAY BE ADDED HERE UP TO LINE NUMBER 1000 =========== MAY HELP"9 ===STORE CORRECT, INCORRECT RESPONSES===DI15UC$(I),W$(I)\Ir =============== READ THE NUMBER OF QUESTION "SETS" AVAILABLE FROM DATA AND THE NUMBER& OF QUESTIONS TO ASK IN THE LOOP0 ===============$(50),A$(50),H1$(50),H2$(50)AS$(50),Z(50),Z1(50),C$(5),W$(5)u ===FEEDBACK FOR CORRECT/INCORRECT RESPONSE=== "GRRREAT","NO...THINK OF THIS" "FINE","HOLD IT","PERFECT","NO...NOT YET" "HOT-DOG","LET ME HELP"  "MARVELOUS","THISONSE (VIA INPUT)8 ^ S$( ) - USER'S INCORRECT RESPONSEm h W$( ) - RANDOM FEEDBACK FOR INCORRECT RESPONSE r X - RANDOM NUMBER (N1 TO 1) | Z(X) - RANDOM NUMBER SELECTION FLAG  Z1(X) - FLAG FOR THE QUES NO. MISSED  ==============Q A QUESTION HAS BEEN MISSED9  H1$( ) - FIRST HINTT " H2$( ) - SECOND HINT , N1 - TOTAL NUMBER OF QUES, ANS, HINTS 6 TO BE READ FROM DATA @ N2 - NUMBER OF QUESTIONS TO ASK IN LOOP J Q$( ) - QUESTION ASKED T R$ - USER RESP AND HINT2 ARE ADDED AFTER LINE 16709 ==============S VARIABLE DICTIONARYh ============== A$( ) - CORRECT ANSWER C - NUMBER CORRECT COUNTER C$( ) - RANDOM POSITIVE FEEDBACK  F - COUNTER FOR THE NUMBER OF TIMES  RRECT RESPONSE. REVIEW OF MISSEDK QUESTIONS IS GIVEN AT CONCLUSION OFu THE PROGRAM. DATA REPRESENTING THE NUMBER OF QUESTIONS AVAILABLE (N1) AND NUMBER OF QUESTIONS TO BE ASKED (N2) PLUS DATA FOR QUESTION, ANSWER, HINT1,$ TO, F QUESTIONS, ANSWERS, AND HINTS OF AV P USER'S CHOOSING MAY BE ADDED TO THEz Z MODEL PROGRAM. THIS PROGRAM d ARBITRARILY HAS FIVE CHOICES FOR n CORRECT/INCORRECT FEEDBACK INCLUDED. x UP TO TWO HINTS ARE GIVEN FOR EACH! INCO& REMOVE LINES 1-3 BEFORE USING210,110;1,3M PROGRAM 18c =============== TUTORIAL "DIALOG": EXAMPLE 3( PROGRAM BASED ON PROGRAM 17 CONCEPTS2 PROGRAM DEMOS HOW "MODELS" MAY BE < BUILT SO THAT DATA CORRESPONDING          R$R(3(1)1)+R$A$(X)13609F11470O ===============t FOR A QUESTION THAT IS MISSED: 1. FLAG THE NUMBER OF THAT QUESTION 2. STORE THE RESPONSE GIVEN BY THE USER IN S$(X) FOR LATER RECALL ========== RANGE===Q11050&Q15105001080S"AWWW, IT HAS TO BE 1 TO 15!"\$990z. ===ASK "Q" QUESTIONS===8J1QB:I110::ILF0VX(15(1)1)` ===HAS X APPEARED BEFORE?===jZ(X)11110tZ(X)1~Q$(X);IVE YOU YOUR SCORE."> ===INPUT STATEMENT CAN HAVE TEXT===c:"PRESS RETURN TO CONTINUE";Z$ ===CLEAR AND CENTER ON SCREEN===:I111::I"I HAVE 15 QUESTIONS AVAILABLE.""HOW MANY WOULD YOU LIKE";:Q  ===CHECK FOR WITHIN"I'LL DO IS ASK SOME QUESTIONS":L"THAT ARE 'FUN AND GAMES'. IF YOU":v"MISS ON THE FIRST TRY, I'LL GIVE":"A HINT. I'LL ONLY GIVE YOU TWO":"CHANCES TO ANSWER. AT THE END,":"I'LL SHOW YOU THE QUESTIONS MISSED":"AND GI :::."MORE FUN AND GAMES":4 S*"WHAT'S YOUR FIRST NAME";[4F$c>:iHR ===INTRODUCTION===\"HELLO, ";F$;". THIS PROGRAM":f"SHOWS SOME SIMPLE USES OF BASIC":p"IN INSTRUCTIONAL COMPUTING. WHAT":"z ME HELP" ===============B STORE QUESTION, ANSWER, HINTX ===============dI115{Q$(I),A$(I),H$(I)Z(I)0:Z1(I)0I =============== STORE FEEDBACK FOR CORRECT, INCORRECT RESPONSE===I13C$(I),W$(I)L OF OREGON","SALEM",N "WITCH HUNT CITY"VX "'NEW DOOR' REARRANGED TO ONE WORD"wb "ONE WORD","IT'S ONE WORD"l ===FEEDBACK FOR CORRECT/INCORRECT RESPONSE===v "GREAT","OH, SHOOT" "SENSATIONAL","WHOA NOW..."  "HOT-DOGGIES","LETSLOTH","AI"* "FIRST AND THIRD VOWELS"M "LARGEST RIVER IN THE WORLD"i "AMAZON","BIG-MOMMA!" "LONGEST RIVER IN THE WORLD"& "NILE","A SHADE OF GREEN"0 "NORTHERN WATER BORDER OF TEXAS": "RED RIVER","RED RYDER"D "CAPITA "AN APPLE A DAY","MICROCOMPUTER"H "WHICH IS LONGER: METER OR YARD"m "METER","A METER IS 39.37 IN." "MONTH OF THE LONGEST DAY" "JUNE","ASSUME N. HEMISPHERE" "THE 'B' IN BASIC"  "BEGINNER'S","NOVICE'S"  "A THREE-TOED OSER"& ^ "RAVEL","SWEATERS CAN UN-"E h "FORMULA FOR ZINC OXIDE"^ r "ZNO","ZINC IS ZN" | "GOLIATH'S SLAYER","DAVID"  "SLINGSHOT"  "DANIEL WAS PLACED IN THE LION'S -?-"  "DEN","FAMILY ROOM"  "WHAT KEEPS THE DOCTOR AWAY"!LAG FOR QUESTION NUMBER MISSED BY USER< " ===============v ,Q$(15),A$(15),H$(15),S$(15),Z(15),Z1(15),C$(3),W$(3) 6 ===QUESTION, ANSWER, HINT DATA=== @ "LATIN FOR 'BUTTOCKS'" J "GLUTEUS MAXIMUS","GLUTEALS" T "LAST NAME OF 'BOLERO' COMPOM NUMBER (3-1) FOR FEEDBACKA R$ - USER RESPONSE (VIA INPUT)y S$( ) - USER INCORRECT RESPONSE TO QUESTION Q$( ) W$( ) - FEEDBACK FOR 1ST INCORRECT RESPONSE  X - RANDOM NUMBER (15-1)  Z(X) - FLAG FOR RANDOM NUMBER X&  Z1(X) - F - NUMBER CORRECT 1ST TRY COUNTERM C$( ) - FEEDBACK FOR CORRECT RESPONSEy F - FLAG FOR MISSING QUESTION 1ST TRY H$( ) - HINT FOR QUESTION Q$( ) Q - NUMBER OF QUESTIONS ASKED (VIA USER INPUT) Q$( ) - QUESTION ASKED R - RANDTO SELECT THE NUMBER OF4 Z QUESTIONS TO BE ASKED.b d ONLY THOSE QUESTIONS ANSWERED CORRECTLY n ON FIRST ATTEMPT ARE COUNTED AS OK x =============== VARIABLE DICTIONARY =============== A$( ) - ANSWER TO QUESTION Q$( )! C PROGRAM 17) ===============L TUTORIAL "DIALOG": EXAMPLE 2s( PROGRAM IS SIMILAR TO PROGRAM 162 BUT ADDS THE FEATURES OF IMPROVED< SCREEN DISPLAY AND "REVIEWS" EACHF QUESTION MISSED AT LEAST ONCE. USER P IS ALLOWED          HAIN 2 ARE2 P USED FOR DEMONSTRATION PURPOSES.J U ================\ Z:I15::Ix d" M E N U": n"THIS PROGRAM DEMONSTRATES HOW A 'MENU'" x"OF PROGRAMS MAY BE PRESENTED FOR" "SELECTION AND THEN AUTOMATICALLY" "EXE PROGRAM 'MENU'0 ================\ THIS PROGRAM DEMONSTRATES THE USE OF( INCORPORATING BASIC COMMANDS INTO THE2 BODY OF A PROGRAM BY DEFINING A< STRING VARIABLE (E.G., D$) = CHR$(4). F TWO PROGRAMS, CHAIN 1 AND C    "YOU ANSWERED ";C;" CORRECTLY!"7$7);"BYE-BYE..."=.IR FOR FEEDBACK===#R(3(1)1)5R$A$(X)990b ===HAS QUESTION BEEN MISSED BEFORE?===pF11020xF1W$(R);"! HERE'S A HINT:"H$(X)880C$(R);"!"CC11030"A CORRECT ANSWER IS ";A$(X)Q!$"HERE ARE 8 QUESTIONS...":  ===============P ASK 8 QUESTIONSf  ===============q*Q18w4>F0HX(15(1)1)R ===HAS X APPEARED BEFORE?===\Z(X)1840fZ(X)1pQ$(X);zR$ ===GET A RANDOM NUMBE STORE QUESTION, ANSWER, HINT3v ===============?I115VQ$(I),A$(I),H$(I)aZ(I)0hI~ =============== STORE CORRECT, INCORRECT FEEDBACK ===============I13C$(I),W$(I)I" FUN AND GAMES"MAKE MERRY",& "ADAM'S ALE","WATER","H2O"N0 "CM PER INCH","2.54","?.54": ===FEEDBACK FOR CORRECT/INCORRECT RESPONSE===D "HOT-DOGGIES","WHOOPS"N "PERFECT","YOU'RE KIDDING"X "SENSATIONAL","THINK OF THIS"b ===============l/.5)+3)"9 "GEORGE WASHINGTON COULD NOT TELL A --?--"X "LIE","LITTLE WHITE -?-"v "THREE-TOED SLOTH","AI" "FIRST AND THIRD VOWELS" "COOLED LAVA","AA" "SOUND OF PLEASURE" "MONTH OF THE WINTER SOLSTICE"  "DECEMBER","OOM"  "THE 'B' IN BASIC";  "BEGINNER'S","NOVICE'S"^  "LARGEST CITY IN CALIFORNIA"  "LOS ANGELES","CITY OF ANGELS"  "A SYNONYM FOR PARONOMASIA"  "PUN","PUNSTERS USE THESE"  "DIVIDE 50 BY 1/2 AND ADD 3. ANS" "103","((506 "LAST NAME OF 'BOLERO' COMPOSER"E @ "RAVEL","SWEATERS CAN UN-"l J "FORMULA FOR POTASSIUM FLUORIDE" T "KF","POSTASSIUM IS K" ^ "GOLIATH'S SLAYER","DAVID" h "SLING-SHOT" r "DANIEL WAS PLACED IN THE LION'S -?-"  | "DEN","FAMILY RST INCORRECT RESPONSE4 X - RANDOM NUMBER (15-1)Z Z(X) - FLAG FOR RANDOM NUMBER Xp  =============== Q$(15),A$(15),H$(15),Z(15),C$(3),W$(3)  ===QUESTION, ANSWER, HINT DATA=== " "CAPITAL OF TEXAS","AUSTIN" , "OL' STEPHEN F."$ ) - FEEDBACK FOR CORRECT RESPONSEJ F - FLAG FOR MISSING QUES 1ST TRYp H$( ) - HINT FOR QUESTION Q$( ) Q - COUNTER FOR NUMBER OF QUESTIONS (LOOP) Q$( ) - QUESTION ASKED R$ - USER RESPONSE (VIA INPUT) W$( ) - FEEDBACK FOR 1ACK FOR CORRECT AND INCORRECTC d USER RESPONSES IS ALSO RANDOMLYg n SELECTED FROM ONE-DIM ARRAYS.} x =============== VARIABLE DICTIONARY =============== A$( ) - ANSWER FOR QUESTION Q$( ) C - NUMBER CORRECT COUNTER" C$(>  PROGRAM 16) ===============L TUTORIAL "DIALOG": EXAMPLE 1q( PROGRAM DEMOS RANDOM QUESTIONS2 WITH ONE HINT. SELECTION IS FROM< ONE-DIM ARRAYS. DATA IS STOREDF IN THE SEQUENCE: P QUESTION, ANSWER, HINT. Z FEEDB       RAM BY FIRST LOADING THE=  "KEYWORD" PROGRAM, THEN ADDING_  STATEMENTS IN THE SEQUENCE:  PRINT(S) (FOR THE QUESTION)  INPUT R$ (FOR THE RESPONSE)  A$="DEFINED*KEYWORD*ANSWER"  GOSUB 5000 IF A$="1" THEN (TO NEXT KACTER%  SEQUENCE MATCH AS DEFINEDF  IN A$. IF A MATCH OCCURS,m  A$ IS SET TO "0" OTHERWISE, "1".  NOTE: A$ MAY CONTAIN UP TO 3  KEYWORDS DELIMITED BY A *  ====================  THE SUBROUTINE MAY BE USED WITH ANY  PROGY SOCKS SHOULD BE"5 "WASHED AND DRIED!!!!":10000P  ====================l  PROGRAM NAME: KEYWORD  ====================  THIS SUBROUTINE READS A  USER'S RESPONSE (MUST BE  FROM: INPUT R$) AND CHECKS  FOR A "KEYWORD" CHAR"THROW":5000 A$"1"180> "DON'T TOSS THEM YET...TRY"^ "SOME SOAP AND WATER.":10r A$"GIVE":5000 A$"1"210 "NO ONE WOULD TAKE THEM!!!":10 "(NO MATCH YET...)" "THINK OF SOAP AND SUNSHINE!":10 : "THOSE DIRTIRTY"' 2"SOCKS. WHAT SHOULD YOU DO"= <"WITH THEM NOW";E FR$] PA$"WASH*DRY":5000m ZA$"1"110 d"GOOD! YOU MIGHT USE A BIT" i"OF FOOT POWDER, TOO!":10000 nA$"WASH":5000 xA$"1"140 "DO YOU WEAR WET SOCKS?":10 A$ " ===PROGRAM NAME: SOCKS===H ===DEMOS KEYWORD SUBROUTINE===q ===VARIABLE F IS A COUNTER FOR=== ===REPEATING THE QUESTION NO=== ===MORE THAN 4 TIMES===F0 FF1F4230 ("YOU HAVE REMOVED YOUR D  " TO 1000 ===============2:J111::J[" P E R F E C T!":J11000:JeCC1 ===CLEAR THE SCREEN THEN GO===IJ111::J"Y O U G O T ";C;" C O R R E C T !"PE"; :Z$D710(N =============PX NOW WE'LL USE MULTIPLE STATEMENTSxb ON A LINE TO 1. ERASE THE SCREEN,l 2. SKIP DOWN TO THE MIDDLE OF THEv SCREEN, 3. PRINT A RESPONSE, AND 4. HOLD THE DISPLAY WHILE THE  SYSTEM "COUNTS"# "ITS AREA IN SQUARE INCHES";* SO  ===IS INPUT CORRECT ANSWER?===\ AS670b  "NO, AREA = 1/2 BASE X HEIGHT" "= 1/2 X ";B;" X ";H "= ";A;" SQUARE INCHES" & ===USER CONTROLS WHEN TO GO===0"PRESS RETURN TO CONTINU===, | GET RANDOM VALUES FOR THE BASE ANDQ  HEIGHT AND CALCULATE THE AREA.g  ===============| B(10(1)1)5 H(15(1)1)10 A.5BH "THE BASE OF A TRIANGLE IS" B;" INCHES AND ITS HEIGHT" "IS ";H;" INCHES. WHAT ISF A TRIANGLE" 9 "HOW MANY PROBLEMS DO YOU WANT";@ PM "P1270[ ,P11350y 6"THAT'S TOO MANY...KEEP" @" IT TO 10 OR LESS." J270 T ===USER GOT TO DEFINE THE VALUE OF P (WITHIN LIMITS)=== ^I1P h r ============ THE 'BASE' OF A TRIANGLEA H - RANDOMLY SELECTED VALUE FORf THE 'HEIGHT' OF A TRIANGLE P - NUMBER OF PROBLEMS SELECTED BY USER S - USER ANSWER (INPUT) ============== "DRILL ON CALCULATING THE" "AREA O OF A QUESTION.; Z PROGRAM ALSO DEMOS FOR THE FIRST TIMEj d THE USE OF MULTIPLE STATEMENTS PER LINE! n ============== x VARIABLE DICTIONARY ============== A - AREA OF TRIANGLE (ANSWER) B - RANDOMLY SELECTED VALUE FOR  PROGRAM 15) ==============M DRILL AND PRACTICE: EXAMPLE 4u( PROGRAM DEMOS USER CONTROL OF THE2 NUMBER OF QUESTIONS TO BE ASKED, < AND USE OF RND(1) TO RANDOMLY F GENERATE NUMBERS WITHIN LIMITS TO P USE IN THE TEXT     000 ====================: PROGRAM NAME: KEYWORDU ====================s THIS SUBROUTINE READS A USER'S RESPONSE (MUST BE FROM: INPUT R$) AND CHECKS FOR A "KEYWORD" CHARACTER SEQUENCE MATCH AS DEFINED IN A$."4505"USA, YES...BUT SPELL IT OUT PLEASE!":130K ===============t NO ANTICIPATED ANSWER WAS MATCHED, SO GIVE THE CORRECT ANSWER. ===============:"THE ANSWER I WANTED WAS THE""UNITED STATES OF AMERICA!"10A$"1"370- h"UNITED WHAT OF WHAT???":130[ m ===SET A$ TO NEXT ANTICIPATED ANSWER===l rA$"AMERICA"v |5000 A$"1"410 "YES, BUT WHAT OF AMERICA???":130  ===SET A$ TO NEXT ANTICIPATED ANSWER=== A$"U*S*A" 5000A$"1A$"1"2802 "THAT'S IT...VERY GOOD!":10000`  ===SET A$ TO NEXT ANTICIPATED ANSWER===s A$"UNIT*STAT"} "5000 ,A$"1"330 6"UNITED STATES OF WHAT???":130 @ ===SET A$ TO NEXT ANTICIPATED ANSWER=== JA$"UNITED" T5000 ^ A$"1"2307 "YOU ARE TRYING TO BE TRICKY!":130M ===============z SET A$ TO NEXT ANTICIPATED ANSWER AND, WE'LL DEFINE ANY STRING CONTAINING "UNIT STAT AMER" AS CORRECT =============== A$"UNIT*STAT*AMER" 5000 ===INPUT VARIABLE MUST BE R$===) R$? ==============f CHECK FIRST FOR A "CUTE" REPLY, E.G., "NOT THE UNITED STATES OF AMERICA" ============== A$"N*UNITED*STATES" 5000 ===DID IT MATCH A$ AS DEFINED (A$=0)?===CIPATED ANSWERS ARE CHECKEDG P AND THE PROGRAM RESPONDS ACCORDINGLYa Z IF A MATCH OCCURS. d ========================== n:W$(3) x"A DEMO OF THE KEYWORD SUBROUTINE." "WHAT DO WE CALL OUR FIFTY STATES" "COLLECTIVELY";! # PROGRAM NAME: KEYWORD DEMOE ==========================o THIS PROGRAM IS A DEMONSTRATION OF( THE "KEYWORD" SUBROUTINE. THREE2 KEYWORDS AS DEFINED MUST BE IN THE< USER'S RESPONSE FOR A CORRECT ANSWER. F OTHER ANTI   / "FIRST I'LL EMPHASIZE THE WORD, 'THE'"T "AND YOU SHOULD IDENTIFY 'THE'"u "AS AN ARTICLE. NEXT I'LL" "EMPHASIZE THE WORD, 'DOG' WHICH SHOULD" "BE IDENTIFIED AS THE SUBJECT." "FINALLY, I'LL EMPHASIZE, 'BITES' 12"WHMPLETE SENTENCE"5 h"AND YOU ARE ASKED TO IDENTIFY"X r"EACH PART OF THAT SENTENCE,"m |"WORD BY WORD."s   ===USER CONTROLS WHEN TO GO=== "PRESS RETURN TO CONTINUE"; Z$  " *** EXAMPLE ***"  "THE DOG BITES." ","MARVELOUS","THAT'S IT","VERY GOOD"H ===STORE FEEDBACK CHOICES===S I14^ F$(I)e I " ===GIVE THE INTRODUCTION=== , 6" INTRODUCTION" @ J"THIS IS A SHORT DRILL ON" T"SENTENCE STRUCTURE. I'LL" ^"PRESENT A COT/ W - NUMBER OF WORDS IN A GIVEN SENTENCES W$( ) - WORDS OF THE SENTENCEu X - QUESTION (WORD) COUNTER Y - WORD NO. IN SENTENCE TO EMPHASIZE =============== F$(4),W$(8) ===POSITIVE FEEDBACK CHOICES===% "WELL DONE QUESTION SEQUENCE.7 Z TWO (2) SUBROUTINES ARE USED.M d ===============g n VARIABLE DICTIONARY} x =============== A$ - ANTICIPATED CORRECT ANSWER C - NUMBER CORRECT COUNTER F$( ) - RANDOM POSITIVE FEEDBACK R$ - USER INPU PROGRAM 14* ===============N DRILL AND PRACTICE: EXAMPLE 3s( DEMOS RANDOM POSITIVE FEEDBACK2 FROM A ONE-DIM ARRAY, GIVING< USER OPTIONS FOR PROGRAM CONTROL,F AND THE USE OF THE INVERSE STATEMENT P FOR EMPHASIS IN       P1)TLA(A$)^IDh"ERROR - A$ CONTAINS MORE THAN 3 WORDS"JrS|P11_I1NWoLW(W$(I))JP1LRLW1P2J(R$,J,LW)W$(I)5580J5620P1P2LW1IA$"0"A$"1"' Y FOR KEYWORDS) ====================6LA(A$)CLR(R$)SLRLA5620^I13jJ1LAsP1J(A$,J,1)"*"5400JP2P15410P2P11"W$(I)(A$,1,P2),P1LA54506NWI@5500JA$(A$,P11,LAONARY F ====================B P A$ - KEYWORD(S) ANTICIPATED^ Z LA - LENGTH OF ANSWER| d LR - LENGTH OF RESPONSE n LW - LENGTH OF KEYWORD x NW - NO. OF KEYWORDS  P1,P2 - STRING POINTERS  R$ - USER'S RESPONSE W$(3) - ARRAEMENT MUST BE(  DECLARED IN THE MAIND  PROGRAM: DIM W$(3)_  ====================|  INPUT A$ (AS DEFINED)  ====================  OUTPUT - A$=0 CORRECT ( A$=1 INCORRECT 2 ==================== < VARIABLE DICTITO NEXT KEYWORD)?  PRINT(S) (TO REPLY TO MATCH JUST MADE)e  GOTO (REPEAT OF THE QUESTION,  OR GIVE THE ANSWER)  A$="NEXT*KEYWORD"  GOSUB 5000 ETC., ETC...  ====================  THE FOLLOWING DIM  STAT  PROGRAM BY FIRST LOADING THEF  "KEYWORD" PROGRAM, THEN ADDINGh  STATEMENTS IN THE SEQUENCE:  PRINT(S) (FOR THE QUESTION)  INPUT R$ (FOR THE RESPONSE)  A$="DEFINED*KEYWORD*ANSWER"  GOSUB 5000  IF A$="1" THEN (ORD" CHARACTER.  SEQUENCE MATCH AS DEFINEDO  IN A$. IF A MATCH OCCURS,v  A$ IS SET TO "0" OTHERWISE, "1".  NOTE: A$ MAY CONTAIN UP TO 3  KEYWORDS DELIMITED BY A *  ====================  THE SUBROUTINE MAY BE USED WITH ANY!& REMOVE LINES 1-3 BEFORE USING55000,5018>1,3Y ====================u PROGRAM NAME: KEYWORD ==================== THIS SUBROUTINE READS A USER'S RESPONSE (MUST BE FROM: INPUT R$) AND CHECKS  FOR A "KEYWQ$(J) Q$(J)A$(J)" A$(J)D$?  ===ASK THE QUESTION===K Q$(J);S R$e R$A$(J)570 &"A CORRECT ANSWER IS ";A$(J) 0590 :"GREAT!" DCC1 NI X"YOU GOT ";C;" CORRECT!" bIT ";C;" CORRECT!" vIECT A QUESTION NUMBER===* |J(5(1)1)R  ===HAS IT BEEN SELECTED BEFORE===b Z(J)1380  ===FLAG J AS A SELECTED NUMBER=== Z(J)1   ==='FLIP' A COIN=== X(2(1)1) X2520  ===DO THE SWITCH IF X IS 1=== D$"IF I GIVE THE STATE, YOU GIVE"D "THE CAPITAL; IF I GIVE THE"h "CAPITAL, YOU GIVE THE STATE."n " , ===STORE THE QUESTIONS/ANSWERS=== 6I15 @Q$(I),A$(I) JI T ===ASK ONLY 3 OF THE POSSIBLE 5=== ^I13 h r ===SEL SELECTED INTEGER' ================ Q$(5),A$(5),Z(5)m "TEXAS","AUSTIN","ARKANSAS","LITTLE ROCK" "NEW MEXICO","SANTA FE","OKLAHOMA" "OKLAHOMA CITY","OREGON","SALEM" ===INTRODUCTION=== "STATE CAPITAL DRILL" " ========" Z VARIABLE DICTIONARY8 d ===============Y n A$(J) - ANSWER TO QUESTION x D$ - HOLDS QUESTION TEMPORARILY IN QUES/ANSWER SWITCHING J - RANDOM INTEGER VALUE Q$(J) - RANDOM QUESTION FROM LIST Z(J) - FLAG FOR PROGRAM 13* ===============O DRILL AND PRACTICE: EXAMPLE 2w( PROGRAM DEMOS RANDOM SELECTION OF2 QUESTIONS/ANSWERS FROM ONE-DIM ARRAYS< WITHOUT REPEATING ANY QUESTION, ANDF SWITCHING THE QUESTION-ANSWER. P =======     z#ΠΠԠǠĠϠ  Ġ ĠϠӠ ՠ  ͠  ĠҠ Ӡ  ͠ ͠͠ ͠ ͠  ͠ ͠ "͠͠͠͠ ͠ ͠ ͠ ͠͠ ͠ ͠ ͠ ͠!͠ϠŠ"Ӡ"͠͠͠͠ܪ`ժ`ժտت;ժ܎0պժ3p@ g`ժ L׆00ժ &  ========END OF ROUTINE========? :"*** D O N E ***"E  I Z+ d"NOW DEPRESS ANY KEY, AND WE'LL"S n"GO BACK TO THE 'MENU' PROGRAM..."[ xZ$n :I111::I "HERE WE GO BACK TO THE MENU..." D$(4) D$;"RUN MENU" B PROGRAM 'CHAIN 2'6 ===================I:I110::Il("WELL, WE MADE IT TO PROGRAM"2"'CHAIN 2'...SO YOU SEE IT'S"<"SIMPLE TO HAVE THE SYSTEM"F"FOLLOW YOUR COMMANDS **IN**"P"A PROGRAM (IF YOU KNOW THE RULES...)" ===============  :610( DA,BC/ NIX X:"PRESS RETURN TO CLEAR SCREEN";Z$b ]::x b =============== l SUBROUTINE TO CHOOSE v THREE RANDOM POINTS  =============== A((1)40) B((1)40) C((1)40) =========='  PLOT VERTICAL LINE @  =============== I 610T A,BCk  ===============  ANOTHER RANDOM COLOR  =============== X((1)16) X7510 X  =============== & PLOT HORIZONTAL LINE  0  "7 ,I039& 60,39I- @IC J ===============Y T LOOP 100 TIMES u ^ =============== hI1100 r =============== | CHOOSE RANDOM COLOR  =============== X((1)16) X7400 X  =====DICTIONARY ===============@ A - RANDOM STARTING POINT^ B - RANDOM ENDING POINT| C - RANDOM X OR Y POINT I - LOOP COUNTER X - RANDOM COLOR CODE =============== COLOR IN BACKGROUND  ===============  d ===============4n PROGRAM 25 DESCRIPTIONJx ===============y DEMONSTRATION OF LOW RESOLUTION GRAPHICS THE SCREEN WILL BE COLORED BLUE AND 100 RANDOM LINES OF RANDOM COLORS WILL BE DRAWN. =============== VARIABLE       D$(4)0(D$;"BLOAD TITLE,A$4000"\-16302,0:16297,0:16299,0:16304,0m2I15000:I<D$;"BLOAD CREDITS,A$4000"FI15000:IP:ZD$;"RUN WARNING"d O OO@pܪտ תժ?~?~ pp|qh@@`ժժ@ժG@p|pLpO@`"*&""2֪ G֪ժpp|p?~p?ժ0  0  ת`~&&"""&*"&"&"""&&@ժ#B ժՆx`ժ"&2*"&"&"""""&&&2"*&&"`{00 ܪ@ 00@Ԫx?`ժժ   LL@ @aH0ժժGªCa x"*&"&2ܪNתժ@    @`ժ0  0  `ժպ|@|<g *g  @ժcrժ՞xq ժg,<"2<"g < ,g00 ֪0` 00@֪9ժ   LL@ `cxժպժgCa `g ,ت? תժ@    @@0  0 |ժՎ@@|*6"תGժsp`_Dպx@ժ " " """@0@ת՚` @@p֪1i ժ   <<@|G 3@ժ՞ժN@@?"ت ֪ժ@|| | 0  0 |ժ@@x> c ֪ժ` |L՞0`ժ ?`   @0nժՎ@p "THERE ARE FIVE SURVIVORS FROM A"K :"SHIPWRECK. (CALL THEM PEOPLE"u :"A, B, C, D, AND E.) A, B, AND C" :"ARE ON ONE ISLAND; ON ANOTHER" :"ISLAND, WITH SHARK-INFESTED" :"WATERS BETWEEN, ARE D AND E.":"PERSONS A AND D ܪ`ժ`ժտت;ժ܎0պ| <0< ժ3p|<|<<@ @ g`ժ L׆00ժ ժrܪպ@  < <֪C @ժՎتժ@>#l#w#<< #ժ2ު~@ժךl#l+<##<lw# +# ՚| <0< @ժbc`|<|<<@ `Mتժ0H``ܪժժ1Rت՚@  < <@+l# ֪G3ժت?|p?@?~pܪժ0*" 2""""""<"""ժx?תՆ~@ժ@պ2"2*" """" ""2& "",""*"<Վ0pOLp`ժ>F@ O OO@p pުժ?~?~ pp|X8@@תժ`ժcR٪Ն@p|pLpO@p?""*2",֪ gتժpp|p?~p?|p?@?~p֪0""""""">>"""`ժ1b `ժՆ|@ժp"""*>""""" ">""""2"*&""0pOLpժ @` ON THE CONDITION THAT 'A'"E:"AND 'C' BECOME LOVERS. (ANY KEY)"OZ$:}:"WELL, 'A' THINKS IT OVER AND DECIDES":"THAT ANYTHING IS WORTH BEING WITH":"'D'. EVENTUALLY, THE BOAT IS BUILT,":"AND 'A' GETS TO THE OTHER ISLAND. 'B' IS BUSILY"=l:"WORKING ON SOME SALVAGED RADIO PARTS"hv:"AND FEELS THAT CONTACTING SOMEONE":"IS MUCH MORE IMPORTANT THAN 'A'S BOAT.":"SO 'A' ASKS 'C' FOR HELP WITH THE":"BOAT BUILDING. 'C' READILY AGREES,":"BUT ONLYT8 - ANSWER CORRECT. =============== 4L"YOU ARE CORRECT!"WCC1eJ11000lJr =============== ANSWER WRONG ===============  "SORRY, TRY ANOTHER."J11000(J2AH((1)6110)/X(3.14)H1.2140D$Y(3.14)H80M.X,Yb8J3.153.15.1xBX(J)H1.2140LY(J)H80VX,Y`Jj"WHICH SHAPE IS IT? ";ANS$tANS$"C"İ1170~ANS$"C"İ1260 ===============1)6110)WH2"Y80H21X140W2RX,YXW,YXW,YHX,YHX,YX1,Y1XW1,Y1XW1,YH1X1,YH1X1,Y1"WHICH SHAPE IS IT? ";ANS$ANS$"R"İ1170ANS$"R"İ1260 ====== CIRCLE ====== TRIANGLE ======== / H((1)6110);*WH.7I4Y80H2T>X140qHX,YXW,YHXW,YHX,YR"WHICH SHAPE IS IT? ";ANS$\ANS$"T"İ1170fANS$"T"İ1260pz ========= RECTANGLE ========= H((===  H((1)6110)' WH1.205 Y80H2D X140W2e X,YXW,YXW,YHX,YHX,Y X1,Y1XW1,Y1XW1,YH1X1,YH1X1,Y1 "WHICH SHAPE IS IT? ";ANS$ ANS$"S"İ1170 ANS$"S"İ1260   ========   ===  CHOOSE RANDOM SHAPE:  BRANCH TO SUBROUTINER & =============== e 0Z((1)41)} :Z650,770,890,1010 DI N X b"YOU GOT ";C;" SHAPES CORRECT!" l v"SO LONG FOR NOW."   ======  SQUARE  === | / "ARE YOU READY (Y OR N)? ";ANS$B ANS$"Y"330K C0b  ===============y  ASK 5 QUESTIONS  =============== I15   3 22 "C=CIRCLE R=RECTANGLE S=SQUARE T=TRIANGLE"   ============DTH  X - X AXIS POINT3  Y - Y AXIS POINTK " Z - RANDOM SHAPEb , ===============| 6 PRINT INTRODUCTION @ =============== J T ^"I AM GOING TO SHOW YOU SOME SHAPES." h r"YOU TELL ME WHAT KIND OF SHAPE IT IS." SHAPES ARE DRAWN IN RANDOM SIZES8 ===============S VARIABLE DICTIONARYj =============== ANS$ - USER'S RESPONSE C - NUMBER CORRECT H - RANDOM HEIGHT I - LOOP COUNTER J - LOOP COUNTER  W - RANDOM WI d =============== 7n PROGRAM 26 DESCRIPTIONNx ===============n SHAPE RECOGNITION DRILL. PROGRAM DRAWS A SHAPE ON THE SCREEN AND ASKS USER TO IDENTIFY IT. SHAPES ARE: CIRCLE, RECTANGLE, SQUARE AND TRIANGLE.!      (VALUE OF THE KEY DEPRESSED ISH& ASSIGNED TO THE VARIABLE NAME)_0 ===============i:Z$:D"BUT 'A' GETS TO THE POINT IN THE"N:"BOAT BUILDING WHERE HELP IS NEEDED."X:"SO, 'A' GOES TO 'B' AND ASKS FOR"b:"SOME HELP. BUTARE BETROTHED."6:"NOW PERSON A WANTS TO BE WITH"`:"PERSON D, SO 'A' STARTS BUILDING":"A BOAT. (ANY KEY WILL CONTINUE...)" =============== USE OF THE 'GET' STATEMENT WILL ALLOW DEPRESSING ANY KEY FOR CONTINUATION."ITE TESTS"I1PN(I)-J1N(I)9"S(I,J)@,JG6I]@D$;"CLOSE TESTS"yJ" *** D O N E ***"TTPCREEN";Z$ ::YIS","MENU" R 2)"; 6P @D$(4), J:I110::I; TP360,380D ^260] h"LOADING ";P$;"..."o rD$;"LOAD";P$ |"LOADING AND RUNNING ";P$;"..." D$;"RUN";P$  "A354","A422","A458","A662","A784","A785","A786"  "ISLAND","KEYWORD DEMO","SOCK" YOU ";T$(J)1::10);"(ANY KEY...)"?Z$:1560FJMI`":I111::I~,8);"SO NOW YOU KNOW..."6@" (BUT I'M NO PSYCHOLOGIST...)"JIHE USER'S CURRENT CHOICE, R$(I), WITHX THE FIVE POSSIBLE CHOICES, C$(J), THEN PRINT| THE INTERPRETATION, T$(J) AND CONTINUE WITH THE OUTER LOOP. ===============J15R$(I)C$(J)1550 ===PRINT INTERPRETATION===ES IN SEQUENCE; CLEAR THE>F SCREEN THEN PRINT THE HEADINGSSP ==============dZI15:::d" MY PROFILE RANKING OF YOU INDICATES:":n::::x10);L$(I);"..." ============== BEGIN INNER LOOP TO FIND THE MATCH% OF T HEADINGS FOR FIRST - LAST CHOICE: ===============f "FIRST AND FOREMOST","NEXT","THIRDLY"  "NEXT TO LAST","LASTLY" ===STORE THE HEADINGS===I15:L$(I):I( ===============2 BEGIN OUTER LOOP TO TAKE USER'S< CHOIC======' "HAVE SEXUAL INCLINATIONS"N "THINK THINGS OUT INTELLIGENTLY"x "TAKE ADVANTAGE OF ANY OPPORTUNITY" "ARE RIGHTEOUS" "ARE A LOVING PERSON" ===STORE THE "INTERPRETATIONS"===I15:T$(I):I ===============$SEE..."8I12000:I.B ===============OL POSSIBLE CHOICES FOR MATCHeV ===============` "A","B","C","D","E"j ===STORE THE CHOICES===tI15:C$(I):I~ =============== "INTERPRETATIONS" FOR CHOICES A-E =========R"/"IN ORDER OF YOUR PERSONAL 'ESTEEM'..."5K ===============o GET THE USER'S RANKING OF A-E ===============I158);"RANK ";I;R$(I)R$(I)"A"R$(I)"E"1030I$:I111::I." HMMMMM...LET ME ::"(ANY KEY...)"pZ$:?z" WE HAVE THE FIVE PEOPLE:"Ec:"A","THE BOAT BUILDER":"B","THE RADIO BUILDER":"C","THE HELPER/LOVER":"D","THE BETROTHED":"E","THE COUNSELOR":"PLEASE RANK THESE PEOPLE BY LETTE$:/*:"REMEMBER 'E'? WELL, 'E' SEES WHAT"]4:"'A' IS DOING, AND STOPS THE ATTEMPT!">:"'E' THEN SPENDS TIME COUNSELING WITH"H:"'A' UNTIL A SENSE OF WORTH IS BACK."R:"SOON THEREAFTER, ALL ARE RESCUED..."\:::" SO..."f"/:"BUT 'D' COULD SEE WHAT WAS HAPPENING"X:"AS THE BOAT WAS BEING BUILT AND":"WISHES TO BREAK THE ENGAGEMENT.":"THIS CRUSHES 'A'S FEELINGS TO THE" :"POINT THAT SUICIDE IS ATTEMPTED!":"(ANY KEY FOR THE CLIMAX!)" Z( C$( ) - CHOICES IN ARRAY TO MATCHN WITH USER INPUT (R$( ))z J - VALUE OF NESTED LOOP COUNTER WHEN MATCH OF POSSIBLE CHOICE AND USER'S CHOICE OCCURS L$( ) - FIVE "HEADINGS" TO PRINT WITH USER' HOWEVER. THE9 Z PROGRAM ALSO DEMOS THE USE OF NESTEDc d LOOPS FOR MATCHING CHOICES AND THEN n PRINTING FROM ONE-DIM ARRAYS BASED x ON THE LOOP COUNTER WHEN MATCH OCCURRED =============== VARIABLE DICTIONARY =============== PROGRAM 20) ===============E SIMULATION: EXAMPLE 1o( PROGRAM SIMULATES A "PSYCHOLOGICAL"2 INTERACTION BASED ON USER'S RANKING< OF "PEOPLE" REACTING TO CERTAINF CONDITIONS. PROGRAM HAS NO REAL P PSYCHOLOGICAL BASE,     . "PLEASE ENTER THE NUMBER OF THE PROGRAM"? "YOU WISH";F NW N1N3710e N27250x I27N:P$:I 260 P$"PROGRAM "(N) :I110::I "DO YOU WISH TO:": " 1. LOAD" "" 2. RUN": ,P$;" (ENTER 1 OS':" Z: d"27..A354";13);"30..A662";26);"33..A786"Z n"28..A422";13);"31..A784"z x"29..A458";13);"32..A785" :"DEMONSTRATION PROGRAMS FROM THE TEXT:" "34..ISLAND";20);"36..SOCKS" "35..KEYWORD DEMO";20);"37..MENU" 2 ::"* * M E N U O F P R O G R A M S * *"[:"EXAMPLE PROGRAMS FROM THE TEXT:"a("1";7);"6";14);"11";21);"16";28);"21";35);"26"2I25<I;7);5I;14);10I;21);15I;28);20IFI P:"ANSWERS TO 'POSERS AND PROBLEMO SEE THAT THEY REFLECT THE"B "STUDENTS AND SCORES POSSIBLE!)"H  I================ ,D$(4)1 6D$;"OPEN TESTS"G @D$;"WRITE TESTS"O JX0^ TI1(2N)e ^Xl hI rD$;"CLOSE TESTS" |:I111::I 8);"DONE..."  "(BE SURE TO CHECK THE DIM AND" "DATA STATEMENTS IN PROGRAM 11" "T* "HOW MANY STUDENTS WILL BE ON FILE";1 NR "YOU ENTERED THE NUMBER ";Ns "IS THIS CORRECT (Y OR N)";{ Z$ Z$"Y"170 :I111::I 8);"HERE WE GO..."  ====================  INITIALIZE THE FILE 'TESTS' " ====ION! P ====================2 d:I110::I\ n"THIS PROGRAM WILL ERASE ALL SCORES" x"IN THE FILE, 'TESTS', USED IN "CONJUNCTION WITH PROGRAM 11. "DO YOU REALLY WANT TO DO THIS (Y OR N)"; Z$ Z$"Y"ij I111::IJ RECORD INITIALIZER6 ====================` THIS PROGRAM WILL INITIALIZE (ERASE( AND CHANGE FILE DATA TO ZERO) ON2 THE "TEXT FILE" 'TESTS' USED WITH< PROGRAM 11 (RECORD KEEPING) ON THE F DISK. IT SHOULD BE RUN WITH CAUT    ' "HELLO. WHAT'S YOUR FIRST NAME"/N$A"HOWDY, ";N$G(s2"TELL ME...WHAT IS YOUR AGE IN YEARS";z<AFDA365P"WELL, ";N$;", YOU HAVE BEEN BREATHING"Z"FOR AT LEAST ";D;" DAYS!"d,"BYE-BYE, ";N$n X11 ===IS X EQUAL TO Y? INVERSE IF SO===?XY5090OW$(I);" ";Y5120_oW$(I);" ";u|I 20:"OPTIONS: SKIP, STOP, OR ANSWER":10"YOUR ANSWER";(R$2 ===============< CHECKER INPUT IS CHECKED:* FIRST FOR AN 'OPTION' MATCH THEN`4 FOR THE CORRECT ANSWER. RANDOM> FEEDBACK IS GIVEN FOR CORRECT ANSWERS.H ============= ===START PRINTING THE WORDS===I1W ===ADD 1 TO THE X COUNTER===XS HAVE* BEEN STORED, RETURN AND STARTM THE QUESTION/ANSWER SEQUENCEa =============g{ ============= THE 5000 SUBROUTINE PRINTS THE  SENTENCE WORD-BY-WORD, INVERSING THE WORD CORRESPONDING TO THE  QUESTION. US OF A GIVEN SENTENCE INTO ANC" ARRAY SO THAT THE SENTENCE MAYi, BE PRINTED LATER, WORD-BY-WORD,6 AND THE APPROPRIATE WORD "INVERSED"@ =============I1WW$(I)I ============= NOW THAT THE SENTENCE WORD5000 ==============9 ADDITIONAL SENTENCES MAYX BE ADDED BELOW FOLLOWINGz THE SAME SEQUENCE AS ABOVE. =============="THAT'S ALL FOR TODAY..."5540 ============= THE 4500 SUBROUTINE READS THE WORDSIKE." .W468 ===GO TO THE STORING SUBROUTINE===@B4500vL ===ASSIGN THE ANS AND WORD NO. TO EMPHASIZE===~VY1`A$"ARTICLE"j5000tY2~A$"SUBJECT"5000Y3A$"VERB"5000Y4A$"DIRECT OBJECT"FOR THE NEXT WORD===Y2*A$"VERB"45000S ===REPEAT THE PROCESS===[Y3rA$"DIRECT OBJECT"|5000 =============== REPEAT THE PROCESS FOR  THE NEXT SENTENCE ================$ "THE","CAT","SCRATCHED","M=========/\ ASSIGN THE CORRECT ANSWER TO A$Yf AND THE WORD NUMBER IN THE SENTENCEp TO INVERSE FOR EMPHASIS TO Y, THENz GO TO THE QUES/ANSWER SUBROUTINE ===============Y1A$"SUBJECT"5000 ===REPEAT THE PROCESS  SENTENCE FOR THE READING LOOP.7 ===============T "JACK","LOVES","MARY."\ W3r ===============  GO TO THE SUBROUTINE TO* STORE THE WORDS IN W$( )4 THE MAXIMUM NO. OF WORDS IS 8> ===============H4500 R ======NTERING 'ANSWER', OR STOP AT"@"ANYTIME BY ENTERING 'STOP'."Fb"PRESS RETURN FOR THE"y"FIRST SENTENCE";Z$ =============== THE DATA CONTAINS THE WORDS OF THE SENTENCE. 'W' IS THE NUMBER OF THE WORDS IN THE!ICH SHOULD BE IDENTIFIED AS"+&"A VERB."10R:"PRESS RETURN TO CONTINUE";wD ===USER CONTROLS WHEN TO GO===NZ$Xbl"ALSO, KNOW THAT YOU MAY SKIP"v"A QUESTION BY ENTERING 'SKIP',""RECEIVE A CORRECT ANSWER BY""E ADDED BELOW" ^ ===============3 `HD246072T a"AND IN HEARTBEATS, THAT'S"u b"ABOUT ";H;" TOTAL THROBS!" c" WOW, ";N$;"!" d,"BYE-BYE, ";N$ n ' "HELLO. WHAT'S YOUR FIRST NAME"/N$A"HOWDY, ";N$G(s2"TELL ME...WHAT IS YOUR AGE IN YEARS";z<AFDA365.25P"WELL, ";N$;", YOU HAVE BEEN BREATHING"Z"FOR AT LEAST ";D;" DAYS!"\ =============== ] MODIFICATIONS =====) HOLD THE CORRECT ANSWER UNTILM THE USER IS READY TO CONTINUEd ================j"PRESS RETURN TO CONTINUE";Z$5490 ===GET A RANDOM NUMBER (4-1)===F(4(1)1) ===PRINT THE RANDOM FEEDBACK===  FIRST FOR 'OPTION' INPUT/F ===============CPR$"SKIP"5490YZR$"ANSWER"5270mdR$"STOP"5540n ===============x THEN CHECK FOR A CORRECT ANSWER ===============R$A$5370"A CORRECT ANSWER IS ";A$ ===========TA=== "X","X","X"5"***SEARCH COMPLETED***"; I Z ===============D ^ "SUE","BLOND","BLUE","BOB","BLACK","BLUE"x h "LETA","BROWN","BROWN","ALEX","BROWN","GREEN" r "BOBBIE","BLACK","HAZEL","CHARLES","BROWN","BROWN" | "DONNA","BLOND","BLUE","YANCY","BLOND","GREEN" ===ROOM FOR MORE DA== F1 I'  ===============C  END OF CURRENT SEARCHY  ===============f F1300~ ""***NONE FOUND***" ,"DO YOU WISH ANOTHER SEARCH (Y OR N)"; 6Z$ @Z$"Y"1000 J T120 X =============== Y DATA LISTS$ "NAME","HAIR","EYES"6 "----","----","----"L ===============e DO THE SEARCH LOOP{ =============== I150 N$,H$,E$ ===END OF DATA LIST ?=== N$"X"280 S$E$270 N$,H$,E$ ===FLAG A SEARCH MATCH=NTER4 n F - "FLAG" FOR FINDING AT LEAST ONE MATCHJ r ===============r s SET THE MATCH FLAG TO ZERO, CLEAR t THE SCREEN AND GET THE RANGE SOUGHT u =============== xF0 } "EYE COLOR SOUGHT"; S$ "NAMES WITH EYE COLOR: ";A ELEMENTS IS "X","X","X"C * PROGRAM MADE BY MODIFYING PROGRAM 4Y 6 ===============s 7 VARIABLE DICTIONARY 8 =============== 9 E$ - EYE COLOR : H$ - HAIR COLOR < N$ - HYPOTHETICAL NAME F S$ - EYE COLOR SOUGHT d I - LOOP COU= ===============* PROGRAM A354@ ===============r KEY SEARCH OF 50 OR LESS DATA ELEMENT PAIRS PROGRAM SEARCHES FOR A GIVEN EYE COLOR DATA ELEMENTS ARE IN SEQUENCE NAME, HAIR COLOR, EYE COLOR ( LAST SEQUENCE OF DATOGRAM  ===============! ' C ,"BYE-BYE, FRIENDS..."I RTHAT IS HIGH+ h THEN REPEAT THE QUESTIONA r ===============S |X(3(1)1)f X400,420,440~ "NOW THAT IS OLD!" 140 "ARE YOU TRYING TO BE CRUEL?" 140 "HAVE YOU NO SYMPATHY?" 140  ===============  END THE PRR39290 R393209 ===THEN INPUT EQUALS 39===? ` "DIDN'T LOOK IT, DID HE..."i 490| ","TOO LOW..." , ===REPEAT THE QUESTION=== 6140 @,"TOO HIGH..." J =============== T GET A RANDOM COMMENT FOR ^ ANY ANSWER 1404 3);"YEEE-HAAA! YOUR ANSWER IS CORRECT!": P ===============k ASK ANOTHER QUESTION AND CHECK FOR HIGH OR LOW ANSWER INPUT =============== "WHAT WAS THE PERPETUAL AGE" "OF THE LATE JACK BENNY"; R J PROGRAM 3+ ===============C ASK SOME QUESTION[( GET AN ANSWER ANDt2 CHECK FOR ACCURACY< ===============F"WHAT STATE FOLLOWS ALASKA"P"IN TOTAL LAND AREA";ZR$dR$"TEXAS"130n,"NOPE, IT'S TEXAS!" x    .."; Z$  D$(4)2 D$;"RUN START"8 I" xI13::IN :"THIS IS ";::"NOT";::" A DEMONSTRATION DISKETTE!"| :"THE PROGRAMS ARE AN INTEGRAL PART OF" :"AND SOLELY FOR USE IN CONJUNCTION WITH" :"THE ACCOMPANYING TEXT MATERIAL." :: " DEPRESS ANY KEY.: :I15::I:" -------------------------"I" ";_(:"W";::" ";u2:"A";::" ";<:"R";::" ";F:"N";::" ";P:"I";::" ";Z:"N";::" ";d:"G": n" -------------------------F$(F);"!"2 ===ADD 1 TO THE NUMBER CORRECT===<"CC1R, ===============6 LET THE SYSTEM "COUNT" TO 2000 SO THAT@ THE DISPLAY WILL REMAIN 2-3 SECONDSJ ===============TK12000^Kh ===SET X TO ZERO BEFORE NEXT QUESTION TOTAL EACH STUDENT'S SCORE0 TT(I)T(I)S(I,J)V V T = CUMULATIVE TOTAL ALL SCORESe XTTS(I,J)l ZJ ^ SKIP A LINE PRIOR TO PRINT OF NEXT NAME _ dI n xI14 N$(I);"'S AVERAGE IS ";T(I)2 I "THE CLASS AVERAGE IS ";  ===PROGRAM A422===. "CHUCK",95,80A "MARY",80,82T "PHIL",95,93j( "JEANNIE",35,98-"NAME","TEST1","TEST2"."----","-----","-----"2I14<N$(I)AN$(I),FJ12PS(I,J)QS(I,J), R T(I) = CUMULATIVE00,"BUCK",90+X ===ROOM FOR MORE DATA===7 "X",0W"*** SEARCH COMPLETED ***"]ATA LIST & ===============] 0 "SUE",67,"BOB",55,"JACK",98,"MARY",99,"STAN",50,"ROB",72 : "LETA",77,"ALEX",66,"SUSAN",85,"MARIA",99,"FRAN",70 D "BOBBIE",100,"CHARLES",64,"BILLY",66,"MAGGIE",86 N "DONNA",91,"YANCY",77,"TRACY",89,"KAREN",1RCH MATCH=== F1 I1  ===============M  END OF CURRENT SEARCHc  ===============p F1480 "***NONE FOUND***" "DO YOU WISH ANOTHER SEARCH (Y OR N)"; Z$ Z$"Y"1000  210  ===============  DE RANGE: ";M2;"-";M1( "NAME","SCORE"< ""----","-----"R , ===============k 6 DO THE SEARCH LOOP @ =============== JI150 TN$,S ^ ===END OF DATA LIST?=== hN$"X"460 rSM1420 |SM2420 N$,S  ===FLAG A SEADING AT LEAST ONE MATCH- ===============U SET THE MATCH FLAG TO ZERO, CLEAR THE SCREEN, AND GET THE RANGE SOUGHT. =============== F0 "MAXIMUM SCORE"; M1 "MINIMUM SCORE"; M2 "NAMES WITH SCORES IN THNCE OF DATA ELEMENTS IS "X",03 P ===============M Z VARIABLE DICTIONARYc d =============== n N$ - HYPOTHETICAL NAME x S - HYPOTHETICAL SCORE M1 - MAXIMUM SCORE M2 - MINIMUM SCORE I - LOOP COUNTER F - "FLAG" FOR FIN^ ===============4 PROGRAM 4 DESCRIPTIONJ ===============~( KEY SEARCH OF 50 OR LESS DATA ELEMENT PAIRS.2 PROGRAM SEARCHES FOR A MINIMUM-MAXIMUM RANGE OF SCORES.< DATA ELEMENTS ARE IN SEQUENCE: NAME,SCORE. F LAST SEQUE     O M E T H I N G" 6= @" A B O U T Y O U R S E L F !"P JI11500:I:a TI111::I ^" O U R S T O R Y . . ." hI11000:I: r ============== | HERE COMES THE STORY AS A  WHOLE PASSEL OF PRINTS  ==============$ S RANKING5 R$( ) - USER'S RANKING OF A-E CHOICESb T$( ) - "PSYCHOLOGICAL INTERPRETATION" OF EACH CHOICE (A-E)  =============== C$(5),L$(5),R$(5),T$(5) :I19::I " ===SHOW THE TITLE=== ,"D I S C O V E R S 10);"(ANY KEY...)"!Z$:1560(J/IB":I111::I`,8);"SO NOW YOU KNOW..."f6@" (BUT I'M NO PSYCHOLOGIST...)"JITE"'  ===DATA FOR DIRECT OBJECTS===M  "THE BALL","THE HILL","THE HAT"u  "THE COOKIES","THE BAT","THE HAT"  "THE MICROCOMPUTER"  T1)& TS$(X);" ";V$(Y);" ";D$(Z);"."- ^IK h ===DATA FOR SUBJECTS===k r "JIM","THE DOG","THE CAT" | "SUE","THE GOLD FISH","BILL"  "JACK AND JILL"  ===DATA FOR VERBS===  "HATED","LOVED","WORE","KISSED"  "TOSSED","CAUGHT","A= I17 S$(I) I9 ===READ THE VERBS===D I17O V$(I)V Iz ===READ THE DIRECT OBJECTS=== I17 D$(I) I " ===PRINT 5 RANDOM SENTENCES=== ,I15 1 6X(7(1)1) @Y(7(1)1) JZ(7(1) 7 DIRECT OBJECTS* d S$( ) - 7 SUBJECTS@ n V$( ) - 7 VERBSc x X,Y,Z - RANDOM NUMBERS, 1-7, INCLUSIVE, FOR A SUBJECT VERB, AND DIRECT OBJECT ===================== S$(7),V$(7),D$(7) ===READ THE SUBJECTS== PROGRAM NAME: A4588 =====================\ CREATES FIVE RANDOM SENTENCES~( FROM 3 LISTS OF 7 SUBJECTS,2 VERBS, AND DIRECT OBJECTS.< =====================F VARIABLE DICTIONARYP ===================== Z D$( ) -99,"STAN",50,"ROB",72O : "LETA",77,"ALEX",66,"SUSAN",85,"MARIA",99,"FRAN",70 D "BOBBIE",100,"CHARLES",64,"BILLY",66,"MAGGIE",86 N "DONNA",91,"YANCY",77,"TRACY",89,"KAREN",100,"BUCK",90 X ===ROOM FOR MORE DATA===  "X",0"*** SEARCH ===============: "THIS SEARCH FOUND ";F;" MATCH(ES)"@ l "DO YOU WISH ANOTHER SEARCH (Y OR N)";t Z$ Z$"Y"1000  210  ===============  DATA LIST & =============== 0 "SUE",67,"BOB",55,"JACK",98,"MARY", DO THE SEARCH LOOP+ @ ===============7 JI150A TN$,S` ^ ===END OF DATA LIST?===p hN$"X"460 rSM1420 N$,S  ===COUNT THE NUMBER OF MATCHES FOUND=== FF1 I  ===============  END OF CURRENT SEARCH =======/ SET THE MATCH FLAG TO ZERO, CLEAR\ THE SCREEN, AND GET THE RANGE SOUGHT.r ===============z F0 "SCORE SOUGHT"; M1 "NAMES WITH A SCORE OF ";M1 "NAME","SCORE" ""----","-----" , =============== 6ENTS IS "X",0# P ================ Z VARIABLE DICTIONARYS d ===============p n N$ - HYPOTHETICAL NAME x S - HYPOTHETICAL SCORE M1 - SCORE SOUGHT I - LOOP COUNTER F - COUNTER FOR THE NUMBER OF MATCHES FOUND ======== ===============4 PROGRAM 5 DESCRIPTIONJ ===============~( KEY SEARCH OF 50 OR LESS DATA ELEMENT PAIRS.2 PROGRAM SEARCHES FOR A SPECIFIED SCORE.< DATA ELEMENTS ARE IN SEQUENCE: NAME,SCORE. F LAST SEQUENCE OF DATA ELEM      COMPLETED ***"FTIZED LIST=========1 :"ALPHABETIZED LIST:":< I1NN I;". ";L$(I)U I\ &0b 0 :"DO YOU WANT ANOTHER LIST" ?"OF THESE NAMES (Y OR N)?"; DZ$ NZ$"Y"470 X1500  ========SCREEN SUBROUTINE======= :I110::I:D1$L$(J) rKJ111- |L$(K)D1$430? L$(K1)L$(K)F KN K0^ L$(K1)D1$e J  ========END OF SORT======== 1000 "DO YOU WANT A PRINTER COPY (Y OR N)?"; Z$ 1000 Z$"Y"515 1  ==========ALPHABEBETIZED". "LIST. (ANY KEY TO CONTINUE..."6 Z$@ 1000M N1100j "LAST NAME FIRST NAME";u L$(N) L$(N)"STOP"300 1000 "N ,NN1 6 =================== @ SORTING ROUTINE J =================== TJ1N ^AME% n N - NUMBER OF NAMES TO SORT@ x ====================M L$(100)m 1000: SCREEN CLEAR/CENTER "THIS PROGRAM WILL ALPHABETIZE" "A LIST OF NAMES INPUT IN THE" "SEQUENCE: LAST NAME FIRST NAME." :"ENTER 'STOP' FOR THE ALPHAG PROGRAM NAME: A6627 =====================X SHOWS SOLUTION TO QUESTIONz( ON ALPHABETIZIING (SORTING)2 QUESTION IN SEC. 6.6.2.< =====================F VARIABLE DICTIONARYP ===================== d L$( ) - LAST N? "BETTY","BLACK","BLACK","66","FRED","BLACK","BROWN","73" "FRANCES","BLOND","BROWN","64","BUCK","BLOND","GREEN","68" === ROOM FOR MORE DATA === "X","X","X","X""*** SEARCH COMPLETED ***"S.""DO ANOTHER (Y OR N)";'Z$9Z$"Y"1000?H300 "MARY","BLACK","GREEN","62","BILL","BROWN","BROWN","70" "SUE","BLOND","GREEN","66","BOB","BLACK","GREEN","72" "JANE","BROWN","BROWN","69","JACK","BLOND","GREEN","74"ATCH  OF OPTION SELECTED3  ===============F C550,570,590U &S$H$600^ 0630m :S$E$600v D630 NS$I$630 XN$,H$;" ";E$;" ";I$ b ===COUNT THE NUMBER FOUND=== lFF1 vI "THIS SEARCH FOUND ";F;" ENTRIE60 C3360 C$(C);# S$A "*** SELECTION LIST ***"d "NAME","HAIR EYES HEIGHT" "----","---- ---- ------" I150 N$,H$,E$,I$ N$"X"640  ===============  GO TO THE APPROPRIATE  LINE TO CHECK FOR M====  CLEAR THE SCREEN AND7  PRINT THE OPTIONSM " ===============U ,F0[ 6| @"DO YOU WISH TO SEARCH BY:" JI13 T" ";I;" ";C$(I) ^I h"ENTER THE NUMBER OF YOUR CHOICE"; rC | ===OUT OF RANGE CHECK=== C13I - LOOP COUNTER, I$ - HEIGHT IN INCHES< N$ - NAMEW S$ - SEARCH KEY WORDm =============== ASSIGN THE OPTIONS =============== C$(1)"HAIR COLOR" C$(2)"EYE COLOR" C$(3)"MAXIMUM HEIGHT IN INCHES"  ===========EQUENCE IS X,X,X,X.) P ===============C Z VARIABLE DICTIONARYY d ===============x n C - SEARCH OPTION CHOICE x C$( ) - PROMPT FOR SEARCH KEY WORD E$ - EYE COLOR F - COUNTER FOR THE NUMBER OF "FINDS" H$ - HAIR COLOR  ===============4 PROGRAM 6 DESCRIPTIONJ ===============l( "EXPANDED" SEARCH PROGRAM.2 ALLOWS SEARCH TO BE BASED UPON OPTIONAL KEYS.< DATA CONTAINS NAME, HAIR COLOR, EYE COLOR, HEIGHT IN INCHES. F LAST DATA ELEMENT S     @@p֪cIժ՚   <<@| #@ժՆ ժ p@p,Ъժx?֪@|| |           N AXIS T POSITION2 ^ ======================B h0,39I26I rIr |:"PRESS RETURN TO CLEAR SCREEN";Z$| ::I=== I015 I3 ======================O  I * 2 + 5 CALCULATESk  THE X AXIS POSITION  FOR VERTICAL LINE " ====================== ,0,39I25 6 ====================== @ I * 2 + 6 CALCULATES J THE ADJACENT X}d PROGRAM A784)n ==============:x COLOR BARN TEST PATTERNj ===================== CLEAR SCREEN AND INITIALIZE GRAPHICS ===================== ============== DRAW 15 BARS ===========E?===vZ(X)06609"NUMBER ";X;" SELECTED AGAIN."B610MZ(X)1`X,N$(X),S$(X)gIm"THE COMPLETE LIST IS:""NUMBER","NAME","SEX""------","----","---"I1NI,N$(I),S$(I)I"* * * DONE * * *" RANDOMLY SELECTED NAMES:"5 "NUMBER","NAME","SEX"P "------","----","---"f & ===============~ 0 SELECT THE NAMES : AT RANDOM D =============== NI1S X ===GET A RANDOM X VALUE=== bX(N(1)1)l ===HAS X APPEARED BEFORR ";I; N$(I)& "SEX (M OR F)";1 S$(I)8 I_ "OF THE ";N;" NAMES, WHAT NUMBER" " DO YOU WISH TO RANDOMLY SELECT"; S  ===ENOUGH AVAILABLE?=== SN510 "IMPOSSIBLE! YOU ONLY ENTERED ";N;"!" 440  S;"AMES  AND SEX INPUT. " ===============G ,N$(15),S$(15),Z(15)M 6x @"HOW MANY NAMES DO YOU WISH TO ENTER" J"(AT LEAST 3 BUT NO MORE THAN 15)" TN ^N3N15320 hI1N r ===INITIALIZE THE FLAG=== |Z(I)0 "NAME NUMBEOR SELECTED & RANDOM NUMBERC IF Z(X) =0, NUMBER HASd NOT BEEN RANDOMLY SELECTED IF Z(X) = 1, NUMBER HAS BEEN SELECTED AND PRINTED =============== DIMENSION THE VARIABLES  CLEAR THE SCREEN  GET SOME NARY n ===============I x N - NUMBER OF NAMES IN A LIST (VIA INPUT)j N$( ) - HYPOTHETICAL NAMES S - NUMBER OF NAMES RANDOMLY SELECTED (VIA INPUT) S$( ) - SEX (MALE OR FEMALE) X - SOME RANDOM NUMBER Z(X) - FLAG F ===============4 PROGRAM 7 DESCRIPTIONJ ===============g( PROGRAM DEMOS THE USE 2 1-DIMENSIONAL STRING< ARRAYS, DIM STATEMENT,F AND RANDOM SELECTIONP WITHOUT REPETITIONZ =============== d VARIABLE DICTION     ORMAL DISPLAY=== @ J? T"CALCULATE ANOTHER (Y OR N)";G ^A$W hA$"Y"100] rP================== ^Y0382. hX03827 rX,Y> |XE Y`  ===================={  PLOT EVERY ODD BRICK  ON EVERY ODD ROW  ==================== Y1392 X1392 X,Y X Y :"PRESS RETURN TO CLEAR SLUE (6)! ===================( 64 Y039@ 0,39YG Yd  ======================  CHANGE COLOR TO YELLOW " ====================== ,13 6 ===================== @ PLOT EVERY EVEN BRICK J ON EVERY EVEN ROW T ===d PROGRAM A785/n ====================Jx CHECKERBOARD PATTERNe ====================| CLEAR SCREEN AND INITIALIZE GRAPHICS ==================== =================== COLOR IN BACKGROUND MEDIUM BREDIT GIVEN IF MISSED 1ST TRY===.PF152208ZCC1Dd"O.K."sn ===SET F TO ZERO BEFORE NEXT QUESTION==={xF0"YOU GOT ";C;" CORRECT ON THE FIRST TRY.","THAT'S ALL..."Y WOMEN FIRST NOTICE"6"THIS... NOW TRY AGAIN..."@5000j"ON SOME, IT WAGS ALOT. NOW TRY..."t 5000"PALM TO PALM PRESSURE DEVELOPS THIS""MUSCLE. TRY IT AGAIN..."(50002"A CORRECT ANSWER IS ";C$<5240 F ===NO C AND END THE PROGRAM. =================8~5270@A$PA$C$5200`A$D$5200pA$E$5200 ===MISSED BEFORE? (F=1)===F15170F1 ===GIVE HINT FOR QUES 1,2, OR 3===X5090,5120,5140"SOME AUTHORITIES SA FOLLOWING THE SAME+ SEQUENCE AS ABOVEH HINTS WOULD NEED TO BEf ADDED TO THE SUBROUTINE| =============== ================= STATEMENT 4990 IS NEEDED TO SKIP THE SUBROUTINE, AND GIVE THE PERFORMANCE SCOREADE MARK EDEN RICH,"+ " OLD MEN LEER"M "AND WEIGHT LIFTERS STRUT ";U &X3g 0C$"PECTORAL" :D$"PECTORALIS MAJORA" DE$"PECTORALS" N5000 X =============== b THERE'S PLENTY OF ROOM l TO ADD MORE QUESTIONS ANDv ANSWERS " TO HAVE AN ORIGIN"6 "BUT NO INSERTION ";> X2Z  ===ONLY ONE ANSWER===i C$"TONGUEs D$C$} E$C$ 5000  ===============  REPEAT THE PROCESS  FOR A FINAL QUESTION  =============== "WHAT MUSCLE HAS MCLE"" "" IN THE HUMAN BODY ";* ,X1C 6C$"GLUTEUS MAXIMUS"U @D$"BUTTOCKS"g JE$"DERRIERE"q T5000 ^ =============== h REPEAT THE QUESTION AND r ANSWER SEQUENCE AGAIN | =============== "WHAT MUSCLE IS CONSIDERED BY SOME"" M U S C L E Q U I Z" 6 ===============W PRINT THE QUESTION, DEFINEy THE QUESTION NUMBER AND THE ANTICIPATED CORRECT ANSWERS, THEN GO TO THE SUBROUTINE FOR INPUT  ===============  "WHAT IS THE LARGEST MUS d ===============5 n C - CORRECT ANSWER COUNTERV x C$ - SYNON. CORRECT ANSWERw D$ - SYNON. CORRECT ANSWER E$ - SYNON. CORRECT ANSWER F - FLAG FOR MISS ON 1ST TRY X - QUESTION NUMBER COUNTER ===============   ===============4 PROGRAM 8 DESCRIPTIONJ ===============i( PROGRAM DEMOS THE USE OF2 GOSUB-RETURN, CHECKING FOR< SYNONYMOUS CORRECT ANSWERSF AND USE OF ON-GOTO FOR HINTSP ===============Z VARIABLE DICTIONARY     ֪1i ժG 3@ժ՞ժN@@?ت ֪ժ "&ժ@@x c`>֪ժ` |L՞0`ժ nժՎ@p ֪cIժ՚ #@ժՆ ժ p@p,Ъժx?֪`w#       === rX0|:' =============H GIVE SCORE AND END PROGRAM\ =============b"YOU GOT ";C;" CORRECT ANSWER(S)."I 20"- |:"PRESS RETURN TO CLEAR SCREEN";Z$7 ::Y 3 ===================9 CALCULATE X FOR THER  VALUES OF Y FROM 0l  TO 159 AND PLOT X,Y  =================== "Y0159 ,X(Y)20 6X,Y @Y J ========== T LABEL PLOT ^ ========== h21 r,"X = SQR(Y) *8d PROGRAM A786+n ================Bx PLOT OF FUNCTIONT X=SQR(Y)*20n =================== CLEAR SCREEN AND INITIALIZE GRAPHICS =================== ============ CHOOSE COLOR ============  T THE FLASH DISPLAY=== 3 ================]  MULTIPLY THE VALUE OF V BY 100 THEN  GET THIS INTEGER VALUE THEN DIVIDE  BY 100. THIS GIVES A VALUE TO 2 DECIMAL PLACES " ================ ,"$";(V100)100 6 ===SET BACK TO NHE AMOUNT INVESTED"; xP= "AT WHAT INTEREST RATE (%)";D If "TIMES COMPOUNDED PER YEAR";m Ny II100 "FOR HOW MANY YEARS"; Y ===FORMULA FOR CALC=== VP(1(IN))(NY) "IT'S FUTURE VALUE WOULD BE "; ===SE^ PROGRAM 9( ===============I PROBLEM SOLVING: EXAMPLE 1k( CALCULATES FUTURE VALUES OF2 INVESTMENTS. DEMOS 'FLASH'< AND 'NORMAL' STATEMENTSF ===============PZ" INVESTMENT FUTURE VALUES"d n"WHAT IS T  L).5)100R)?:6);L;20);P(L);29);((P(L)100R)100)100FDLLNpX"WANT TO SEE THE DISTRIBUTION"b"CURVE (Y OR N)";lA$vA$"Y"730::" P E R C E N T A G E"" D I S T R I B U T I O N":" --------------------E PAIR OF DICE=== SD1D2D  ===INCREASE THAT COUNT BY ONE===T P(S)P(S)1[ Ta  "VALUE OF ROLL";18);"COUNT";30);"%"   ===NOW SHOW THE DISTRIBUTION=== L212 & ===ROUND OFF THE PERCENTAGE VALUES=== 0P1(L)((P(U"# h"GIVE ME A LOWER NUMBER...", r300U | ===SHOW THE USER WE'RE DOING IT===z :I110::I:8);"ROLLING..."  ===DO THE ROLLS=== T1R  ===GET A RANDOM VALUE FOR EACH DIE=== D1(6(1)1) D2(6(1)1)  ===SUM TH "THIS PROGRAM SIMULATES"< "ROLLING A PAIR OF DICE"c  ===INITIALIZE THE COUNT ARRAY===o I212z P(I)0 "I , 6"HOW MANY ROLLS"; @R JR1001390 T"IT TAKES A WHILE TO DO MORE THAN" ^"1000 ROLLS...SO WHY DON'T YOD DIE- P( ) - COUNT OF A GIVEN VALUE FORS A ROLL OF A PAIR OF DICEy P1( ) - PERCENTAGE DISTRIBUTION R - NUMBER OF ROLLS (VIA INPUT) S - SUM OF D1 AND D2 (VALUE OF A GIVEN ROLL) =============== P(12),P1(12) P MAY BE USED TO ILLUSTRATE THE NORMALW Z DISTRIBUTION CURVE OF THE RANDOM NUMBER d GENERATOR, GIVEN SUFFICIENT ROLLS. n =============== x VARIABLE DICTIONARY =============== D1 - FIRST DIE (OF A PAIR OF DICE) D2 - SECON PROGRAM 22( ==============D SIMULATION: EXAMPLE 3s( PROGRAM SIMULATES ROLLING A PAIR OF DICE2 UP TO 1000 TIMES, GIVING THE DISTRIBUTION< FOR EACH SET OF ROLLS. EXAMINATION OFF THE PERCENTAGE DISTRIBUTION OR ITS PLOT)       E OF A& GIVEN SCORE FROM THE MEANN DIVIDED BY THE STANDARD DEVIATIONd ===============S(J),(D1(J)D100)100J"ANALYZE ANOTHER SET (Y OR N)";A$A$"Y"790T0T10 300,"BYE-BYE" ANDARD DEVIATION=== :D(V)M D ===SET THE VALUES TO 2 DECIMAL PLACES===y N(M100)100,(V100)100,(D100)100 X b" Z SCORES" l"SCORE","Z SCORE" v"-----","-------" J1I  =============== Z SCORE IS THE DISTANC "----","---","--"4  ===COMPUTE THE MEAN===> MTII J1Iu  ===GET DISTANCE OF SCORE FROM MEAN=== D1(J)S(J)M  ===BUILD A CUMULATIVE TOTAL=== T1T1D1(J)2 J  ===COMPUTE VARIANCE=== &VT1I 0 ===COMPUTE STSCORES. TO STOP,"1 @" ENTER ANY NEGATIVE NO."Q J ===ROOM FOR 100 SCORES===^ TI1100 ^"SCORE (NEGATIVE TO STOP)"; hS(I) rS(I)0420 | ===CUMULATIVE SCORE TOTAL=== TTS(I) I 430 II1  "MEAN","VAR","SD" TOTAL OF THE SQUARE: OF THE DISTANCE OF A GIVENY SCORE FROM THE MEANl V - VARIANCE =============== S(100),D1(100)  "MEAN, VARIANCE AND STANDARD" ""DEVIATION OF A SET OF SCORES" , 6"ENTER THE RY x ===============5 D - STANDARD DEVIATIONU (SQ ROOT OF VARIANCE)u D1( ) - DISTANCE OF GIVEN SCORE FROM MEAN M - MEAN OF SCORES S( ) - GIVEN SCORE T - CUMULATIVE TOTAL OF SCORES T1 - CUMULATIVE PROGRAM 10) ===============J PROBLEM SOLVING: EXAMPLE 2k( CALCULATES MEAN, VARIANCE,2 STANDARD DEVIATION AND < "Z SCORES" FOR A SET OF F SCORES.P ===============Zd =============== n VARIABLE DICTIONA  "USE PRINTER (Y OR N)";Z$+D$(4)BZ$"Y"ĺD$;"PR#1"Y ================w PRINT OUT CLASS RECORDS  ================"NAME";12);"SCORES";22);"AVERAGE""----";12);"------";22);"-------"(I1P2J1N(I)==% ADD MORE SCORES FOR STUDENTS< ================W"NEXT SCORE FOR ";N$; ===INCREASE THE SCORE COUNT BY 1===N(I)N(I)1 ===STORE NEW SCORE IN ARRAY===S(I,N(I))910 ===TURN ON PRINTER IF WANTED===40%j" AVE = "((TN(I))100)100-tT0Xu:"DO YOU WISH TO EDIT (Y OR N)";:Z$ivZ$"Y"910wwJ1N(I)x"EDIT THIS SCORE: "S(I,J)" (Y OR N)";:Z$yZ$"Y"1147z"SCORE SHOULD BE: ";:S(I,J){J|1050 ============== ================9 PRINT THE SCORES FOR THE STUDENTP ================m"SCORES FOR ";N$(I);":"{$J1N(I).S(I,J);" ";8 ===CUMULATIVE TOTAL FOR STUDENT===BTTS(I,J)LJV ===ILLEGAL TO DIVIDE BY ZERO===`N(I)0111-3)"; \CfC1910'pC29105zC31250>810De"STUDENT'S NAME (OR STOP)";mN$N$"STOP"810I1P ===MATCH FOUND WITH NAMES?===N$N$(I)1010IN$;" IS NOT ON FILE!"920C11190E===J1N(I)S(I,J)%J,IBD$;"CLOSE TESTS"Y  ================~ THROUGH READING DATA FROM FILE  ================*:64"DO YOU WANT TO:">"1. ENTER NEW SCORES"H"2. RETRIEVE SCORES"R"3. STOP (ENTER SCORE FOR4 THAT STUDENT). N(I) IS THE NUMBER OFW SCORES; S(I,J) IS THE SCORE.m ===============D$;"OPEN TESTS"D$;"READ TESTS"I1P ===GET THE NUMBER OF SCORES FROM FILE===N(I) ===NOW GET EACH SCORE FROM FIL"TESTS")0 ================+:D$(4)AD ===============iN THEN ISSUE "COMMANDS" TO OPEN THEX THE FILE AND START READING THE DATAb FROM IT. DATA IS STORED IN THE l SEQUENCE OF (NUMBER OF SCORES FOR v A STUDENT), THEN (EACH ===========8 5 STUDENT NAMES (CHANGE FOR REAL USE!)k "CANTOR","DARWIN","EDGAR","MCCARTHY","ZILLA" ===============I1PN$(I)I =============== DEFINE D$ AS CONTROL-D (RULES OF THE& GAME TO ACCESS TEXT FILE,  h ===============@ r DATA FOR NUMBER OF STUDENTS. CHANGE\ | IF USED IN REAL CLASSr  ===============z  5  ===============  READ THE NUMBER OF STUDENTS, THEN  STORE THE NAMES IN N$( ).  =============== P  ====CORES FOR THAT STUDENT+ " ==============R , PROGRAM EXAMPLE DIMENSIONS FOR A| 6 MAXIMUM OF 20 STUDENTS AND 8 SCORES @ CHANGE DIM IF USED IN REAL CLASS J =============== T:S(20,8),N$(20),N(20) ^"C L A S S S C O R E K E E P I N G"NTS* N( ) - NUMBER OF SCORES FOR EACHS STUDENT (FROM FILE "TESTS")~ P - NUMBER OF STUDENTS (FROM PROGRAM DATA STATEMENT  S( , ) - TWO-DIM ARRAY: ROW IS STUDENT  NUMBER; COLUMN IS NUMBER OF  S ACCORDINGLY, THEN RUNNING THE PROGRAMJ RECORD INITIALIZER` ===============z VARIABLE DICTIONARY =============== N$ - STUDENT NAME SOUGHT (VIA INPUT) N$( ) - STUDENT NAMES FROM PROGRAM DATA  STATEMEMBER OF SCORES FOR EACH STUDENT ANDP Z AND THEIR RESPECTIVE SCORES ARE STORED} d SEQUENTIALLY IN THE TEXT FILE, "TESTS" n ON THE DISK. THE PROGRAM MAY BE USED x FOR REAL STUDENT RECORD KEEPING BY CHANGING THE DIM AND DATA STATEMENTS)  PROGRAM 11( ==============I PROBLEM SOLVING: EXAMPLE 3t( THIS PROGRAM IS AN EXAMPLE OF RECORD2 KEEPING USING SEQUENTIAL "TEXT FILES."< FIVE (5) STUDENT NAMES ARE DATA ELEMENTSF IN THE BODY OF THE PROGRAM. THE# P NU!! ! ! ! ! !!!!!!!!!   THE QUESTION/ANSWER SEQUENCE5 =============;O =============t THE 5000 SUBROUTINE PRINTS THE SENTENCE WORD-BY-WORD, FLASHING  THE WORD CORRESPONDING TO THE QUESTION. USER INPUT IS CHECKED   FIRST FOR AN 'OPTION SO THAT THE SENTENCE MAY? BE PRINTED LATER, WORD-BY-WORD,h AND THE APPROPRIATE WORD "FLASHED"| =============I1WW$(I)I ============= NOW THAT THE SENTENCE WORDS HAVE BEEN STORED, RETURN AND START!L SENTENCES MAY.b BE ADDED BELOW FOLLOWINGPl THE SAME SEQUENCE AS ABOVE.ev ==============k"THAT'S ALL FOR TODAY..."5150 ============= THE 4500 SUBROUTINE READS THE WORDS OF A GIVEN SENTENCE INTO AN ARRAYING SUBROUTINE===4500L ===ASSIGN THE ANS AND WORD NO. TO FLASH===TY1eA$"ARTICLE"o5000wY2A$"SUBJECT"5000Y3A$"VERB"&50000Y4:A$"DIRECT OBJECT"D5000N ==============X ADDITIONAVERB"T5000.Y ===REPEAT THE PROCESS===6^Y3MhA$"DIRECT OBJECT"Wr5000m| =============== REPEAT THE PROCESS FOR  THE NEXT SENTENCE ================ "THE","CAT","SCRATCHED","MIKE."W4 ===GO TO THE STOR ANSWER TO A$7 AND THE WORD NUMBER IN THE SENTENCE^ TO FLASH FOR EMPHASIS TO Y, THEN GO TO THE QUES/ANSWER SUBROUTINE  ==============="Y1,A$"SUBJECT"650008 ===REPEAT THE PROCESS FOR THE NEXT WORD===@Y2JA$"  ===============2 "JACK","LOVES","MARY.":W3P ===============n GO TO THE SUBROUTINE TO STORE THE WORDS IN W$( ) THE MAXIMUM NO. OF WORDS IS 8 ===============4500 ===============  ASSIGN THE CORRECT"ANYTIME BY ENTERING 'STOP'."#@"ARE YOU READY FOR THE"W"FIRST SENTENCE";_Z$u ===============  THE DATA CONTAINS THE WORDS  OF THE SENTENCE. 'W' IS THE  NUMBER OF THE WORDS IN THE  SENTENCE FOR THE READING LOOP. AS""A VERB."/"SHALL I GO ON";T ===USER CONTROLS WHEN TO GO===\Z$bh"ALSO, KNOW THAT YOU MAY SKIP""A QUESTION BY ENTERING 'SKIP',""RECEIVE A CORRECT ANSWER BY""ENTERING 'ANSWER', OR STOP AT"ETED===(  ===NOW ASK THE QUESTION===1 Q$;9 R$H R$A$540g "A CORRECT ANSWER IS ";A$p 560~ "GREAT!" &CC1 0I :"YOU GOT ";C;" CORRECT!" D-" "FINALLY, I'LL EMPHASIZE, 'BITES'"WHICH SHOULD BE IDENTIFIEDTCH...STORE Q$ IN9  D$ TEMPORARILY, PUT THE ANSWER INc  Q$ (NOW THE ANSWER IS THE QUESTION)  THEN GET THE ANSWER FROM D$  (NOW THE ORIGINAL QUESTION IS THE ANSWER).  =============== D$Q$ Q$A$ A$D$  ===SWITCH COMPLSTATE, YOU GIVE"2 "THE CAPITAL; IF I GIVE THE"V "CAPITAL, YOU GIVE THE STATE."\ "g ,I15r 6Q$,A$x @ J ==='FLIP' A COIN=== TX(2(1)1) ^X2490 h ===DO THE SWITCH IF X IS 1=== r =============== | HERE'S THE SWI RESPONSE (VIA INPUT)+ ===============[ "TEXAS","AUSTIN","ARKANSAS","LITTLE ROCK" "NEW MEXICO","SANTA FE","OKLAHOMA" "OKLAHOMA CITY","OREGON","SALEM" ===INTRODUCTION=== "STATE CAPITAL DRILL"  "IF I GIVE THE ============& d VARIABLE DICTIONARY< n ===============_ x A$ - ANSWER (FROM DATA-READ) C - NUMBER CORRECT COUNTER D$ - HOLDS ORIGINAL QUESTION IN QUESTION/ANSWER SWITCHING Q$ - QUESTION (FROM DATA-READ) R$ - USER PROGRAM 12* ===============O DRILL AND PRACTICE: EXAMPLE 1w( PROGRAM DEMOS THE LINEAR QUESTION2 AND ANSWER SEQUENCE VIA DATA-READ,< AND SWITCHING A QUESTION FOR ANF ANSWER AND AN ANSWER FOR A QUESTIONP Z ==="" " " " " """""""""