1000,"R: A TUTORIAL PROGRAM IN PILOT ABOUT PILOT",1010,"R:",1020,"R: PACIFIC UNION COLLEGE, L. TURNER, JUL 73",1030,"R:",1040,"R: PROGRAM NUMBER 2, CONDITIONS AND MATCHES",1050,"R:",1060,"R:*****************************************************************",1070,"T:",1080,"T:WELCOME TO THE SECOND PROGRAM IN THE TUTORIAL SERIES TO TEACH +",1090,"T:YOU EVERYTHING YOU WANTED TO KNOW ABOUT PILOT (BUT WERE AFRAID +",1100,"T:ASK!).",1110,"T:",1120,"T:BY NOW YOU ARE FAMILIAR WITH TWO DIFFERENT PILOT STATEMENTS. +" 1130,"T:WHAT ARE THEY +",1140,"A:",1150,".M:[A],[ANS*[STA,[ANSWER]",1160,".M:[T],[TYP*[STA,[TYPE]",1170,".D:2",1180,"CN:M=M+1",1190,"Y:OF COURSE, +",1200,"N:WELL, +",1210,"T:FROM THE FIRST PROGRAM YOU LEARNED ABOUT TYPE AND ANSWER +",1220,"T:STATEMENTS (THAT INCLUDES THE UNREFERENCED TYPE ALSO!).",1230,"T:",1240,"T:WHAT THINGS DO ALL PILOT STATEMENTS HAVE IN COMMON??",1250,"A:" 1260,"M:COLON,:",1270,"M:NUMBER,INTEGER",1280,"M:INSTRUCTION",1290,".D:2",1300,"CN:M=M+1",1310,"Y:OK! +",1320,"N:NO, +",1330,"T:ALL PILOT STATEMENTS HAVE: 1. A LINE NUMBER, 2. AN +",1340,"T:INSTRUCTION, AND 3. A COLON! THEY MAY ALSO HAVE AN OBJECT, BUT +",1350,"T:AT LEAST AS FAR AS THE TYPE AND ANSWER STATEMENTS, IT IS +",1360,"T:OPTIONAL.",1370,"T:",1380,"T:WHAT DOES THE OBJECT OF AN ANSWER STATEMENT DO??" 1390,"A:",1400,".M:[STOR,[STR*[VAR,[NUMB*[VAR,[REFER,[REMEM",1410,"CN:M=M+1",1420,"Y:RIGHT! +",1430,"N:NOT EXACTLY, +",1440,"T:THE OBJECT OF AN ANSWER STATEMENT STORES THE RESPONSE FOR +",1450,"T:FURTHER REFERENCE; THAT IS, IT MAY BE PRINTED OUT LATER.",1460,"T:",1470,"T:WHAT SPECIAL CHARACTER SIGNIFIES CONCATENATION +",1480,"A:",1490,".M:[PLUS,+",1500,"CN:M=M+1",1510,"Y:CORRECT! +" 1520,"N:I AM AFRAID NOT. +",1530,"T:THE PLUS SIGN (+) AT THE END OF A TYPE OBJECT CAUSES THE +",1540,"T:CARRIAGE TO JUST SIT AT THAT POINT UNTIL THE NEXT CHARACTER IS +",1550,"T:PRINTED. IT ALSO SIGNIFIES THE END OF A STRING VARIABLE OR A +",1560,"T:NUMERIC VARIABLE REFERENCE.",1570,"T:",1580,"T:FINALLY, WHAT BASIC PROGRAM ALLOWS THE ENTRY OF THE PILOT +",1590,"T:LANGUAGE PROGRAM +",1600,"A:",1610,".M:(PILOTE),(PILOTF)",1620,"CN:M=M+1",1630,"Y:VERY GOOD! +",1640,"N:SIGH. +" 1650,"T: THE BASIC PROGRAM IS NAMED 'PILOTE' FOR THE 2000E SYSTEM AND +",1655,"T: 'PILOTF' FOR THE 2000F SYSTEM.",1660,"T(M):",1670,"T(M):WELL YOU MISSED #M+OF THE ABOVE QUESTIONS. +",1680,"T(M>1):I WOULD SUGGEST THAT YOU REVIEW PROGRAM #1. WE WILL BE +",1690,"T(M>1):USING MANY OF THE CONCEPTS PRESENTED THERE IN THIS SESSION.+",1700,"T(M):",1710,"T:",1720,"T:BEFORE WE START IN ON THE NEW MATERIAL, LEST I FORGET, WHAT IS +",1730,"T:YOUR NAME +",1740,"A:$NAME",1750,"R:",1760,"T:" 1770,"T:WITH THE TYPE AND ANSWER STATEMENTS THE COMPUTER CAN PRINT +",1780,"T:OUT MESSAGES, ASK QUESTIONS, AND ACCEPT INPUT FROM THE +",1790,"T:STUDENT. TO BE USEFUL, THE COMPUTER MUST RECOGNIZE WHAT HAS +",1800,"T:BEEN TYPED IN. FOR THIS WE NEED A NEW STATEMENT.",1810,"T:WELL $NAME+, WHAT DO YOU SUPPOSE IT IS CALLED +",1820,"A:",1830,".M:[RECOG,[R]",1840,"Y:THAT IS A GOOD GUESS, BUT NOT QUITE RIGHT! +",1850,"JY:*MQ",1860,".M:[MATCH,[M]",1870,"Y:VERY GOOD, $NAME+! +",1880,"N:I AM AFRAID NOT, +" 1890,"*MQ T:A 'MATCH' STATEMENT (M) SERVES TO CHECK IF THE CORRECT +",1900,"T:RESPONSE WAS TYPED. CONSIDER:",1910,"T:",1920,"T: 1000 T:WHAT IS YOUR SEX + ",1930,"T: 1010 A:",1940,"T: 1020 M:MALE",1950,"T:",1960,"T:THE MATCH STATEMENT MUST CONTAIN AN OBJECT, IN THE CASE HERE IT +",1970,"T:IS THE WORD 'MALE'. THE PROGRAM WILL SCAN THROUGH THE ENTIRE +",1980,"T:RESPONSE UNTIL IT FINDS THE FOUR CONTIGUOUS CHARACTERS 'MALE'. +",1990,"T:IF IT FINDS THEM, THE MATCH IS ''SUCCESSFUL''. IF IT DOES NOT +" 2130,"CY:I=I+1",2140,"N:NO, ---- THE FOUR CHARACTERS ARE THERE.",2150,"T: I AM A LEG!",2160,"T: - - -- : +",2170,"A:",2180,".M:[FA,[F]",2190,"CY:I=I+1",2200,"N:NO,THEY ARE SEPARATED BY BLANKS, IT FAILS!",2210,"T: I AM A MAN! : +",2220,"A:",2230,".M:[FA,[F]",2240,"CY:I=I+1",2250,"J(I=4):*IDEA" 2260,"N:I DON'T SEE 'MALE' ANYWHERE IN THERE!",2270,"T: I AM NOT A MALE. : +",2280,"A:",2290,".M:[SUC,[S]",2300,"CY:I=I+1",2310,"J(I=4):*IDEA",2320,"N:SORRY, IT DOES MATCH!",2330,"T: NONE OF YOUR BUSINESS! : +",2340,"A:",2350,".M:[FA,[F]",2360,"CY:I=I+1",2370,"J(I=4):*IDEA",2380,"N:WRONG AGAIN, SIGH." 2390,"T: MALEFACTOR : +",2400,"A:",2410,".M:[SUC,[S]",2420,"N:NO, NO, NO!",2430,"*IDEA T:",2440,"T(I=4):I THINK YOU HAVE THE IDEA! +",2450,"T:WE WILL COME BACK TO THE MATCH STATEMENT SHORTLY, BUT I SUSPECT +",2460,"T:THAT YOU ARE ANXIOUS TO SEE HOW A MATCH STATEMENT CAN BE USEFUL.",2470,"T:",2480,"T:WE MUST NOW CONSIDER AN OPTIONAL PART OF ANY PILOT STATEMENT. +",2490,"T:THIS IS CALLED A 'CONDITION'. OK, $NAME+, WHERE IN THE +",2500,"T:STATEMENT DO YOU SUPPOSE IT GOES +",2510,"A:" 2520,".M:[AFTER*[INSTR,[RIGHT*[INSTR",2530,".M:[BEFO*[COLON,[LEF*[COLON,[BEF*:,[LEF*:",2540,".D:2",2550,".MN:[BETW*INST*COL,[BETW*INST*:,[BETW*:*INS,[BETW*COL*INST",2560,".MN:[RIGH*AFT*INSTR,[JUST*AFTE*[INSTR,[RIGH*BEF*COL,[RIGH*BEF*:",2570,".MN:[JUST*BEF*COL,[JUST*BEF*:",2580,"Y:EXACTLY RIGHT, $NAME+! +",2590,"N:NOT QUITE, +",2600,"T:THE CONDITION GOES RIGHT AFTER THE INSTRUCTION, BUT BEFORE THE +",2610,"T:COLON, AS:",2620,"T:",2630,"T: [CONDITION]:",2640,"T:" 2650,"T:WHERE <> AND [] INDICATE SYNTACTICAL ELEMENTS OF THE PILOT +",2660,"T:LANGUAGE. THE [] FURTHER INDICATES AN OPTIONAL QUANTITY.",2670,"T:THE CONDITION MAY BE ONE OF SEVERAL TYPES, BUT FOR THE PRESENT +",2680,"T:WE ARE CONCERNED WITH A TYPE DESIGNATED AS 'YES' AND 'NO'. +",2690,"T:WHAT SINGLE LETTERS DO YOU THINK SPECIFY THESE +",2700,"A:",2710,".M:[Y]",2720,".M:[N]",2730,".D:2",2740,"Y:VERY GOOD! +",2750,"JY:*NEXT",2760,".M:[YN],[NY]",2770,"Y:OK, +" 2780,"JY:*NEXT",2790,".D:1",2800,"Y:YOU GOT ONE CORRECT. +",2810,"N:NEITHER ONE RIGHT! SIGH!! +",2820,"*NEXT T:THESE ARE SPECIFIED BY A 'Y' OR A 'N' RESPECTIVELY. +",2830,"T:CONSIDER THESE EXAMPLES:",2840,"T:",2850,".T: 1000 TY:VERY GOOD!",2860,".T: 2000 TN:WRONG!",2870,".T: 3000 MN:NEW",2880,".T: 4000 AY:",2890,".T: 5000 .TN: IT IS #A NOT #B !!!",2900,"T:" 2910,"T:THE STATEMENTS WITH CONDITIONS ARE TERMED 'CONDITIONAL'. WHAT +",2920,"T:PURPOSE DO YOU SUPPOSE THE CONDITION SERVES??",2930,"A:",2940,".M:[EXECUT",2950,"Y:OK, $NAME+, +",2960,"N:WELL, +",2970,"T:IT TELLS WHETHER OR NOT THE STATEMENT IS TO BE EXECUTED AND +",2980,"T:DEPENDS UPON WHETHER THE LAST EXECUTED MATCH STATEMENT WAS +",2990,"T:SUCCESSFUL OR NOT.",3000,"T:IF THE LAST EXECUTED MATCH WERE SUCCESSFUL, WHICH STATEMENT(S) +",3010,"T:ARE EXECUTED??",3020,"A:",3030,".M:[Y]" 3040,".M:[NO*CONDIT,WITHOUT*CONDIT,[UNCONDIT",3050,".D:2",3060,"Y:EXCELLENT $NAME+! THAT'S ABSOLUTELY RIGHT.",3070,"JY:*MORE",3080,".M:[WITHOUT*[N],[WITH*[NO*[N]",3090,"Y:BEAUTIFUL $NAME+!",3100,"JY:*MORE",3110,".D:1",3120,"Y:YES, +",3130,"N:NO, +",3140,"T:THOSE WITH A 'Y' CONDITION AND THOSE WITHOUT ANY CONDITION +",3150,"T:(UNCONDITIONAL) ARE EXECUTED. THOSE WITH A 'N' CONDITION ARE +",3160,"T:SKIPPED." 3170,"T:WHICH ONES ARE SKIPPED IF THE LAST MATCH FAILED +",3180,"A:",3190,".M:[Y]",3200,"Y:RIGHT ON! +",3210,"N:SORRY, ONLY THE ONES WITH A 'N' ARE SKIPPED. +",3220,"T:WHICH ONES ARE SKIPPED IF THE LAST MATCH WAS SUCCESSFUL +",3230,"A:",3240,".M:[N]",3250,"Y:CORRECT $NAME+!",3260,"N:PERHAPS YOU SHOULD REVIEW! IF THE LAST MATCH FAILED, THE 'Y' +",3270,"N:STATEMENTS ARE SKIPPED. IF THE LAST MATCH WERE SUCCESSFUL, THE +",3280,"N:'N' STATEMENTS ARE SKIPPED.",3290,"*MORE T:" 3300,"T:WE CAN NOW PROGRAM THE COMPUTER TO RESPOND IN DIFFERENT WAYS +",3310,"T:TO WHAT THE STUDENT TYPES IN. CONSIDER:",3320,"*MOREAG T:",3330,".T: 1000 T:WHAT IS YOUR NAME + ",3340,".T: 1010 A:$NAMER",3350,".T: 1020 T:OK, WHO DISCOVERED AMERICA + ",3360,".T: 1030 A:",3370,".T: 1040 M:COLUMBUS",3380,".T: 1050 TY:VERY GOOD, $NAMER+!",3390,".T: 1060 TN:WRONG, IT WAS COLUMBUS.",3400,".T: 1070 T:BYE!",3410,"T:",3420,"T:LET'S EXECUTE THIS PROGRAM." 3430,"*AGAING T:",3440,"T: WHAT IS YOUR NAME +",3450,"A:$NAMER",3460,"T: OK, WHO DISCOVERED AMERICA +",3470,"A:",3480,"M:COLUMBUS",3490,"Y: VERY GOOD, $NAMER+!",3500,"N: WRONG, IT WAS COLUMBUS.",3510,"T: BYE!",3520,"T:",3530,"J(N):*MOREG",3540,"C:N=1",3550,"T:LET'S TRY IT AGAIN, THIS TIME WITH A RESPONSE THAT +" 3560,"Y:'FAILS'.",3570,"N:IS 'SUCCESSFUL'.",3580,"J:*AGAING",3590,"*MOREG T:",3600,"T:WELL $NAME+, DOES THE PROGRAM BEHAVE AS EXPECTED +",3610,"A:",3620,".M:RIGHT,[Y,OF*COURS,CERT,SI,PRECI,EXACT,PERFEC,AFF,I]*SUP,O*K]",3630,"Y:GOOD! +",3640,"N:WELL, IT DOES FOLLOW ALL THE RULES WE HAVE DISCUSSED. LET'S +",3650,"N:TAKE ANOTHER LOOK.",3660,"JN:*MOREAG",3670,"T:NOW, OFTEN ONE WISHES TO MATCH MORE THAT ONE ITEM. THE MATCH +",3680,"T:STATEMENT ALLOWS THIS BY SEPARATING THE DIFFERENT ALTERNATIVES +" 3690,"T:WITH A COMMA (,). THIS CAN TAKE CARE OF DIFFERENT SPELLINGS +",3700,"T:(OR MIS-SPELLINGS!) AND SYNONYMS. CONSIDER THIS PROGRAM:",3710,"T:",3720,".T: 1000 T:WHAT IS YOUR SEX + ",3730,".T: 1010 A:",3740,".T: 1020 M:FEMALE, . . .",3750,".T: 1030 TY:AHA, A CUTE CHICK!",3760,".T: 1040 TN:WELL, A HANDSOME GUY!",3770,"T:",3780,"T:THE RESPONSE FOR STATEMENT 1010 COULD LOGICALLY CONTAIN MANY +",3790,"T:OTHER POSSIBLE 'CORRECT' WORDS OR PHRASES BESIDES ''FEMALE''. +" 3800,"T:(NOTE: THE ELLIPSIS ARE USED MERELY TO INDICATE THAT SOME +",3810,"T:OTHER ALTERNATIVES MAY FOLLOW.)",3820,"T:WRITE THE MATCH STATEMENT (1020) TO INCLUDE AS MANY POSSIBLE +",3830,"T:ALTERNATIVES AS YOU CAN.",3840,"*QQ2 A:",3850,".M:[1020 M:",3860,"N:DON'T FORGET THE LINE NUMBER, INSTRUCTION, AND COLON!",3870,".M:[WOMAN]",3880,".M:[GIRL]",3890,".M:[GAL]",3900,".M:[LADY]",3910,".M:[FEMALE]",3920,".M:[FEMININE]" 3930,".D:5",3940,"Y:THAT'S VERY GOOD $NAME+! +",3950,"JY:*QQ3",3960,".D:1",3970,"N:YOU DID NOT EVEN GET 'FEMALE'. TRY AGAIN (REMEMBER TO +",3980,"N:SEPARATE THE ALTERNATIVES WITH COMMAS.",3990,"JN:*QQ2",4000,"T:WELL, I CAN THINK OF SEVERAL OTHERS, SUCH AS: +",4010,".M:[WOMAN]",4020,"N:WOMAN, +",4030,".M:[GIRL]",4040,"N:GIRL, +",4050,".M:[GAL]" 4060,"N:GAL, +",4070,".M:[LADY]",4080,"N:LADY, +",4090,".M:[FEMININE]",4100,"N:FEMININE, +",4110,"T:OR EVEN CHICK! THUS +",4120,"*QQ3 T:OUR MATCH STATEMENT LOOKS LIKE:",4130,"T:",4140,"T: 1020 M:FEMALE,WOMAN,GIRL,GAL,LADY,FEMININE,CHICK",4150,"T:",4160,"T:NOW BEFORE YOU THINK I AM A MALE CHAUVANIST COMPUTER, WHY DO +",4170,"T:YOU SUPPOSE THE MATCH STATEMENT AND THE FOLLOWING CONDITIONED +",4180,"T:TYPE STATEMENTS WERE CHOSEN TO LOOK FOR 'FEMALE'? THAT IS, WHY +" 4190,"T:NOT REVERSE EVERYTHING AS IN:",4200,"T:",4210,".T: 1020 M:MALE,MAN,BOY",4220,".T: 1030 TN:AHA, A CUTE CHICK!",4230,".T: 1040 TY:WELL, A HANDSOME GUY!",4240,"T:",4250,"A:",4260,".M:[MALE*[FEMALE,[FEMALE*[MALE,[MAN*[WOMAN,[WOMAN*[MAN",4270,"Y:OK, +",4280,"N:WELL, +",4290,"T:THE MATCH ALTERNATIVE 'MALE' WILL ALSO MATCH 'FEMALE', 'MALE', +",4300,"T:'MALEFACTOR, AND MANY OTHER WORDS (SIMILIARLY, 'MAN' ALSO +",4310,"T:MATCHES 'WOMAN'). THIS PARTICULAR ORDER WOULD NOT LEAD TO A +" 4320,"T:USEFUL TEST. SORRY ALL YOU WOMEN LIBERS!",4330,"T:",4340,"T:THIS TYPE OF MATCH IS THE SIMPLEST KIND. THERE IS AN EXTENDED +",4350,"T:MATCH STATEMENT THAT ALLOWS MORE TRICKY MATCHES, BUT FOR THE +",4360,"T:PRESENT LET US EXAMINE THIS ONE IN MORE DETAIL.",4370,"T:SO FAR WE HAVE CONSIDERED SINGLE WORDS ONLY AS MATCH +",4380,"T:ALTERNATIVES, BUT THE PILOT LANGUAGE DOES NOT MAKE THIS +",4390,"T:RESTRICTION. IT ALLOWS ANYTHING BETWEEN THE COMMAS.",4400,"T:FIRST CONSIDER:",4410,"T:",4420,".T: 4070 A:$RESP73" 4430,".T: 4080 T: '$RESP73+'",4440,"T:",4450,"T:IF 'A DOG' IS TYPED IN (NOTE SEVERAL BLANKS SEPARATING 'A' +",4460,"T:AND 'D'), THEN 'A DOG' WILL BE TYPED OUT BY THE TYPE STATEMENT +",4470,"T:IN THE NEXT LINE. TRY IT!",4480,"T:",4490,"T: +",4500,"A:$RESP73",4510,"T: '$RESP73+'",4520,"T:",4530,"T:THE COMPUTER DELETES ALL LEADING BLANKS AND +",4540,"T:REPLACES ALL MULTIPLE BLANKS WITH A SINGLE BLANK. THIS IS DONE +",4550,"T:TO ALL RESPONSES, WHETHER THEY ARE STORED OR NOT." 4560,"T:",4570,".T: 4070 A:",4580,".T: 4080 M:A DOG",4590,".T: 4090 TY:SUCCESS",4600,".T: 4100 TN:FAILED",4610,"T:",4620,"T:WILL THE MATCH BE A SUCCESS OR WILL IT FAIL IF 'I AM NOT A +",4630,"T:DOG!' IS TYPED IN +",4640,"A:",4650,".M:[SUC,[S]",4660,"Y:THAT IS ABSOLUTLY CORRECT!",4670,"JY:*QP17",4680,"T:NO, IT WILL MATCH. TRY IT!" 4690,"T:",4700,"T: +",4710,"A:",4720,"M:A DOG",4730,"Y: SUCCESS",4740,"N: FAILED",4750,"*QP17 T:",4760,"T:NOTE THAT LEADING BLANKS ARE DELETED IN THE ANSWER +",4770,"T:RESPONSES. SIMILIARLY, DURING THE ENTRY OF PILOT STATEMENTS, +",4780,"T:ALL UNNECCESSARY BLANKS ARE DELETED. IN THE CASE OF THE MATCH +",4790,"T:OBJECT, THIS MEANS ANY BLANKS AROUND THE COMMAS (LEADING AND +",4800,"T:TRAILING BLANKS OF EACH ALTERNATIVE) ARE DELETED, AND MULTIPLE +",4810,"T:BLANKS WITHIN THE ALTERNATIVES ARE REDUCED TO A SINGLE BLANK." 4820,"T:",4830,"T:WE CAN ANTICIPATE SOME TRICKY SOUL IN OUR PREVIOUS EXAMPLE:",4840,"T:",4850,".T: 1000 T:WHAT IS YOUR SEX + ",4860,".T: 1010 A:",4870,".T: 1020 M:FEMALE,WOMAN,GIRL,GAL,LADY,FEMININE,CHICK,NOT MALE",4880,".T: 1030 TY:AHA, A CUTE CHICK!",4890,".T: 1040 TN:WELL, A HANDSOME GUY!",4900,"T:",4910,"T:HOW WOULD YOU ADD MORE MATCH ALTERNATIVES SUCH AS: NOT A MALE, +",4920,"T:OPPOSITE OF MALE, NOT A MAN, OR SEVERAL OTHERS (NOTE THAT THESE +",4930,"T:CANNOT ALL BE PUT ON THE SAME LINE WITH THE REST) +" 4940,"A:",4950,".M:[ANOTH*[MATCH,[NEW*[MATCH,[M],ADD*[MATCH,INSERT*[MATCH",4960,".M:[CONDITI,[N],[NO",4970,".D:2",4980,"Y:SUPER, $NAME+! +",4990,"JY:*SUPER",5000,".M:[ANOTH*[MATCH,[NEW*[MATCH,[M],ADD*[MATCH,INSERT*[MATCH",5010,"Y:THAT IS PARTIALLY CORRECT, BUT ONE MUST BE CAREFUL. +",5020,"T:WE COULD ADD ANOTHER MATCH STATEMENT SUCH AS:",5030,"T:",5040,"T: 1025 M:NOT A MALE,OPPOSITE OF MALE,NOT A MAN",5050,"T:",5060,"T:IF THIS WERE DONE, WHICH STATEMENT (1030 OR 1040) WOULD BE +" 5070,"T:EXECUTED IF YOU TYPED IN 'GIRL' +",5080,"A:",5090,"M:1040,TN",5100,"Y:YOU SEE THAT THE FIRST MATCH IS IGNORED. THIS IS BECAUSE +",5110,"N:NO, REMEMBER THAT +",5120,"T:THE CONDITION REFERS TO THE LAST EXECUTED MATCH STATEMENT. +",5130,"N:IN ESSENCE, THE FIRST ONE IS IGNORED.",5140,"T:WE CAN GET AROUND THIS BY CAUSING THE SECOND MATCH TO BE +",5150,"T:EXECUTED ONLY IF THE THE FIRST ONE FAILS. HOW WOULD YOU DO +",5160,"T:THIS +",5170,"A:",5180,".M:[CONDIT,[MN:,[N],[NO",5190,"Y:THAT'S RIGHT $NAME+, +" 5200,"N:WELL, +",5210,"*SUPER T:WE MERELY MAKE THE SECOND MATCH WITH A 'N' CONDITION. +",5220,"T:THUS:",5230,"T:",5240,".T: 1000 T:WHAT IS YOUR SEX + ",5250,".T: 1010 A:",5260,".T: 1020 M:FEMALE,WOMAN,GIRL,GAL,LADY,FEMININE,CHICK,NOT MALE",5270,".T: 1025 MN:NOT A MALE,OPPOSITE OF MALE,NOT A MAN",5280,".T: 1030 TY:AHA, A CUTE CHICK!",5290,".T: 1040 TN:WELL, A HANDSOME GUY!",5300,"T:",5310,"T:OK, IF THE WORD 'FEMALE' IS TYPED IN FOR THE RESPONSE TO 1010, +",5320,"T:WHICH STATEMENT(S) WILL BE SKIPPED +" 5330,"A:",5340,".M:1020,M],1030,TY",5350,"JY:*NOTPERFECT",5360,"M:1025,MN",5370,"M:1040,TN",5380,".D:2",5390,"Y:PERFECT! +",5400,"JY:*PERFECT",5410,".M:[N*[CONDIT",5420,"Y:THAT'S RIGHT. +",5430,"JY:*PERFECT",5440,"*NOTPERFECT T:THE STATEMENTS WITH AN 'N' CONDITION (1025 AND +",5450,"T:1040) ARE SKIPPED. IF 'I AM NOT A MALE' IS TYPED IN, WHICH +" 5460,"T:ONE(S) ARE SKIPPED +",5470,"A:",5480,"M:1025,1030,MN,TY",5490,"Y:NO, +",5500,"JY:*NONO",5510,"M:1040,TN",5520,"Y:GOOD, +",5530,"N:WELL, +",5540,"*NONO T:THE MATCH IN 1020 FAILS SO 1025 IS EXECUTED, BUT IT IS A +",5550,"T:SUCCESS SO 1030 IS EXECUTED AND 1040 IS SKIPPED.",5560,"*PERFECT T:THE 'N' CONDITION ON THE SECOND MATCH IS AN EFFECTIVE +",5570,"T:WAY OF GETTING A CONTINUATION. SEVERAL MATCHES MAY BE STRUNG +",5580,"T:TOGETHER IN THIS WAY. THEY ARE EXECUTED ONE AT A TIME UNTIL A +" 5590,"T:MATCH IS FOUND, THEN THE REST ARE SKIPPED, AND THE SUBSEQUENT +",5600,"T:STATEMENTS WITH A 'Y' ARE EXECUTED JUST AS IF THERE HAD ONLY +",5610,"T:BEEN ONE MATCH STATEMENT.",5620,"T:",5630,"T:THE 'N' AND 'Y' CONDITIONS MAY BE USED WITH ANY STATEMENT, BUT +",5640,"T:THEY ARE USED SO OFTEN WITH THE TYPE STATEMENT, THAT A SPECIAL +",5650,"T:SHORTHAND EXCEPTION IS ALLOWED. INSTEAD OF TWO LETTERS (THE +",5660,"T:INSTRUCTION 'T' AND THE CONDITION 'Y' OR 'N'), 'TN' AND 'TY' +" 5670,"T:MAY BE INDICATED BY A SINGLE LETTER. WHAT DO YOU THINK THIS +",5680,"T:LETTER IS FOR THE 'TN' STATEMENT +",5690,"A:",5700,".M:[N]",5710,"Y:RIGHT ON! +",5720,"N:NO, +",5730,"T:IT IS MERELY AN N BY ITSELF. SO:",5740,"T:",5750,"T: 3070 N: . . . IS EQUIVALENT TO 3070 TN: . . .",5760,"T: 8300 Y: . . . IS EQUIVALENT TO 8300 TY: . . .",5770,"T:",5780,"T:KEEP IN MIND THAT THIS IS A CONVENIENCE ONLY FOR 'TY' AND +",5790,"T:'TN'. BOTH FORMS ARE ABSOLUTELY CORRECT AND EITHER MAY BE +" 5800,"T:USED. THE FULL FORM FOLLOWS THE MORE GENERAL RULES OF THE +",5810,"T:PILOT LANGUAGE. ALL OTHER KINDS OF STATEMENTS, INCLUDING THE +",5820,"T:UNREFERENCED TYPE (.T), MUST EXPLICITLY INCLUDE BOTH THE +",5830,"T:INSTRUCTION AND THE CONDITION (IF THE CONDITION IS DESIRED).",5840,"T:",5850,"T:SO FAR WE HAVE DEALT WITH A PROGRAM THAT HAS A SINGLE ANSWER +",5860,"T:STATEMENT. WHAT ABOUT:",5870,"T:",5880,"T: 7000 A:",5890,"T: 7010 T:THANK YOU. DO YOU LIKE COMPUTERS + ",5900,"T: 7020 A:" 5910,"T: 7030 M:YES,CORRECT,I THINK SO",5920,"T: 7040 Y:GOOD!",5930,"T:",5940,"T:WHICH RESPONSE (7000 OR 7020) WILL THE MATCH IN 7030 EXAM +",5950,"A:",5960,"M:7020",5970,"Y:OF COURSE $NAME+, +",5980,"N:NO, +",5990,"T:IT IS THE LAST EXECUTED ANSWER STATEMENT. FURTHER, THAT +",6000,"T:RESPONSE IS AVAILABLE FOR MORE MATCHES UNTIL ANOTHER ANSWER +",6010,"T:STATEMENT IS EXECUTED, IRREGARDLESS OF ANY INTERVENING +",6020,"T:STATEMENTS. THAT IS, THE MATCH DOES NOT NEED TO IMMEDIATELY +" 6030,"T:FOLLOW THE ANSWER STATEMENT. IT NEED ONLY TO BE EXECUTED +",6040,"T:BEFORE THE NEXT EXECUTED ANSWER STATEMENT.",6050,"T:",6060,"T: 8200 A:",6070,"T: 8210 M:YES",6080,"T: 8230 AY:",6090,"T: 8240 M:HEWLETT PACKARD",6100,"T:",6110,"T:IF 'HEWLETT PACKARD' IS TYPED IN AS A RESPONSE TO STATEMENT +",6120,"T:8200, WILL STATEMENT 8230 BE EXECUTED +",6130,"A:",6140,".M:[NO,[N]",6150,"Y:THAT IS CORRECT. +" 6160,"N:I AM AFRAID NOT. +",6170,"T:NOW, WILL THE MATCH IN 8240 BE SUCCESSFUL OR WILL IT FAIL +",6180,"A:",6190,".M:[SUC,[S]",6200,"Y:RIGHT ON $NAME+! +",6210,"N:NO, +",6220,"T:IT WILL BE SUCCESSFUL SINCE 8230 WAS NOT EXECUTED AND THE +",6230,"T:RESPONSE TO 8200 (THE LAST EXECUTED ANSWER) WILL BE USED.",6240,"T:",6250,"T:DOES AN OBJECT (NUMERIC OR STRING VARIABLE) IN AN ANSWER +",6260,"T:AFFECT THE MATCHING +",6270,"A:",6280,".M:[NO,[N],[NEG" 6290,"Y:PRECISELY! +",6300,"N:NEGATIVE, +",6310,"T:AN OBJECT HAS NO EFFECT WHATSOEVER ON THE RESPONSE AS TO HOW IT +",6320,"T:MAY BE USED IN SUBSEQUENT MATCHES. IT CAUSES THE COMPUTER TO +",6330,"T:EXTRACT INFORMATION FROM THE RESPONSE BUT THE RESPONSE IS NOT +",6340,"T:MODIFIED IN ANY WAY.",6350,"T:",6360,"T:THE MATCH STATEMENT HAS ONE OTHER TYPE OF ALTERNATIVE. SO FAR +",6370,"T:WE HAVE BEEN USING SIMPLE WORDS OR PHRASES. HOWEVER, IT MAY BE +",6380,"T:OCCASIONALLY USEFUL TO USE SOME PREVIOUS RESPONSE AS AN +" 6390,"T:ALTERNATIVE. SO IT COULD NOT BE A LITERAL EXPRESSION. HOW DO +",6400,"T:SUPPOSE THIS IS DONE??",6410,"A:",6420,".M:[STRIN*[VAR,[$",6430,"Y:FINE, FINE. +",6440,"N:WELL, THIS IS A BIT DIFFICULT, BUT +",6450,"T:A STRING VARIABLE USED AS AN ALTERNATIVE WILL CAUSE THE ENTIRE +",6460,"T:RESPONSE STORED IN IT TO BE USED AS THE ALTERNATIVE. CONSIDER:",6470,"T:",6480,".T: 1000 A:*FIRSTRESPONSE",6490,".T: .",6500,".T: .",6510,".T: ." 6520,"T:",6530,".T: 5000 T:WHAT DID YOU SAY PREVIOUSLY + ",6540,".T: 5010 A:",6550,".T: 5020 M:$FIRSTRESPONSE",6560,".T: 5030 Y:THAT IS CORRECT. + ",6570,".T: 5040 N:AHA, I HAVE YOU NOW! + ",6580,".T: 5050 T:YOU SAID '$FIRSTRESPONSE+'!",6590,"T:",6600,"T:THIS CONSTRUCT MAY BE USED WITH OTHER ALTERNATIVES, JUST +",6610,"T:SEPARATE THEM WITH COMMAS (NO NEED TO USE THE + AS ONE DOES IN +",6620,"T:TYPE STATEMENTS). EXAMPLE:",6630,"T:",6640,".T: 8720 M:RIGHT,CORRECT,$OLDANSWER,YES" 6650,"T:",6660,"T:DO YOU THINK THIS CONSTRUCT IS USEFUL +",6670,"A:",6680,"T:IT IS NOT USED TOO OFTEN!",6690,"T:",6700,"T:THAT PRETTY MUCH COVERS THE MATCH STATEMENT. THERE IS AN +",6710,"T:EXTENDED MATCH THAT IS A BIT MORE POWERFUL, BUT WE WILL DEFER +",6720,"T:THAT UNTIL LATER. I WISH TO COVER A FEW MORE POINTS ABOUT +",6730,"T:CONDITIONS AND INTRODUCE A NEW KIND OF STATEMENT, THEN LET YOU +",6740,"T:GO SO YOU CAN PRACTICE WRITING SOME PILOT PROGRAMS ON YOUR OWN.",6750,"T:",6760,"T:CONSIDER THIS PROGRAM:",6770,"T:" 6780,".T: 3000 A:",6790,".T: 3010 Y:YES STATEMENT",6800,".T: 3020 N:NO STATEMENT",6810,"T:",6820,"T:NOW THERE ARE NO MATCH STATEMENTS. DO YOU THINK STATEMENT 3010 +",6830,"T:OR 3020 WILL BE EXECUTED, OR NEITHER, OR BOTH +",6840,"A:",6850,".M:[BOTH,NEITHER,3020,[N]*STAT,[NO*[STAT",6860,"Y:SIGH, +",6870,"JY:*BOTT",6880,".M:3010,[Y]*[STAT,[YES*[STAT",6890,"Y:VERY GOOD! +",6900,"N:NOT EXACTLY, +" 6910,"*BOTT T:THE ANSWER STATEMENT ACTS LIKE A SUCCESSFUL MATCH IN THAT +",6920,"T:ALL SUBSEQUENT STATEMENTS WITH A 'N' CONDITION ARE SKIPPED +",6930,"T:UNTIL A MATCH STATEMENT POSSIBLY CHANGES THINGS.",6940,"T:A CONVENIENT WAY TO UNDERSTAND HOW THINGS INTERACT IS TO USE +",6950,"T:THE CONCEPT OF THE 'MATCH FLAG'. THIS IS A QUANTITY WHICH IS +",6960,"T:EITHER 'YES' OR 'NO'. IF IT IS 'YES', THEN ALL STATEMENTS WITH +",6970,"T:A 'Y' CONDITION ARE EXECUTED, AND THOSE WITH AN 'N' ARE SKIPPED." 6980,"T:WHAT KINDS OF STATEMENTS CAN CHANGE THE 'MATCH FLAG' ??",6990,"A:",7000,".M:[ANSWER],[A],[ANS*[STAT",7010,".M:[MATCH],[M],[MAT*[STAT",7020,".D:2",7030,"Y:THAT IS QUITE CORRECT. +",7040,"JY:*FLAG",7050,".D:1",7060,"Y:CLOSE, +",7070,"N:NO, +",7080,"*FLAG T:BOTH THE ANSWER AND MATCH STATEMENTS CAN CHANGE THE MATCH +",7090,"T:FLAG. EACH EXECUTED MATCH STATEMENT SETS IT TO 'YES', IF +",7100,"T:SUCCESSFUL, OR TO 'NO' IF IT FAILS. TO WHAT DOES AN EXECUTED +" 7110,"T:ANSWER STATEMENT SET THE 'MATCH FLAG' +",7120,"A:",7130,".M:[Y],[YES]",7140,"Y:OF COURSE! +",7150,"N:THAT IS NOT QUITE RIGHT. +",7160,"T:ANY EXECUTED ANSWER STATEMENT ALWAYS SETS THE MATCH FLAG TO +",7170,"T:'YES'. ALSO THE MATCH FLAG IS SET TO 'YES' AT THE BEGINNING OF +",7180,"T:ALL PILOT PROGRAMS.",7190,"T:",7200,"T:THE CONCEPT OF THE 'MATCH FLAG' IS USEFUL IN TRACING THE LOGIC +",7210,"T:THROUGH COMPLICATED PROGRAM STATEMENTS. ONE STARTS AT AN +" 7220,"T:ANSWER STATEMENT WITH THE FLAG SET TO 'YES' AND MENTALLY +",7230,"T:EXECUTES IN TURN EACH STATEMENT WHOSE CONDITION AGREES WITH +",7240,"T:THE MATCH FLAG. WHENEVER A MATCH IS EXECUTED THAT FAILS, +",7250,"T:CHANGE THE FLAG TO 'NO' AND CONTINUE ONWARD.",7260,"T:",7270,"T:THE 'Y' AND 'N' CONDITIONS ARE ONE KIND OF CONDITION. PILOT +",7280,"T:HAS OTHERS. THE SECOND KIND IS THE 'GOOD' OR 'BAD' CONDITION. +",7290,"T:THIS IS SET ONLY BY AN ANSWER STATEMENT THAT HAS A NUMERIC +" 7300,"T:VARIABLE AS AN OBJECT. WHAT SINGLE LETTERS DO YOU THINK +",7310,"T:SYMBOLIZES THESE +",7320,"A:",7330,".M:[G]",7340,".M:[B]",7350,".D:2",7360,"Y:EXACTLY! +",7370,"JY:*NUMERFG",7380,".M:[GB],[BG]",7390,"Y:RIGHT! +",7400,"JY:*NUMERFG",7410,".D:1",7420,"Y:YOU HAVE ONE. +" 7430,"N:NO, NO, NO! +",7440,"*NUMERFG T:THE SINGLE LETTERS ARE 'G' AND 'B' RESPECTIVELY. IF +",7450,"T:THE ANSWER STATEMENT HAS A NUMERIC VARIABLE AS AN OBJECT AND +",7460,"T:THE RESPONSE CONTAINS A VALID NUMBER, THEN THE NUMERIC FLAG +",7470,"T:IS SET TO 'GOOD' AND ALL STATEMENTS WITH A 'B' CONDITION ARE +",7480,"T:SKIPPED. IF NO VALID NUMBER IS PRESENT, THEN ALL SUBSEQUENT +",7490,"T:STATEMENTS WITH A 'G' ARE SKIPPED. THIS IS USEFUL TO TEST IF +",7500,"T:A NUMBER REALLY WAS TYPED IN. CONSIDER:",7510,"T:" 7520,".T: 3250 T:WHAT IS YOUR AGE + ",7530,".T: 3260 A:#X",7540,".T: 3270 TB:DON'T BE VAIN. GIVE ME A NUMBER!",7550,".T: 3280 TG:YOU ARE #X YEARS OLD! I THINK YOU LOOK MUCH +",7560,"T:YOUNGER!!",7570,"T:",7580,"T:IF 'NONE OF YOUR BUSINESS!' WAS TYPED IN AS A RESPONSE TO +",7590,"T:STATEMENT 3260, WHICH SUBSEQUENT STATEMENT WOULD BE EXECUTED +",7600,"A:",7610,"M:3280,TG",7620,"Y:THAT IS INCORRECT!",7630,"JY:*NONEOF",7640,"M:3270,TB" 7650,"Y:YOU'RE ABSOLUTELY CORRECT! +",7660,"N:YOU MISSED. +",7670,"*NONEOF T:SINCE THERE WAS NO NUMBER IN THE RESPONSE, 3270 WAS +",7680,"T:EXECUTED AND 3280 SKIPPED.",7690,"T:IF 'I AM SEVENTEEN' WERE TYPED IN, WHICH ONE WOULD BE EXECUTED +",7700,"A:",7710,"M:3280,TG",7720,"Y:NO, +",7730,"JY:*17",7740,"M:3270,TB",7750,"Y:WHEN YOU'RE HOT, YOU'RE HOT! +",7760,"N:SORRY, +",7770,"*17 T:THE COMPUTER DOES NOT RECOGNIZE 'SEVENTEEN' AS A NUMBER. +" 7780,"T:IT COULD BE PROGRAMED BY APPROPRIATE MATCH STATEMENTS, BUT +",7790,"T:REMEMBER THAT THE COMPUTER IS NOT NEARLY AS BRILLANT AS YOU +",7800,"T:$NAME+!!",7810,"T:TO WHAT STATE (GOOD OR BAD) DO YOU THINK THE NUMERIC FLAG IS +",7820,"T:SET AT THE BEGINNING OF EVERY PILOT PROGRAM +",7830,"A:",7840,".M:[G],[GOOD",7850,"Y:EXACTLY $NAME+! +",7860,"N:NOPE! +",7870,"T:IT IS ORIGINALLY SET TO 'GOOD'. DOES THE FOLLOWING STATEMENT +",7880,"T:CHANGE THE NUMERIC FLAG:",7890,"T:",7900,".T: 4734 A:$IAMARESPONSE" 7910,"T:",7920,"A:",7930,".M:[N],[NO",7940,"Y:I CAN'T FOOL YOU $NAME+! WHY DO I TRY?? +",7950,"N:AHA, I TRICKED YOU! +",7960,"T:ONLY THE ANSWER STATEMENT WITH A NUMERIC VARIABLE AS AN OBJECT +",7970,"T:CAN CHANGE THE NUMERIC FLAG!",7980,"T:",7990,"T:THERE IS ONE MORE STATEMENT THAT I WISH TO INTRODUCE YOU TO +",8000,"T:BEFORE YOU TAKE OFF TO GO PRACTICE. AND THAT IS A 'REMARK +",8010,"T:STATEMENT'. WHAT SINGLE LETTER INSTRUCTION WOULD YOU GUESS +",8020,"T:INDICATES THIS +",8030,"A:" 8040,".M:[C]",8050,"Y:AHA, YOU'RE A FORTRANER!",8060,".M:[R]",8070,"Y:THAT IS ABSOLUTELY 100% CORRECT! +",8080,"N:NOT EXACTLY, +",8090,"T:THE SINGLE LETTER 'R' INDICATES A REMARK STATEMENT. THIS IS A +",8100,"T:RATHER INTERESTING STATEMENT IN THAT IT DOES NOTHING!! IT ONLY +",8110,"T:APPEARS IN THE LISTING OF THE PILOT PROGRAM. IT IS NEVER +",8120,"T:EXECUTED. HOWEVER, IT MAY BE USEFUL TO DOCUMENT OR EXPLAIN THE +",8130,"T:PROGRAM TO SOMEONE WHO MAY READ THE LISTING. THE OBJECT OF THE +" 8140,"T:REMARK STATEMENT MAY CONTAIN ANYTHING YOU WISH.",8150,"T:LET'S WRITE A PROGRAM USING ALL THE STATEMENTS WE NOW KNOW +",8160,"T:ABOUT. READY +",8170,"A:",8180,"T:",8190,".T: 100 R: THIS IS A SAMPLE PROGRAM THAT DOES NOTHING USEFUL",8200,".T: 105 R:",8210,".T: 110 T:HI, WHAT IS YOUR NAME + ",8220,".T: 120 A:$NAM",8230,".T: 130 T:THAT IS VERY NICE $NAM+!",8240,".T: 140 R: NOW GET SEX, CHECK FOR 'FEMALE'",8250,".T: 150 T:WHAT IS YOUR SEX + ",8260,".T: 160 A:" 8270,".T: 170 M:FEMALE,WOMAN,GIRL,GAL,LADY,FEMININE,CHICK,NOT MALE",8280,".T: 180 MN:NOT A MALE,OPPOSITE OF MALE,NOT A MAN",8290,".T: 190 Y:AHA, A CUTE CHICK!",8300,".T: 200 N:WELL, A HANDSOME GUY!",8310,".T: 210 R: ASK FOR AGE",8320,".T: 220 T:WHAT IS YOUR AGE + ",8330,".T: 230 A:#K",8340,".T: 240 TB:COME ON, GIVE ME YOUR AGE + ",8350,".T: 250 AB:#K",8360,".T: 260 TB:PLEASE + ",8370,".T: 270 AB:#K",8380,".T: 280 TB:OK, I GIVE UP!" 8390,".T: 290 TG:YOU ARE #K YEARS OLD!",8400,".T: 300 T:THANK YOU FOR PLAYING WITH ME.",8410,"T:",8420,"T:DO YOU UNDERSTAND EVERY STATEMENT IN THIS PROGRAM +",8430,"A:",8440,".M:YES,[I*[THINK,OF*COURS,RIGHT,[Y]",8450,"Y:I AM PROUD OF YOU $NAME+!",8460,"N:WELL, PERHAPS YOU SHOULD REVIEW THIS TUTORIAL PROGRAM AGAIN.",8470,"T:LET'S EXECUTE THIS PROGRAM!",8480,"T:",8490,"T: HI, WHAT IS YOUR NAME +",8500,"A:$NAM",8510,"T: THAT IS VERY NICE $NAM+!" 8520,"T: WHAT IS YOUR SEX +",8530,"A:",8540,"M:FEMALE,WOMAN,GIRL,GAL,LADY,FEMININE,CHICK,NOT MALE",8550,"MN:NOT A MALE,OPPOSITE OF MALE,NOT A MAN",8560,"Y: AHA, A CUTE CHICK!",8570,"N: WELL, A HANDSOME GUY!",8580,"T: WHAT IS YOUR AGE +",8590,"A:#K",8600,"TB: COME ON, GIVE ME YOUR AGE +",8610,"AB:#K",8620,"TB: PLEASE +",8630,"AB:#K",8640,"TB: OK, I GIVE UP!" 8650,"TG: YOU ARE #K YEARS OLD!",8660,"T: THANK YOU FOR PLAYING WITH ME.",8670,"T:",8680,"T:WELL $NAME+, THAT JUST ABOUT WRAPS UP THIS SESSION. YOU NOW +",8690,"T:KNOW SOME FAIRLY SOPHISTICATED CONCEPTS. YOU UNDERSTAND FIVE +",8700,"T:OF THE THIRTEEN POSSIBLE KINDS OF PILOT STATEMENTS AND YOU +",8710,"T:KNOW ABOUT CONDITIONS. IN THE NEXT PROGRAM IN THIS SERIES, +",8720,"T:YOU WILL LEARN ABOUT BRANCHING AND OTHER COOL IDEAS. UNTIL +",8730,"T:THEN, PLEASE PRACTICE BY WRITING YOUR OWN PILOT PROGRAMS. +" 8740,"T:PRACTICE IS IMPORTANT EVEN IF YOU THINK YOU UNDERSTAND ALL THE +",8750,"T:CONCEPTS OF PILOT!",8760,"T:",8770,"T: I'LL BE SEEING YOU!",8780,"T:",8790,"E: WHEEEE"