This is a three-part educational software suite called “Language Usage Master” targeting grades 4 through 12, covering grammar topics including subject/verb agreement, double negatives, pronoun usage, verb tense consistency, irregular verbs, may/can distinction, homonyms, lay/lie, set/sit, and among/between. Each part loads as a separate program file via LOAD, with a shared splash-screen loader that defines 12 User Defined Graphics (UDGs A–L) using POKE USR to render a diagonal-fill graphic logo. The suite offers three practice modes — a rules review screen, a drill mode, and a timed test requiring a password (“lan”) — and tracks per-category wrong answers in variables W1–W5 to produce a detailed score report with percentages. The timed test mode uses a PAUSE 60 loop with manual minute/second counters (K and L) to display elapsed time, and ON ERR with RESET and CONTINUE is used as an error-recovery trap throughout.
Program Analysis
This listing contains four distinct BASIC programs: a shared splash/loader stub (lines 5–130, repeated identically three times) and three main educational modules that are chain-loaded via LOAD "" or LOAD "lang1". Part I covers subject/verb agreement, double negatives, and pronoun usage; Part II covers verb tense, irregular verbs, and may/can; Part III covers homonyms, lay/lie, set/sit, and among/between.
Program Structure
Each module follows the same architectural pattern:
- Lines 5–66: UDG definition stub (identical across all three loader stubs)
- Lines 100–130: Splash screen rendering and chain-load
- Lines 10–96/110: Question DATA banks, organized by topic number × 10 + question index
- Line 500–590: Title screen with PLOT/DRAW borders and trademark logo
- Lines 1000–1090: Main menu with bordered display and mode selection
- Lines 1500–1560: Rules/preparation screen reader
- Lines 2000–2650: Question loop (drill and timed-test modes)
- Lines 3000–3540: Utility subroutines (splash art renderer, keypress wait, input handler)
- Lines 4000–4030: Directions screen
- Lines 4500–4580: Correct-answer acknowledgment
- Lines 4990–5150: Score card and results display
- Lines 5500–5600: Rule-hint display subroutine
- Lines 6000–6170: Wrong-answer handler with in-sentence word substitution
- Lines 9900/9990: ON ERR recovery chain
UDG Logo Technique
Lines 5–66 (the loader stub) define 12 UDGs (A through L) by POKEing 8 bytes each into USR L$+X. The bitmaps encode diagonal-ramp fill patterns (e.g., 128, 192, 240, 248, 252, 255, 255, 255 for UDG A — a bottom-left triangle fill). These 12 UDGs are then composed in line 100 using escape sequences \a–\l together with block graphic characters to draw a stylized diagonal-shaded logo panel, with PAPER 5 used to color one quadrant differently.
DATA Addressing Scheme
The DATA organization is a key structural idiom throughout all three modules. Topic rules are stored at line numbers C*10 (e.g., topic 1 → line 10, topic 2 → line 20). Individual questions are stored at C*10+Z (topic × 10 + question index). RESTORE C*10 rewinds to the rules for topic C, and RESTORE C*10+Z rewinds to question Z. The “Test Practice” and “Timed Test” modes use an indirect dispatch table: a DATA line (e.g., line 61 in Part I, line 40 in Part II, line 50 in Part III) stores a sequence of raw line numbers; the code reads the Zth entry from that table, then does RESTORE D to jump to the appropriate question DATA line.
Question Format
Parts II and III use a richer per-question DATA format than Part I:
- Two lines of sentence text (with the choice words parenthesized, e.g.,
"(Can May) I go...") L1: the PRINT row for the sentence line containing the choiceT1,T2: column positions of the “1” and “2” choice labelsD$: the correct answer character ("1"or"2")- For questions used in the test/practice modes, an extra field gives the correct word string (used in wrong-answer display)
Part I questions instead present four sentence-fragment lines and ask which numbered line contains the grammar error, with D$ being "1"–"4" and "4" used for “no error.”
Wrong-Answer Handler and In-Sentence Substitution
The subroutine at line 6000 is the most complex section in Parts II and III. When the user answers incorrectly, it reads the correct word (W$), displays it, then reconstructs the sentence at row L1 with the parenthesized choice replaced by W$. It does this by iterating character-by-character through D$, printing each character at column T1, skipping characters between ( and ), and substituting W$ at the opening parenthesis position. When in test/practice mode (C=4 or C=5), it temporarily saves and restores C and Z to display the topic’s rule hint via GO SUB 5500.
Timed Test Mode
The timed test (the highest-numbered mode in each part) requires the user to type the password "lan" (case-insensitive) before starting. Timing is implemented manually: PAUSE 60 approximates one second; a loop at lines 2540–2560 increments L (seconds) and rolls over to increment K (minutes) at 60. The display AT 0,22;"Time ";K;":";L shows elapsed time, with a trailing space printed when L<10 to prevent digit-count artifacts.
Per-Category Score Tracking
Wrong answers are tallied into W1–W5 (one per topic). In timed-test mode, the assignment of a wrong answer to a category is done differently per part: Part I uses explicit IF Z=... range checks; Part II also uses IF Z=... range checks; Part III computes Z1=Z MOD 8 to handle wrap-around across two passes. The results screen (line 5050+) computes R1–R5 as MaxScore - WrongCount and displays both raw and percentage scores.
ON ERR Recovery
Each module ends with an ON ERR recovery chain at lines 9900–9930 (or 9990–9993). The pattern is: trap to the handler, execute RESET, pause briefly, re-arm the trap with GO TO, then re-arm with CONTINUE. This is a belt-and-suspenders approach to prevent the program from dropping to a BASIC error prompt on unexpected errors, keeping the educational software running robustly in a classroom setting.
Notable Idioms and Anomalies
IF INKEY$<>"" THEN GO TOfollowed byLET A$=INKEY$: IF A$="" THEN GO TOis the standard flush-then-wait keypress pattern used consistently throughout.IF A$=CHR$(13) THEN RUNat line 2085/3525 allows the user to restart the program by pressing ENTER at any input prompt.- In Part I, line 2140 is unreachable dead code — it follows
GO TO 2110(line 4580) and is never jumped to; a corresponding line in Part I’s loop structure suggests it was an artifact of an earlier design. - The subroutine at line 3000 displays block-graphic ASCII art spelling out “SOFTWARE FOR EXCELLENCE” using UDG-style block characters in DATA lines 3100–3120. A random paper/ink color combination is chosen via
1+INT(7*RND)with complementary ink7-RP. - Part I’s
LOAD "lang1"at line 130 loads the next module by explicit name; Parts II and III useLOAD ""to load the next tape file automatically. - In Part III, line 2140 contains
STOPas the first statement — this is dead code that would halt execution if somehow reached, clearly a leftover from Part II where the same line number hadSTOPat the same position. - The
DRAWcommands at lines 1007–1012 (Part I) draw a nested decorative border by iteratingXfrom 0 to 3, progressively inlining the rectangle — a technique for creating a thick multi-line border effect without hard-coding each line.
Variable Summary
| Variable | Role |
|---|---|
C | Current topic/category number chosen by user |
Z | Current question index within the loop |
T | Total number of questions for current mode |
D$ | Correct answer character (re-used for DATA reads) |
W1–W5 | Per-topic wrong-answer counters |
F | Count of first-try correct answers |
S | Count of second-try correct answers (Part I) |
E | Error flag (0=first attempt, 1=second attempt) |
K, L | Timed test elapsed minutes and seconds |
L1, T1, T2 | Row and column positions for choice labels |
N | Number of rule lines to read/display; also menu input buffer |
Content
Source Code
5 CLS
10 FOR L=1 TO 12
20 READ L$
30 FOR X=0 TO 7
40 READ R: POKE USR L$+X,R
50 NEXT X
60 NEXT L
62 DATA "A",128,192,240,248,252,255,255,255,"C",240,248,252,255,255,255,255,255,"B",0,0,0,0,0,0,128,192,"D",0,0,0,0,128,192,240,248
64 DATA "E",252,255,255,255,255,255,255,255,"F",0,0,128,192,240,248,252,255,"G",255,255,255,255,255,255,255,252,"H",255,252,248,240,192,128,0,0
66 DATA "I",255,255,255,255,255,252,248,240,"J",248,240,192,128,0,0,0,0,"K",255,255,255,252,248,240,192,128,"L",192,128,0,0,0,0,0,0
100 PRINT AT 7,0;"::::::::::::::::::::::::::::::::";AT 8,0;"::::::::::::::::::::::::::::::::";AT 5,14;"ab";AT 6,14;"::cd";AT 7,16;"ef";AT 8,16; PAPER 5;"gh";AT 9,14;"::ij ";AT 10,14;"kl";AT 10,16;" ";AT 11,16;" "; INK 7;AT 11,14;"ab";AT 12,15;"cd ";AT 13,16;"ef"
110 PAPER 7: INK 2: PRINT AT 5,3;"SOFTWARE";AT 13,20;"EXCELLENCE";AT 18,5; FLASH 1;"Loading Main Program"
120 PAPER 7: INK 7
130 LOAD "lang1"
10 DATA 10," SUBJECT/VERB AGREEMENT"," ","A verb must agree with","its subject in number."," ","Watch out for","1.contractions.","2.subjects coming after verbs.","3.intervening phrases.","4.compound subjects."
11 DATA "There's the boys","who took my hat","and gloves.","1"
12 DATA "Don't she care about","the complaints she","has been receiving?","1"
13 DATA "Here are the","keys for my","new automobile.","4"
14 DATA "Should we go","where there is","two movie theaters?","2"
15 DATA "One of the Boy Scouts","are looking for the","trail markings.","2"
16 DATA "The pail of cherries","are ready to take","to the market.","2"
17 DATA "Mike and Pat is going","with me to the county","fair this Saturday.","1"
18 DATA "After the class either","Alice or Margaret are","going to take my books.","2"
20 DATA 9," DOUBLE NEGATIVES","","Do not use more than one","negative in a clause.","(I cannot get no work done.)","","Remember that adverbs such as","hardly,barely,scarcely,etc.","are negatives."
21 DATA "The maps are so wrinkled","that we cannot make no","sense out of them.","2"
22 DATA "There is hardly any","wind on the back","bay this morning.","4"
23 DATA "After the big supper","they barely had no room","for any dessert.","2"
24 DATA "Debbie can't hardly be","expected to get a first","chair in the band this year.","1"
25 DATA "There is hardly any","wind on the back","bay this morning.","4"
26 DATA "Did you know that","we scarcely have any reserves","of funds at the bank?","4"
30 DATA 6," PRONOUNS AS SUBJECTS"," ","When a pronoun is the SUBJECT","of a verb, use the subjective","form."," (They called Marsha.)"
31 DATA "Frank and me","are going to","the pool.","1"
32 DATA "Who did you say","had that crazy idea","about painting the grass?","4"
33 DATA "You and I should feel","free to exchange secrets","at any time.","4"
34 DATA "For the prizes","us girls had to","win or place each time.","2"
35 DATA "Who did you say","had that crazy idea","about painting the grass?","4"
36 DATA "You and them really","should have a chance","to try out for the parts.","1"
40 DATA 6," PRONOUNS AS OBJECTS"," ","When a pronoun is the OBJECT","of a verb or preposition, use","the objective form."," (Marsha called them.)"
41 DATA "There should be no","reason for any differences","to occur between you and I.","3"
42 DATA "We shared the","donuts we cooked","with Sara and she.","3"
43 DATA "You should go with","whoever you prefer","to the dance.","2"
44 DATA "The defensive team had","two guards, along with","Roger,Tom,and I.","3"
45 DATA "The first decision which","must be made involves","a choice between they and me.","3"
46 DATA "Please send this note","to whoever you think","will appreciate the idea.","4"
50 DATA 5," PRONOUN/ANTECEDENT AGREEMENT","","A pronoun must agree with","its antecedent in (1)number,","(2)gender, and (3)person.",""
51 DATA "The dog appears to","find his bones after","he buries them.","4"
52 DATA "Either Paul or Sam","has their numbers","reversed.","2"
53 DATA "Everyone must find","your books and papers","before class is over.","2"
54 DATA "They must be certain","to have their raincoats","if we are going sailing.","4"
55 DATA "Did she find her","good leather gloves","in the lost and found box?","4"
56 DATA "If each person does not","move carefully, their sense","of direction will be lost.","2"
60 GO TO 1000
61 DATA 121,13,141,17,11,131,15,151,25,35,45,55,112,114,116,118,26,36,46,56
70 GO SUB 3000
80 DATA "Let's go now. There","is, at the last count,","only three minutes left.","2"
82 DATA "Where's the funny","looking coat with","three sleeves?","4"
84 DATA "There is at least","two reasons for","my asking.","1"
86 DATA "Here is the two best","new movies","this year.","1"
88 DATA "Six months' effort","are involved in the","painting of that boat.","2"
90 DATA "Do not forget that","the hamper of clothes","is ready to go upstairs.","4"
92 DATA "In the book is a","colorful picture from Maine","and a brief history.","1"
94 DATA "Either the Gray or the","Blue is going to win","the football game.","4"
95 DATA "This algebra problem is","very hard to figure out.","It don't make sense.","3"
96 DATA "It hardly takes any","time to put wax on","a new car.","4"
97 DATA "With the unusually","bad weather you","can hardly fish anywhere.","4"
98 DATA "I cannot accept no","more checks for items","purchased at the store.","1"
100 DATA "Whomever goes should","be our very best","representative.","1"
101 DATA "Ben and me are","really unhappy with","them for their work.","1"
102 DATA "Will either he or","she be able to","meet the deadline?","4"
103 DATA "Please,whomever","you are, speak","up.","1"
104 DATA "A new car could be purchased","if we take all the money","saved by you and he.","3"
105 DATA "You decide. Choose","either him","or me.","4"
106 DATA "Just between you and me,","I do not think our poor","team has a chance.","4"
107 DATA "I think you","should take","whoever you wish.","3"
108 DATA "Jack and Mary show","excellent poise in","their acting roles.","4"
109 DATA "Each one must","immediately take","their position.","3"
110 DATA "Neither cherry nor","strawberry has lost","its flavor.","4"
111 DATA "Please take your","positions in the","line at this time.","4"
112 DATA "Where's the rabbits","you said you had","caught?","1"
114 DATA "Where is Harry","and Louise this","evening?","1"
116 DATA "The storm, with thunder","and lightning, were very","frightening to us.","2"
118 DATA "Is the dog and the","cat able to get along","in an automobile?","1"
121 DATA "It doesn't make any","difference who goes","first in this contest.","4"
131 DATA "She and Terri were","the best painters in","the community.","4"
141 DATA "Will your older brother","be able to act as a","chaperon for you and I?","3"
151 DATA "Both the Red team","and the Green team","won its games.","3"
500 PAPER 6: INK 2: BORDER 6: CLS
510 PLOT 152,112: DRAW 0,15: DRAW 7,0: DRAW 0,-15: DRAW -7,0
520 PRINT AT 4,5;"lANGUAGE USAGE";
530 DRAW -120,0: DRAW 0,55: DRAW 127,0: DRAW 0,-40
540 PRINT AT 8,20;"MASTER"
550 DRAW 56,0: DRAW 0,-44: DRAW -63,0: DRAW 0,29
560 PRINT AT 5,27;"TM"
570 INK 4: PRINT AT 13,13;"Part I";AT 15,8;"Grades 4 thru 12";
580 INK 2: PRINT AT 20,7;"Copyright 1983 by";AT 21,4;"Software for Excellence";
590 PAUSE 240
1000 PAPER 7: BORDER 7: INK 0: CLS
1005 LET K=0: LET L=0: LET KL=0: LET LL=0: LET N=0: LET W1=0: LET W2=0: LET W3=0: LET W4=0: LET W5=0: LET T=4: LET E=0: LET S=0: LET F=0
1007 FOR X=0 TO 3
1010 PLOT 0,140: DRAW 255-X,0: DRAW 0,-140+X: DRAW -255+(2*X),0: DRAW 0,171-(2*X): DRAW 255-(2*X),0: DRAW 0,-31+X
1012 NEXT X
1020 PRINT AT 2,5;"Language Usage Part I";AT 7,1;"1 Subject/Verb Agreement";AT 8,1;"2 Double Negatives";AT 9,1;"3 Pronouns as Subjects";AT 10,1;"4 Pronouns as Objects";AT 11,1;"5 Pronoun/Antecedent Agreement";AT 16,1;"6 Test Practice";AT 17,1;"7 Timed Test";
1030 INK 5: PLOT 8,131: DRAW 239,0: PLOT 8,59: DRAW 239,0
1040 INK 0: PAPER 5: PRINT AT 5,6;"Preparation - Rules";AT 14,8;"Training Camp";AT 20,7; FLASH 1;"CHOOSE A NUMBER";
1050 GO SUB 3510
1055 LET C=N
1060 IF C<1 OR C>7 THEN GO TO 1050
1070 IF C=7 THEN GO TO 2500
1080 IF C=6 THEN GO TO 2000
1090 GO TO 1500
1500 RESTORE C*10: PAPER 7: INK 0: CLS : READ N
1505 PLOT 0,16: DRAW 0,159: DRAW 255,0: DRAW 0,-159: DRAW -255,0
1510 FOR X=1 TO N: READ D$: PRINT AT X+1,1;D$: NEXT X
1520 IF C<3 THEN GO TO 1550
1530 IF C=3 OR C=4 THEN PRINT AT 10,4;"SUBJECTIVE OBJECTIVE";AT 11,8;"I";TAB 23;"ME";AT 12,8;"WE";TAB 23;"US";AT 13,7;"YOU";TAB 22;"YOU";AT 14,6;"HE,SHE";TAB 21;"HIM,HER";AT 15,7;"THEY";TAB 22;"THEM";AT 16,4;"WHO,WHOEVER WHOM,WHOMEVER"
1540 IF C=5 THEN PRINT AT 5,20; FLASH 1;"1"; FLASH 0;AT 9,1;"-Error in NUMBER-";AT 11,2;"Every boy to their post.";AT 15,1;"-Correct-";AT 17,2;"Every boy to his post.";AT 20,7;"PRESS C TO CONTINUE": PAUSE 0: PRINT AT 6,2; FLASH 1;"2"; FLASH 0;AT 5,20;"1";AT 9,11;"GENDER-";AT 11,15;"her post. ": PAUSE 0: PRINT AT 6,17; FLASH 1;"3"; FLASH 0;AT 6,2;"2";AT 9,11;"PERSON-";AT 11,15;"your post."
1550 GO SUB 3500
1560 GO TO 2000
2000 GO SUB 4000
2002 IF C=1 THEN LET T=8
2005 IF C=6 THEN LET VS=8: LET NS=3: LET PS=3: LET OS=3: LET AS=3: LET SS=20: LET T=20
2006 IF C=7 THEN LET VS=12: LET NS=4: LET PS=4: LET OS=4: LET AS=4: LET SS=28: LET T=28
2010 FOR Z=1 TO T
2012 PAPER 7: CLS
2020 IF C<6 THEN GO SUB 5500
2022 IF C=6 THEN GO SUB 5584
2030 PRINT AT 9,9;"SELECT THE LINE";AT 10,7;"WHICH HAS THE ERROR"
2040 FOR Y=1 TO 3: READ D$: PRINT AT Y+12,1;Y;" ";D$: NEXT Y
2050 PRINT AT 16,1;"4 No Error"
2060 READ D$
2070 IF INKEY$<>"" THEN GO TO 2070
2075 IF C=7 THEN GO TO 2540
2080 LET A$=INKEY$: IF A$="" THEN GO TO 2080
2085 IF A$=CHR$ (13) THEN RUN
2087 IF A$<"1" OR A$>"4" THEN GO TO 2080
2090 IF A$=D$ THEN GO TO 4500
2100 GO TO 6000
2110 NEXT Z
2120 GO SUB 4990
2130 GO TO 1000
2140 IF C<>1 THEN RESTORE C*10+1: READ D$: PRINT AT 5,1;D$: GO TO 2040
2150 GO TO 1000
2500 LET K$=" ": PAPER 7: CLS : PAPER 6: FOR X=1 TO 5: PRINT AT X,8;K$;: NEXT X: PLOT 64,128: DRAW 0,39: DRAW 127,0: DRAW 0,-39: DRAW -127,0: PRINT AT 3,11;"TIMED TEST";AT 8,2; PAPER 7;"To start the test,";AT 9,2;"type the code letters,";AT 10,2;"then press ENTER.": INPUT A$: IF A$<>"lan" AND A$<>"LAN" THEN PRINT AT 20,8;"SORRY WRONG CODE": PAUSE 100: GO TO 1000
2510 RESTORE 70
2530 GO SUB 2000
2535 GO TO 1000
2540 PRINT AT 0,22;"Time ";K;":";L;: IF L<10 THEN PRINT AT 0,30;" "
2550 PAUSE 60: LET A$=INKEY$: IF A$<>"" THEN GO TO 2600
2555 LET L=L+1: IF L=60 THEN LET K=K+1: LET L=0
2560 GO TO 2540
2600 IF A$=D$ THEN GO TO 2110
2603 IF A$<"1" OR A$>"4" THEN GO TO 2540
2605 IF Z<9 THEN LET W1=W1+1
2610 IF Z=9 OR Z=10 OR Z=11 OR Z=12 THEN LET W2=W2+1
2620 IF Z=13 OR Z=14 OR Z=15 OR Z=16 THEN LET W3=W3+1
2630 IF Z=17 OR Z=18 OR Z=19 OR Z=20 THEN LET W4=W4+1
2640 IF Z=21 OR Z=22 OR Z=23 OR Z=24 THEN LET W5=W5+1
2650 GO TO 2110
3000 LET RP=1+INT (7*RND): PAPER RP: INK 7-RP: CLS : RESTORE 3100
3005 ON ERR GO TO 9990
3010 FOR X=3 TO 17: READ G$: PRINT AT X,8;G$: NEXT X
3020 PRINT AT 20,7; INVERSE 1;"PRESS C TO CONTINUE"
3030 IF INKEY$="" THEN BEEP .3,10: GO TO 3030
3040 RETURN
3100 DATA ".''''. ''':''' .''. :''''.",": : : : : :"," ''''. : : : :....'",". : : '. .' : "," '''' ' '' ' "
3110 DATA " ''':''' : : :'''' "," : : : : "," : :'''': :'''"," : : : : "," ' ' ' ''''' "
3120 DATA "''':''' .''. :''''. :'''' "," : : : : : : "," : :....: :'''' :'''"," : : : : : "," ' ' ' ' ''''' "
3500 PRINT AT 20,7;"PRESS C TO CONTINUE"
3510 IF INKEY$<>"" THEN GO TO 3510
3520 LET C$=INKEY$: IF C$="" THEN GO TO 3520
3525 IF C$=CHR$ (13) THEN RUN
3530 IF C$<"0" OR C$>"9" THEN RETURN
3540 LET N=VAL (C$): RETURN
4000 PAPER 7: CLS : PRINT AT 2,11;"DIRECTIONS";AT 4,2;"(1) You will be given";AT 5,6;"four lines of words.";AT 7,2;"(2) Find the line that";AT 8,6;"has an error in it.";AT 10,2;"(3) Press the number";AT 11,6;"of that line."
4010 PLOT 8,16: DRAW 0,152: DRAW 240,0: DRAW 0,-152: DRAW -240,0
4020 GO SUB 3500
4030 RETURN
4500 CLS : PAPER 5: LET K$=" "
4510 FOR X=1 TO 5: PRINT AT X+4,10;K$: NEXT X
4520 FOR X=1 TO 5: PRINT AT X+11,4;K$;AT X+11,15;K$;: NEXT X
4530 PRINT AT 7,13;"CORRECT";AT 14,6;Z;" DONE";AT 14,18;T-Z;" TO GO"
4540 PAPER 7: GO SUB 3500
4550 IF E=1 THEN LET S=S+1
4560 IF E<>1 THEN LET F=F+1
4570 LET E=0
4580 GO TO 2110
4990 IF C=7 THEN GO TO 5050
5000 PAPER 7: CLS : PLOT 4,16: DRAW 0,137: DRAW 245,0: DRAW 0,-137: DRAW -245,0
5006 IF C=7 THEN LET VS=12: LET NS=4: LET PS=4: LET OS=4: LET AS=4
5010 PRINT AT 2,8;"YOUR SCORE CARD";AT 5,2;F;" Right on first try";AT 7,2;S;" Right on second try";AT 9,2;T-F-S;" Wrong";
5020 LET F=0: LET S=0
5030 GO SUB 3500
5035 IF C=6 THEN GO TO 5050
5040 RETURN
5050 PAPER 7: CLS : PLOT 0,15: DRAW 0,154: DRAW 255,0: DRAW 0,-154: DRAW -255,0
5060 LET R1=VS-W1: LET R2=NS-W2: LET R3=PS-W3: LET R4=OS-W4: LET R5=AS-W5: LET R6=R1+R2+R3+R4+R5
5070 PRINT AT 0,10;"TEST RESULTS";AT 2,1;"Subject/Verb";AT 2,17;R1;" of ";VS;AT 2,27;INT ((R1/VS)*100);"%";AT 3,2;"Agreement";
5080 PRINT AT 5,1;"Dbl. Negatives";AT 5,17;R2;" of ";NS;AT 5,27;INT ((R2/NS)*100);"%";
5090 PRINT AT 7,1;"Pronoun as";AT 7,17;R3;" of ";PS;AT 7,27;INT ((R3/PS)*100);"%";AT 8,2;"Subject";
5100 PRINT AT 10,1;"Pronouns as";AT 10,17;R4;" of ";OS;AT 10,27;INT ((R4/OS)*100);"%";AT 11,2;"Object";
5110 PRINT AT 13,1;"Pronouns and";AT 13,17;R5;" of ";AS;AT 13,27;INT ((R5/AS)*100);"%";AT 14,2;"Antecedents";
5120 PRINT AT 16,1;"Total";AT 16,16;R6;AT 16,18;" of ";SS;AT 16,27;INT ((R6/SS)*100);"%"
5130 IF C=7 THEN PRINT AT 19,1;"Time Used : ";K;":";L;
5140 GO SUB 3500
5150 RETURN
5500 PLOT 3,171: DRAW 249,0: DRAW 0,-56: DRAW -249,0: DRAW 0,56
5510 RESTORE C*10: READ D: READ D$: READ D$
5520 FOR X=1 TO 4: READ D$: IF C=1 AND X=3 THEN READ D$
5530 PRINT AT X+1,1;D$
5540 NEXT X
5545 IF C<>1 THEN GO TO 5580
5550 IF Z=3 OR Z=4 THEN READ D$: PRINT AT 5,1;D$
5560 IF Z=5 OR Z=6 THEN READ D$: READ D$: PRINT AT 5,1;D$
5570 IF Z=7 OR Z=8 THEN READ D$: READ D$: READ D$: PRINT AT 5,1;D$
5580 RESTORE C*10+Z
5582 RETURN
5584 RESTORE 61
5585 FOR X=1 TO Z: READ D: NEXT X
5590 RESTORE D
5600 RETURN
6000 LET E=E+1: IF E>1 THEN PRINT AT 6,1;"The correct answer is ";D$: GO SUB 3500: LET E=0: GO SUB 6030: GO TO 2110
6001 IF D>100 THEN LET D=D-100
6002 IF C<>6 THEN GO TO 6010
6004 LET U=C: LET V=Z: LET C=INT (D/10): LET Z=D-C*10
6006 GO SUB 5500
6008 LET C=U: LET Z=V
6010 PRINT AT 1,1;"The rule is --";AT 6,11;"TRY AGAIN": IF C=6 THEN GO TO 2022
6020 GO TO 2070
6030 IF D>100 THEN LET D=D-100
6032 LET U=INT (D/10)
6035 IF U=1 THEN LET W1=W1+1
6040 IF U=2 THEN LET W2=W2+1
6050 IF U=3 THEN LET W3=W3+1
6060 IF U=4 THEN LET W4=W4+1
6070 IF U=5 THEN LET W5=W5+1
6080 RETURN
9990 ON ERR RESET
9991 PAUSE 100
9992 ON ERR GO TO 9990
9993 ON ERR CONTINUE
5 CLS
10 FOR L=1 TO 12
20 READ L$
30 FOR X=0 TO 7
40 READ R: POKE USR L$+X,R
50 NEXT X
60 NEXT L
62 DATA "A",128,192,240,248,252,255,255,255,"C",240,248,252,255,255,255,255,255,"B",0,0,0,0,0,0,128,192,"D",0,0,0,0,128,192,240,248
64 DATA "E",252,255,255,255,255,255,255,255,"F",0,0,128,192,240,248,252,255,"G",255,255,255,255,255,255,255,252,"H",255,252,248,240,192,128,0,0
66 DATA "I",255,255,255,255,255,252,248,240,"J",248,240,192,128,0,0,0,0,"K",255,255,255,252,248,240,192,128,"L",192,128,0,0,0,0,0,0
100 PRINT AT 7,0;"::::::::::::::::::::::::::::::::";AT 8,0;"::::::::::::::::::::::::::::::::";AT 5,14;"ab";AT 6,14;"::cd";AT 7,16;"ef";AT 8,16; PAPER 5;"gh";AT 9,14;"::ij ";AT 10,14;"kl";AT 10,16;" ";AT 11,16;" "; INK 7;AT 11,14;"ab";AT 12,15;"cd ";AT 13,16;"ef"
110 PAPER 7: INK 2: PRINT AT 5,3;"SOFTWARE";AT 13,20;"EXCELLENCE";AT 18,5; FLASH 1;"Loading Main Program"
120 PAPER 7: INK 7
130 LOAD ""
10 DATA 6," CONSISTENCY of TENSE"," ","Make the tense of a verb","consistent with the present,","past, or future tense implied","by the rest of the sentence."
11 DATA "Yesterday I (see saw)","the storm coming.",14,14,18,"2","saw"
12 DATA "The arts in Great Britain","(are were) supported now.",16,2,7,"1","are"
13 DATA "He (will go went) to","the game tomorrow.",14,6,14,"1","will go"
14 DATA "They (sing sang) the","main chorus already.",14,8,13,"2","sang"
20 DATA 11," IRREGULAR VERBS"," ","Irregular verbs do not show","past tense by simply adding","-ed, -t, or -d to the","present tense."," ","Your memory of the principal","parts of irregular verbs","will be tested in the work","to follow."
21 DATA "He (bore beared) up well","under the load.",14,6,12,"1","bore"
22 DATA "The crops in the garden were","(frozen freezed) by the cold.",16,3,11,"1","frozen"
23 DATA "The visitor had (ringed rung)","the bell several times.",14,19,25,"2","rung"
24 DATA "The farmer has (writted written)","to the truck manufacturer.",14,19,26,"2","written"
30 DATA 7," MAY and CAN"," ","May and might imply permission","to do something."," ","Can and could imply capability","to do something."
31 DATA "(Can May) I go to the movie","after I finish my music lesson?",14,2,6,"2","May"
32 DATA "He (can may) carry a football","as well as anyone.",14,5,9,"1","can"
33 DATA "(Can May) you decide","who is the best candidate?",14,2,6,"1","Can"
34 DATA "When (may can) you find","the time to fix this skate?",14,7,11,"2","can"
40 DATA 111,121,131,113,123,133,11,125,135,115,21,137,117,127,31
60 GO TO 1000
70 GO SUB 3000
80 DATA "Did you decide whether I","(may can) go or not?",16,2,6,"1"
81 DATA "He (may can) lift over 200","pounds in most practice trials.",14,5,9,"2"
82 DATA "The girls (singed sang) with","unusual clarity.",14,13,19,"2"
83 DATA "They (will fly flew) to","Chicago in about an hour.",14,10,18,"1"
84 DATA "She has (swum swimmed) at","near record speed.",14,11,17,"1"
85 DATA "In Hawaii the sun","(shined shone) the best.",16,3,10,"2"
86 DATA "Now (is was) the best","time to order seed.",14,6,9,"1"
87 DATA "(May Can) I eat some of","your raw squid?",14,2,6,"1"
88 DATA "When (can may) you get","the lawn mower working?",14,7,11,"1"
89 DATA "She (chooses chose) to stay","at Margaret's last night.",14,8,15,"2"
90 DATA "How (is was) the play","practice currently going?",14,6,9,"1"
91 DATA "We need groceries. Tomorrow","we (run will run) to town.",16,5,12,"2"
92 DATA "(May Can) I take your order","for dinner?",14,2,6,"1"
93 DATA "Had he (braked broken) the seal,","the gas would have escaped.",14,10,17,"2"
94 DATA "He (fled fleed) the scene","of the accident.",14,5,11,"1"
95 DATA "You may. But, I doubt","that you (may can).",16,11,15,"2"
96 DATA "Yesterday's grades (are were)","possible to make up today.",14,21,25,"1"
98 DATA "She (may can) run the hundred","yard dash in 12 seconds.",14,6,10,"2"
100 DATA "Now (is was) the time","to throw the long pass.",14,5,9,"1"
101 DATA "I definitely feel well enough","so that I (can may) get up.",16,12,16,"1"
102 DATA "About ten minutes ago he","(fleed fled) from the room.",16,3,9,"2"
103 DATA "How (can may) you say that","to me?",14,6,10,"1"
104 DATA "The man (stole stealed)","over $1,000,000.",14,11,18,"1"
105 DATA "She (catched caught) the","last pitch of the game.",14,8,15,"2"
106 DATA "He (spoke speaked) the words","which encouraged his team.",14,6,13,"1"
107 DATA "I (may can) not go","until I feel better.",14,4,8,"2"
108 DATA "The soccer team (losed lost)","the game last night.",14,19,24,"2"
109 DATA "Now is the time to","(lent lend) the money.",16,2,7,"2"
110 DATA "He (sinked sank) deeper","into the water.",14,6,12,"2"
111 DATA "The Golden Age of Greece","(is was) long ago.",16,2,5,"2","was"
113 DATA "Last Monday was when he","(taught teached) long division.",16,4,12,"1","taught"
115 DATA "In about two hours the train","(will come has come) past.",16,5,15,"1","has come"
117 DATA "I just got (stinged stung)","by a bee.",14,15,22,"2","stung"
121 DATA "The chorus (rose rised)","to sing.",14,14,19,"1","rose"
123 DATA "A few minutes ago a deer","(sprang springed) from the path.",16,4,12,"1","sprang"
125 DATA "Had they (chosed chosen) the","red, they would have won.",14,13,19,"2","chosen"
127 DATA "Who (busted burst) into","this room?",14,7,14,"2","burst"
131 DATA "(Can May) I start watching","the ball game now?",14,2,6,"2","May"
133 DATA "What (may can) I serve you?"," ",14,7,11,"1","may"
135 DATA "Does the coach think that","you (may can) lift that?",16,6,10,"2","can"
137 DATA "(Can May) you be able","to leave on a minute's notice?",14,2,6,"1","Can"
500 PAPER 6: INK 2: BORDER 6: CLS
510 PLOT 152,112: DRAW 0,15: DRAW 7,0: DRAW 0,-15: DRAW -7,0
520 PRINT AT 4,5;"LANGUAGE USAGE";
530 DRAW -120,0: DRAW 0,55: DRAW 127,0: DRAW 0,-40
540 PRINT AT 8,20;"MASTER"
550 DRAW 56,0: DRAW 0,-44: DRAW -63,0: DRAW 0,29
560 PRINT AT 5,27;"TM"
570 INK 4: PRINT AT 13,13;"Part II";AT 15,8;"Grades 4 thru 12";
580 INK 2: PRINT AT 20,7;"Copyright 1983 by";AT 21,4;"Software for Excellence";
590 PAUSE 240
1000 PAPER 7: BORDER 7: INK 0: CLS
1005 LET K=0: LET L=0: LET KL=0: LET LL=0: LET N=0: LET W1=0: LET W2=0: LET W3=0: LET W4=0: LET W5=0: LET T=0: LET E=0: LET S=0: LET F=0
1007 FOR X=0 TO 3
1010 PLOT 0,140: DRAW 255-X,0: DRAW 0,-140+X: DRAW -255+(2*X),0: DRAW 0,171-(2*X): DRAW 255-(2*X),0: DRAW 0,-31
1012 NEXT X
1020 PRINT AT 2,5;"Language Usage Part II";AT 7,1;"1 Consistency of Tense";AT 8,1;"2 Irregular Verb Form";AT 9,1;"3 May and Can";AT 16,1;"4 Test Practice";AT 17,1;"5 Timed Test";
1030 INK 5: PLOT 8,131: DRAW 239,0: PLOT 8,59: DRAW 239,0
1040 INK 0: PAPER 5: PRINT AT 5,6;"Preparation - Rules";AT 14,8;"Training Camp";AT 20,7; FLASH 1;"CHOOSE A NUMBER";
1050 GO SUB 3510
1055 LET C=N
1060 IF C<1 OR C>5 THEN GO TO 1050
1070 IF C=5 THEN GO TO 2500
1080 IF C=4 THEN GO TO 2000
1090 GO TO 1500
1500 RESTORE C*10: PAPER 7: INK 0: CLS : READ N
1505 PLOT 0,16: DRAW 0,159: DRAW 255,0: DRAW 0,-159: DRAW -255,0
1510 FOR X=1 TO N: READ D$: PRINT AT X+1,1;D$: NEXT X
1520 IF C<>2 THEN GO TO 1550
1530 GO SUB 3500: CLS : PLOT 0,16: DRAW 0,159: DRAW 255,0: DRAW 0,-159: DRAW -255,0: PRINT AT 1,8;"Examples of the";AT 2,7;"Principal Parts of";AT 3,3;"Regular and Irregular Verbs"; PAPER 5;AT 5,10;"Regular Verbs"; PAPER 7;AT 7,2;"Present";TAB 13;"Past";TAB 23;"Past";AT 8,3;"Tense";TAB 13;"Tense";TAB 21;"Participle";AT 10,3;"walk";TAB 13;"walked";TAB 23;"walked";AT 12,3;"toss";TAB 13;"tossed";TAB 23;"tossed";AT 14,2;"listen";TAB 12;"listened";TAB 22;"listened": GO SUB 3500
1540 PRINT AT 5,9; PAPER 5;"Irregular Verbs"; PAPER 7;AT 10,3;"sing";TAB 13;"sang";TAB 23;"sung ";AT 12,3;"burst";TAB 13;"burst";TAB 23;"burst ";AT 14,2;" feel";TAB 13;"felt";TAB 23;"felt "
1550 GO SUB 3500
1560 GO TO 2000
2000 GO SUB 4000
2002 IF C=1 THEN LET T=4
2003 IF C=2 THEN LET T=4
2004 IF C=3 THEN LET T=4
2005 IF C=4 THEN LET T=15
2006 IF C=5 THEN LET T=30
2010 FOR Z=1 TO T
2012 PAPER 7: CLS
2020 IF C<4 THEN GO SUB 5500
2022 IF C=4 THEN GO SUB 5584
2030 PRINT AT 9,5;"SELECT THE CORRECT WORD"
2040 READ D$: PRINT AT 13,0;D$: READ D$: PRINT AT 15,0;D$
2050 READ L1: READ T1: READ T2: PRINT AT L1,T1;1;TAB T2;2
2060 READ D$
2070 IF INKEY$<>"" THEN GO TO 2070
2075 IF C=5 THEN GO TO 2540
2080 LET A$=INKEY$: IF A$="" THEN GO TO 2080
2085 IF A$=CHR$ (13) THEN RUN
2087 IF A$<>"1" AND A$<>"2" THEN GO TO 2080
2090 IF A$=D$ THEN GO TO 4500
2100 GO SUB 6000
2110 NEXT Z
2120 GO SUB 4990
2130 GO TO 1000
2140 STOP : IF C<>1 THEN RESTORE C*10+1: READ D$: PRINT AT 5,1;D$: GO TO 2040
2150 GO TO 1000
2500 LET K$=" ": PAPER 7: CLS : PAPER 6: FOR X=1 TO 5: PRINT AT X,8;K$;: NEXT X: PLOT 64,128: DRAW 0,39: DRAW 127,0: DRAW 0,-39: DRAW -127,0: PRINT AT 3,11;"TIMED TEST";AT 8,2; PAPER 7;"To start the test,";AT 9,2;"type the code letters,";AT 10,2;"then press ENTER.": INPUT A$: IF A$<>"lan" AND A$<>"LAN" THEN PRINT AT 20,8;"SORRY WRONG CODE": PAUSE 100: GO TO 1000
2510 RESTORE 80
2530 GO SUB 2000
2535 GO TO 1000
2540 PRINT AT 0,22;"Time ";K;":";L;: IF L<10 THEN PRINT AT 0,30;" "
2550 PAUSE 60: LET A$=INKEY$: IF A$<>"" THEN GO TO 2600
2555 LET L=L+1: IF L=60 THEN LET K=K+1: LET L=0
2560 GO TO 2540
2600 IF A$=D$ THEN GO TO 2110
2605 IF A$<>"1" AND A$<>"2" THEN GO TO 2540
2610 IF Z=4 OR Z=7 OR Z=10 OR Z=11 OR Z=12 OR Z=17 OR Z=18 OR Z=20 OR Z=25 OR Z=29 THEN LET W1=W1+1
2620 IF Z=3 OR Z=5 OR Z=6 OR Z=14 OR Z=15 OR Z=22 OR Z=24 OR Z=26 OR Z=28 OR Z=30 THEN LET W2=W2+1
2630 IF Z=1 OR Z=2 OR Z=8 OR Z=9 OR Z=13 OR Z=16 OR Z=19 OR Z=21 OR Z=23 OR Z=27 THEN LET W3=W3+1
2650 GO TO 2110
3000 LET RP=1+INT (7*RND): PAPER RP: INK 7-RP: CLS : RESTORE 3100
3005 ON ERR GO TO 9900
3010 FOR X=3 TO 17: READ G$: PRINT AT X,8;G$: NEXT X
3020 PRINT AT 20,7; INVERSE 1;"PRESS C TO CONTINUE"
3030 IF INKEY$="" THEN BEEP .3,10: GO TO 3030
3040 RETURN
3100 DATA ".''''. ''':''' .''. :''''.",": : : : : :"," ''''. : : : :....'",". : : '. .' : "," '''' ' '' ' "
3110 DATA " ''':''' : : :'''' "," : : : : "," : :'''': :'''"," : : : : "," ' ' ' ''''' "
3120 DATA "''':''' .''. :''''. :'''' "," : : : : : : "," : :....: :'''' :'''"," : : : : : "," ' ' ' ' ''''' "
3500 PRINT AT 20,7;"PRESS C TO CONTINUE"
3510 IF INKEY$<>"" THEN GO TO 3510
3520 LET C$=INKEY$: IF C$="" THEN GO TO 3520
3525 IF C$=CHR$ (13) THEN RUN
3530 IF C$<"0" OR C$>"9" THEN RETURN
3540 LET N=VAL (C$): RETURN
4000 PAPER 7: CLS : PRINT AT 2,11;"DIRECTIONS";AT 4,2;"(1) You will be given";AT 5,6;"one or more sentences.";AT 7,2;"(2) There will be a choice";AT 8,6;"of two possible words.";AT 10,2;"(3) Press the number";AT 11,6;"of the correct word."
4010 PLOT 8,16: DRAW 0,152: DRAW 240,0: DRAW 0,-152: DRAW -240,0
4020 GO SUB 3500
4030 RETURN
4500 CLS : PAPER 5: LET K$=" "
4510 FOR X=1 TO 5: PRINT AT X+4,10;K$: NEXT X
4520 FOR X=1 TO 5: PRINT AT X+11,4;K$;AT X+11,15;K$;: NEXT X
4530 PRINT AT 7,13;"CORRECT";AT 14,6;Z;" DONE";AT 14,18;T-Z;" TO GO"
4540 PAPER 7: GO SUB 3500
4550 IF E=1 THEN LET S=S+1
4560 IF E<>1 THEN LET F=F+1
4570 LET E=0
4580 GO TO 2110
4990 IF C=5 THEN LET QA=10: LET GQ=30: GO TO 5050
4995 LET QA=5: LET GQ=15
5000 PAPER 7: CLS : PLOT 4,16: DRAW 0,137: DRAW 245,0: DRAW 0,-137: DRAW -245,0
5010 PRINT AT 2,8;"YOUR SCORE CARD";AT 5,2;F;" Right";AT 9,2;T-F;" Wrong";
5020 LET F=0
5030 GO SUB 3500
5035 IF C=4 THEN GO TO 5050
5040 RETURN
5050 PAPER 7: CLS : PLOT 0,15: DRAW 0,154: DRAW 255,0: DRAW 0,-154: DRAW -255,0
5060 LET R1=QA-W1: LET R2=QA-W2: LET R3=QA-W3: LET R4=R1+R2+R3
5062 IF C=4 THEN PRINT AT 0,5;"PRACTICE TEST RESULTS"
5064 IF C=5 THEN PRINT AT 0,10;"TEST RESULTS"
5070 PRINT AT 3,1;"Consistency";AT 3,16;R1;" of ";QA;AT 3,27;INT ((R1/QA)*100);"%";AT 4,1;"of Tense";
5080 PRINT AT 6,1;"Irregular";AT 6,16;R2;" of ";QA;AT 6,27;INT ((R2/QA)*100);"%";AT 7,1;"Verb Form"
5090 PRINT AT 9,1;"May and Can";AT 9,16;R3;" of ";QA;AT 9,27;INT ((R3/QA)*100);"%"
5120 PRINT AT 11,1;"Total";AT 11,15;R4;" of ";GQ;AT 11,27;INT ((R4/GQ)*100);"%"
5130 IF C=5 THEN PRINT AT 16,1;"Time Used : ";K;":";L;
5140 GO SUB 3500
5150 RETURN
5500 PLOT 3,171: DRAW 249,0: DRAW 0,-56: DRAW -249,0: DRAW 0,56
5510 RESTORE C*10: READ DT: READ D$: READ D$
5520 FOR X=1 TO 4: READ D$: IF C=3 AND X=3 THEN READ D$
5530 PRINT AT X+1,1;D$
5540 NEXT X
5550 REM IF Z=3 OR Z=4 THEN READ D$: PRINT AT 5,1;D$
5560 REM IF Z=5 OR Z=6 THEN READ D$: READ D$: PRINT AT 5,1;D$
5570 REM IF Z=7 OR Z=8 THEN READ D$: READ D$: READ D$: PRINT AT 5,1;D$
5580 RESTORE C*10+Z
5582 RETURN
5584 RESTORE 40
5585 FOR X=1 TO Z: READ D: NEXT X
5590 RESTORE D
5600 RETURN
6000 PRINT AT 9,0;TAB 7;"The correct word is: ": READ W$: LET WL=LEN (W$): LET T1=INT (32-WL)/2: PRINT AT 10,T1;W$
6001 IF C<>4 THEN GO TO 6070
6002 LET DH=D: IF D>100 THEN LET DH=D-100
6004 LET U=C: LET V=Z: LET C=INT (DH/10): LET Z=DH-C*10
6006 GO SUB 5500
6035 IF C=1 THEN LET W1=W1+1
6040 IF C=2 THEN LET W2=W2+1
6050 IF C=3 THEN LET W3=W3+1
6055 LET C=U: LET Z=V
6070 RESTORE C*10+Z: IF C=4 THEN RESTORE D
6080 IF L1=14 THEN READ D$
6090 IF L1=16 THEN READ D$: READ D$
6100 LET SL=LEN (D$): LET SK=0: LET T1=0
6105 PRINT AT L1,0;TAB 29;" ": PRINT AT L1-1,0;TAB 31;" "
6110 FOR P=1 TO SL
6120 IF D$(P)="(" THEN PRINT AT L1-1,T1;W$: LET T1=T1+WL: LET SK=1
6130 IF D$(P)=")" THEN LET SK=0: GO TO 6160
6140 IF SK=1 THEN GO TO 6160
6150 PRINT AT L1-1,T1;D$(P): LET T1=T1+1
6160 NEXT P
6165 GO SUB 3500
6170 RETURN
9900 ON ERR RESET
9910 PAUSE 100
9920 ON ERR GO TO 9900
9930 ON ERR CONTINUE
5 CLS
10 FOR L=1 TO 12
20 READ L$
30 FOR X=0 TO 7
40 READ R: POKE USR L$+X,R
50 NEXT X
60 NEXT L
62 DATA "A",128,192,240,248,252,255,255,255,"C",240,248,252,255,255,255,255,255,"B",0,0,0,0,0,0,128,192,"D",0,0,0,0,128,192,240,248
64 DATA "E",252,255,255,255,255,255,255,255,"F",0,0,128,192,240,248,252,255,"G",255,255,255,255,255,255,255,252,"H",255,252,248,240,192,128,0,0
66 DATA "I",255,255,255,255,255,252,248,240,"J",248,240,192,128,0,0,0,0,"K",255,255,255,252,248,240,192,128,"L",192,128,0,0,0,0,0,0
100 PRINT AT 7,0;"::::::::::::::::::::::::::::::::";AT 8,0;"::::::::::::::::::::::::::::::::";AT 5,14;"ab";AT 6,14;"::cd";AT 7,16;"ef";AT 8,16; PAPER 5;"gh";AT 9,14;"::ij ";AT 10,14;"kl";AT 10,16;" ";AT 11,16;" "; INK 7;AT 11,14;"ab";AT 12,15;"cd ";AT 13,16;"ef"
110 PAPER 7: INK 2: PRINT AT 5,3;"SOFTWARE";AT 13,20;"EXCELLENCE";AT 18,5; FLASH 1;"Loading Main Program"
120 PAPER 7: INK 7
130 LOAD ""
10 DATA 9," HOMONYMS"," ","Homonyms are words similar","in sound but different in","meaning. Examples:to,two,too"," ","The meaning and spelling of","homonyms must be memorized. No","general rules are available."
11 DATA "Tell me (weather whether) or","not you are going.",14,11,20,"2","whether"
12 DATA "The reading (coarse course) was","difficult but worthwhile.",14,15,22,"2","course"
13 DATA "The (principles principals) of","gravity are partially known.",14,9,20,"1","principles"
14 DATA "The fire chief asked us to","keep the (aisle isle) clear.",16,12,17,"1","aisle"
15 DATA "She (led lead) the band during","this year's concert.",14,6,10,"1","led"
16 DATA "If you have a (loose lose) flap,","the tent may tear.",14,17,22,"1","loose"
17 DATA "Has your (sun son)","come back from practice?",14,11,15,"2","son"
18 DATA "You just would not believe","how the wind (blue blew).",16,16,21,"2","blew"
19 DATA "We were able get a","(steel steal) bar at the store.",16,3,9,"1","steel"
20 DATA 9," LAY and LIE"," ","Lay means to put or place.","Principal parts are:lay,","laid, have laid, laying."," ","Lie means to rest or recline.","Principal parts are:lie,","lay, have lain, lying."
21 DATA "(Lay Lie) down if you are","tired.",14,2,6,"2","Lie"
22 DATA "Is that old dog","(laying lying) in the yard?",16,3,10,"2","lying"
23 DATA "(Lay Lie) aside your disputes","and arguments this evening.",14,2,6,"1","Lay"
24 DATA "Judy (laid lay) the gloves","there yesterday.",14,8,12,"1","laid"
25 DATA "The gifts are not","(laying lying) on the table.",16,3,10,"2","lying"
26 DATA "Do not (lay lie) on the","bed I just made.",14,9,13,"2","lie"
30 DATA 10," SET and SIT"," ","Set means to place or put","something.","The principal parts are:","set, set, setting."," ","Sit means to be seated.","The principal parts are:","sit, sat, sitting."
31 DATA "Please (set sit) wherever","you wish.",14,9,13,"2","sit"
32 DATA "Could you (set sit) your","boots on the newspapers?",14,12,16,"1","set"
33 DATA "He found us (setting sitting)","on the swing.",14,16,24,"2","sitting"
34 DATA "That cat is (setting sitting)","in my lap.",14,16,24,"2","sitting"
35 DATA "You may (set sit) in any","chair in the first four rows.",14,10,14,"2","sit"
36 DATA "The gray rock was","(sitting setting) on the table.",16,5,13,"1","sitting"
40 DATA 7," AMONG and BETWEEN"," ","Use between when two people","or things are involved."," ","Use among when more than two","are involved."
41 DATA "This is a great secret to keep","(among between) the two of us.",16,3,10,"2","between"
42 DATA "Judy, Karen, and Lynn shared","the paper (among between) them.",16,13,20,"1","among"
43 DATA "The lead shifted","(among between) trio members.",16,3,10,"1","among"
44 DATA "It is hard to choose the winner","from (between among) the six.",16,9,16,"2","among"
45 DATA "Two high peaks stood out","(between among) the many.",16,4,11,"2","among"
50 DATA 17,18,19,25,26,35,36,45,111,112,113,121,122,131,132,141
60 GO TO 1000
70 GO SUB 3000
80 DATA "Do not let the (rains reins)","hang loosely in your hands.",14,18,24,"2"
81 DATA "Chocolate, in any form, is my","favorite (desert dessert).",16,12,20,"2"
82 DATA "A (peace piece) was achieved","before war broke out.",14,5,11,"1"
83 DATA "The voters were (laying lying)","ballots in the box.",14,19,26,"1"
84 DATA "You have already (laid lain)","in bed for half the day.",14,20,25,"2"
85 DATA "(Setting Sitting) the table","is easy.",14,4,12,"1"
86 DATA "Is your dog (setting sitting)","in your father's chair again?",14,16,24,"2"
87 DATA "(Among Between) the Colonies","there were some disputes.",14,3,10,"1"
88 DATA "If you go (to too) the","play, I will join you.",14,12,15,"1"
89 DATA "Do you know which pedal is","the (brake break)?",16,7,13,"1"
90 DATA "To me, that is only","(passed past) history.",16,4,10,"2"
91 DATA "She has (laid lain) aside her","school work again.",14,11,16,"1"
92 DATA "Is the bracelet (laying lying)","on the counter?",14,19,26,"2"
93 DATA "(Setting Sitting) will feel good","after all our walking.",14,4,12,"2"
94 DATA "If you (set sit) that cat on","my lap, I will scream.",14,9,13,"1"
95 DATA "Your time has to be divided","(among between) many tasks.",16,3,10,"1"
96 DATA "Would you like to hear","us sing the (hymn him)?",16,14,19,"1"
97 DATA "I think that we can squeeze","through the (great grate).",16,15,21,"2"
98 DATA "Do you know the","(sum some) of the equations?",16,2,6,"1"
99 DATA "Judy has (laid lain) the","old tennis balls on the rack.",14,12,17,"1"
100 DATA "She has been (laying lying)","on that couch all day.",14,16,23,"2"
101 DATA "Do not (set sit) that test","tube on the shelf.",14,9,13,"1"
102 DATA "Whoever said that","(setting sitting) was relaxing?",16,4,12,"2"
103 DATA "Choose one from (among between)","the red and the green items.",14,18,25,"2"
111 DATA "If you would rather play cards","(it's its) really your choice.",16,2,7,"1","it's"
112 DATA "Kitty Hawk was the (sight site)","of the Wright brothers' flight.",14,22,27,"2","site"
113 DATA "Texas was (all ready already)","a state by 1850.",14,17,24,"2","already"
121 DATA "Harry (lay laid) on the couch","watching TV.",14,8,12,"1","lay"
122 DATA "If you (lay lie) in the sun","too long, you will burn.",14,9,13,"2","lie"
131 DATA "(Set Sit) the packages on","the table in the kitchen.",14,2,6,"1","Sit"
132 DATA "The vase was (setting sitting)","on the edge of the table.",14,17,25,"2","sitting"
141 DATA "Do not put your fingers","(among between) two rocks.",16,3,10,"2","between"
500 PAPER 6: INK 2: BORDER 6: CLS
510 PLOT 152,112: DRAW 0,15: DRAW 7,0: DRAW 0,-15: DRAW -7,0
520 PRINT AT 4,5;"LANGUAGE USAGE";
530 DRAW -120,0: DRAW 0,55: DRAW 127,0: DRAW 0,-40
540 PRINT AT 8,20;"MASTER"
550 DRAW 56,0: DRAW 0,-44: DRAW -63,0: DRAW 0,29
560 PRINT AT 5,27;"TM"
570 INK 4: PRINT AT 13,12;"Part III";AT 15,8;"Grades 4 thru 12";
580 INK 2: PRINT AT 20,7;"Copyright 1983 by";AT 21,4;"Software for Excellence";
590 PAUSE 240
1000 PAPER 7: BORDER 7: INK 0: CLS
1005 LET F=0: LET K=0: LET L=0: LET KL=0: LET LL=0: LET N=0: LET W1=0: LET W2=0: LET W3=0: LET W4=0: LET W5=0
1010 PLOT 0,140: DRAW 255,0: DRAW 0,-140: DRAW -255,0: DRAW 0,171: DRAW 255,0: DRAW 0,-31
1020 PRINT AT 2,4;"Language Usage Part III";AT 7,1;"1 Homonyms";AT 8,1;"2 Lay and Lie";AT 9,1;"3 Set and Sit";AT 10,1;"4 Among and Between";AT 16,1;"5 Test Practice";AT 17,1;"6 Timed Test";
1030 INK 5: PLOT 8,131: DRAW 239,0: PLOT 8,59: DRAW 239,0
1040 INK 0: PAPER 5: PRINT AT 5,6;"Preparation - Rules";AT 14,8;"Training Camp";AT 20,7; FLASH 1;"CHOOSE A NUMBER";
1050 GO SUB 3510
1055 LET C=N
1060 IF C<1 OR C>6 THEN GO TO 1050
1070 IF C=6 THEN GO TO 2500
1080 IF C=5 THEN GO TO 2000
1090 GO TO 1500
1500 RESTORE C*10: PAPER 7: INK 0: CLS : READ N
1505 PLOT 0,16: DRAW 0,159: DRAW 255,0: DRAW 0,-159: DRAW -255,0
1510 FOR X=1 TO N: READ D$: PRINT AT X+1,1;D$: NEXT X
1550 GO SUB 3500
1560 GO TO 2000
2000 GO SUB 4000
2002 IF C=1 THEN LET T=6
2003 IF C=5 THEN LET T=16
2004 IF C=2 OR C=3 OR C=4 THEN LET T=4
2005 IF C=6 THEN LET T=25
2006 IF C=5 THEN LET HS=6: LET LS=4: LET SS=4: LET AS=2: LET TS=16
2007 IF C=6 THEN LET HS=9: LET LS=6: LET SS=6: LET AS=4: LET TS=25
2010 FOR Z=1 TO T
2012 PAPER 7: CLS
2020 IF C<5 THEN GO SUB 5500
2022 IF C=5 THEN GO SUB 5584
2030 PRINT AT 9,5;"SELECT THE CORRECT WORD"
2040 READ D$: PRINT AT 13,0;D$: READ D$: PRINT AT 15,0;D$
2050 READ L1: READ T1: READ T2: PRINT AT L1,T1;1;TAB T2;2
2060 READ D$
2070 IF INKEY$<>"" THEN GO TO 2070
2075 IF C=6 THEN GO TO 2540
2080 LET A$=INKEY$: IF A$="" THEN GO TO 2080
2085 IF A$=CHR$ (13) THEN RUN
2087 IF A$<>"1" AND A$<>"2" THEN GO TO 2080
2090 IF A$=D$ THEN GO TO 4500
2100 GO SUB 6000
2110 NEXT Z
2120 GO SUB 4990
2130 GO TO 1000
2500 LET K$=" ": PAPER 7: CLS : PAPER 6: FOR X=1 TO 5: PRINT AT X,8;K$;: NEXT X: PLOT 64,128: DRAW 0,39: DRAW 127,0: DRAW 0,-39: DRAW -127,0: PRINT AT 3,11;"TIMED TEST";AT 8,2; PAPER 7;"To start the test,";AT 9,2;"type the code letters,";AT 10,2;"then press ENTER.": INPUT A$: IF A$<>"lan" AND A$<>"LAN" THEN PRINT AT 20,8;"SORRY WRONG CODE": PAUSE 100: GO TO 1000
2510 RESTORE 80
2530 GO SUB 2000
2535 GO TO 1000
2540 PRINT AT 0,22;"Time ";K;":";L;: IF L<10 THEN PRINT AT 0,30;" "
2550 PAUSE 60: LET A$=INKEY$: IF A$<>"" THEN GO TO 2600
2555 LET L=L+1: IF L=60 THEN LET K=K+1: LET L=0
2560 GO TO 2540
2600 IF A$=D$ THEN GO TO 2110
2605 IF A$<"1" OR A$>"2" THEN GO TO 2540
2608 LET Z1=Z: IF Z>8 THEN LET Z1=Z-8
2610 IF Z1<4 THEN LET W1=W1+1
2620 IF Z1=4 OR Z1=5 THEN LET W2=W2+1
2630 IF Z1=6 OR Z1=7 THEN LET W3=W3+1
2640 IF Z1=8 THEN LET W4=W4+1
2650 GO TO 2110
3000 LET RP=1+INT (7*RND): PAPER RP: INK 7-RP: CLS : RESTORE 3100
3005 ON ERR GO TO 9900
3010 FOR X=3 TO 17: READ G$: PRINT AT X,8;G$: NEXT X
3020 PRINT AT 20,7; INVERSE 1;"PRESS C TO CONTINUE"
3030 IF INKEY$="" THEN BEEP .3,10: GO TO 3030
3040 RETURN
3100 DATA ".''''. ''':''' .''. :''''.",": : : : : :"," ''''. : : : :....'",". : : '. .' : "," '''' ' '' ' "
3110 DATA " ''':''' : : :'''' "," : : : : "," : :'''': :'''"," : : : : "," ' ' ' ''''' "
3120 DATA "''':''' .''. :''''. :'''' "," : : : : : : "," : :....: :'''' :'''"," : : : : : "," ' ' ' ' ''''' "
3500 PRINT AT 20,7; INVERSE 1;"PRESS C TO CONTINUE"
3510 IF INKEY$<>"" THEN GO TO 3510
3520 LET C$=INKEY$: IF C$="" THEN GO TO 3520
3525 IF C$=CHR$ (13) THEN RUN
3530 IF C$<"0" OR C$>"9" THEN RETURN
3540 LET N=VAL (C$): RETURN
4000 PAPER 7: CLS : PRINT AT 2,11;"DIRECTIONS";AT 4,2;"(1) You will be given";AT 5,6;"one or more sentences.";AT 7,2;"(2) There will be a choice";AT 8,6;"of two possible words.";AT 10,2;"(3) Press the number";AT 11,6;"of the correct word."
4010 PLOT 8,16: DRAW 0,152: DRAW 240,0: DRAW 0,-152: DRAW -240,0
4020 GO SUB 3500
4030 RETURN
4500 CLS : PAPER 5: LET K$=" "
4510 FOR X=1 TO 5: PRINT AT X+4,10;K$: NEXT X
4520 FOR X=1 TO 5: PRINT AT X+11,4;K$;AT X+11,15;K$;: NEXT X
4530 PRINT AT 7,13;"CORRECT";AT 14,6;Z;" DONE";AT 14,18;T-Z;" TO GO"
4540 PAPER 7: GO SUB 3500
4560 LET F=F+1
4580 GO TO 2110
4990 IF C=6 THEN GO TO 5050
5000 PAPER 7: CLS : PLOT 4,16: DRAW 0,137: DRAW 245,0: DRAW 0,-137: DRAW -245,0
5010 PRINT AT 2,8;"YOUR SCORE CARD";AT 5,2;F;" Right";AT 9,2;T-F;" Wrong";
5020 LET F=0
5030 GO SUB 3500
5035 IF C=5 THEN GO TO 5050
5040 RETURN
5050 PAPER 7: CLS : PLOT 0,15: DRAW 0,154: DRAW 255,0: DRAW 0,-154: DRAW -255,0
5060 LET R1=HS-W1: LET R2=LS-W2: LET R3=SS-W3: LET R4=AS-W4: LET R5=R1+R2+R3+R4
5063 IF C=5 THEN PRINT AT 0,5;"PRACTICE TEST RESULTS"
5064 IF C=6 THEN PRINT AT 0,10;"TEST RESULTS"
5070 PRINT AT 3,1;"Homonyms";AT 3,17;R1;" of ";HS;AT 3,27;INT ((R1/HS)*100);"%"
5080 PRINT AT 5,1;"Lay and Lie";AT 5,17;R2;" of ";LS;AT 5,27;INT ((R2/LS)*100);"%"
5090 PRINT AT 7,1;"Set and Sit";AT 7,17;R3;" of ";SS;AT 7,27;INT ((R3/SS)*100);"%"
5100 PRINT AT 9,1;"Among and";AT 9,17;R4;" of ";AS;AT 9,27;INT ((R4/AS)*100);"%";AT 10,2;"Between"
5120 PRINT AT 15,1;"Total";AT 15,17;R5;" of ";TS;AT 15,27;INT ((R5/TS)*100);"%"
5130 IF C=6 THEN PRINT AT 16,1;"Time Used : ";K;":";L;
5140 GO SUB 3500
5150 RETURN
5500 PLOT 3,171: DRAW 249,0: DRAW 0,-56: DRAW -249,0: DRAW 0,56
5510 RESTORE C*10: READ DT: READ D$: READ D$
5520 FOR X=1 TO 4: READ D$: IF C=2 AND X=2 THEN READ D$: READ D$: LET X=3
5524 IF C=3 AND X=3 THEN READ D$: READ D$
5525 IF C=4 AND X=3 THEN READ D$
5530 PRINT AT X+1,1;D$
5540 NEXT X
5580 RESTORE C*10+Z
5582 RETURN
5584 RESTORE 50
5585 FOR X=1 TO Z: READ D: NEXT X
5590 RESTORE D
5600 RETURN
6000 PRINT AT 9,0;TAB 7;"The correct word is: ": READ W$: LET WL=LEN (W$): LET T1=INT (32-WL)/2: PRINT AT 10,T1;W$
6001 IF C<>5 THEN GO TO 6070
6002 LET DH=D: IF D>100 THEN LET DH=D-100
6004 LET U=C: LET V=Z: LET C=INT (DH/10): LET Z=DH-C*10
6006 GO SUB 5500
6035 IF C=1 THEN LET W1=W1+1
6040 IF C=2 THEN LET W2=W2+1
6050 IF C=3 THEN LET W3=W3+1
6052 IF C=4 THEN LET W4=W4+1
6055 LET C=U: LET Z=V
6070 RESTORE C*10+Z: IF C=5 THEN RESTORE D
6080 IF L1=14 THEN READ D$
6090 IF L1=16 THEN READ D$: READ D$
6100 LET SL=LEN (D$): LET SK=0: LET T1=0
6105 PRINT AT L1,0;TAB 29;" ": PRINT AT L1-1,0;TAB 31;" "
6110 FOR P=1 TO SL
6120 IF D$(P)="(" THEN PRINT AT L1-1,T1;W$: LET T1=T1+WL: LET SK=1
6130 IF D$(P)=")" THEN LET SK=0: GO TO 6160
6140 IF SK=1 THEN GO TO 6160
6150 PRINT AT L1-1,T1;D$(P): LET T1=T1+1
6160 NEXT P
6165 GO SUB 3500
6170 RETURN
9900 ON ERR RESET
9910 PAUSE 100
9920 ON ERR GO TO 9900
9930 ON ERR CONTINUE
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

