Listing of file='SPELL.BAS;01' on disk='vmedia/chip_125-sector.ccvf'
5 REM SPELLING AID 6 REM LARRY PERTERSON 7 REM OAKDALE, CALIFORNIA 10 CLEAR 1000:DIM TT$(20) 12 PLOT 12:DIM RN(30):TIME= 200 15 DIM D1$(300) 20 DIM A$(130),B$(130),L$(130),D$(36),SC(36) 30 GOSUB 10000 40 GOTO 100 50 FILE "R",1,"SPELL",1 100 PLOT 12:PRINT :PRINT " SPELL-IT MENU":PRINT 105 PRINT " 1) ADD A SPELLING LIST TO A FILE" 107 PRINT " 2) SPELL WORDS IN A LIST" 109 PRINT " 3) SEE HOW WELL YOU HAVE DONE IN THE PAST" 110 PRINT " 4) BEGIN A NEW GRADE LEVEL FILE" 112 PRINT " 5) INSTRUCTIONS" 115 PRINT :PRINT :INPUT " WHAT IS YOUR SELECTION? ";A 120 PLOT 12:ON AGOTO 200,1000,6000,7000,4000 199 PRINT 200 PRINT "THERE ARE 128 BYTES AVAILABLE FOR THIS LIST" 201 PRINT 205 PRINT "ENTER EACH WORD FOLLOWED BY A RETURN" 206 PRINT 210 PRINT "I WILL KEEP TRACK OF THE BYTES LEFT FOR YOU" 211 PRINT 215 PRINT "WHEN YOU'R FINISHED JUST HIT RETURN" 295 BY= 128:PRINT :NO= 0 300 NO= NO+ 1:L$= "" 320 PRINT "BYTES LEFT "BY" WORD "NO")"; 340 INPUT " ";A$(NO) 360 IF A$(NO)= "0"THEN NO= NO- 1:GOTO 460 380 L= LEN (A$(NO)):BY= BY- L- 1 400 IF BY< 0THEN PRINT A$(NO)" IS TO LONG TO FIT THE SPACE LEFT.":GOTO 440 420 GOTO 300 440 NO= NO- 1:BY= BY+ L+ 1:GOTO 300 460 REM PRINT THE LIST 480 PLOT 12:PRINT "THIS IS THE WORD LIST AS I HAVE IT" 500 FOR X= 1TO NO:PRINT X") "A$(X):NEXT X 520 INPUT "WOULD YOU LIKE TO MAKE ANY CHANGES (Y OR N)? ";R$ 540 IF LEFT$ (R$,1)= "Y"THEN 580 560 GOTO 680 580 INPUT "GIVE THE NUMBER OF THE WORD TO MODIFY ";X 620 INPUT "WHAT IS THE NEW WORD? ";B$(X) 640 L= LEN (B$(X)):BY= BY+ L+ 1 650 IF BY< 0THEN PRINT "THERE ISN'T ENOUGH ROOM FOR "B$(X):GOTO 480 660 A$(X)= B$(X):GOTO 480 680 REM SAVE THE LIST ON THE DISK 700 FOR X= 1TO NO:L$= L$+ A$(X):L$= L$+ " ":NEXT X 720 BT= 128- BY 730 PLOT 12,3,10,5:INPUT "PLEASE GIVE ME THE NUMBER OF THIS LIST ";R 735 PLOT 3,8,8:INPUT "WHICH GRADE LEVEL IS THIS LIST FOR (1-9)? ";GR 738 FILE "R",1,G$(GR),1 740 PUT 1,R;L$[BT] 741 FILE "C",1 800 GOTO 100 1000 REM READ LIST FROM THE DISK 1010 INPUT "WHAT GRADE LEVEL DO YOU WANT TO TRY (1-9)? ";GR 1020 PRINT :PRINT :INPUT "WHICH SPELLING LESSON WOULD YOU LIKE TO STUDY? ";R 1022 PRINT :PRINT 1025 INPUT "WHAT IS TODAYS DATE (MONTH/DAY-FOR EXAMPLE 3/22)? ";D$ 1027 T$= "SCORE"+ RIGHT$ (STR$ (GR),1) 1030 FILE "R",1,G$(GR),1 1035 FILE "R",2,T$,1 1040 GET 1,R;A$[128] 1060 L= LEN (A$):B= 1:C= 1 1080 FOR X= 1TO L:E= E+ 1 1100 IF MID$ (A$,X,1)= " "THEN E= E- 1:GOTO 1140 1120 NEXT X 1122 GOTO 1200 1140 B$(C)= MID$ (A$,B,E) 1150 IF B$(C)= B$(C- 1)THEN C= C- 2:GOTO 1200 1160 B= X+ 1:E= 0:C= C+ 1 1190 NEXT X 1200 PLOT 12:PRINT "THIS IS THE LIST STUDY IT !!" 1220 FOR X= 1TO C:PLOT 3,20,X+ 2:PRINT B$(X):NEXT X 1230 REM GOSUB 5500 FOR RANDOMIZATION OF THE LIST 1240 PRINT :PRINT "HIT RETURN WHEN YOU ARE READY AND I WILL FLASH THE 1250 INPUT "WORDS ON THE SCREAN IN A BOX";A 2000 REM DISPLAY & CHECK WORDS 2010 FOR T= 1TO C- 1:TT= 0 2200 PLOT 12:GOSUB 5000:GOSUB 5200:GOSUB 5300 2205 PLOT 8 2210 PRINT " NOW YOU SPELL THE WORD" 2215 PLOT 14,3,15,2,21:INPUT " ";T$:PLOT 15,18 2220 IF T$= B$(T)THEN 2500 2230 PRINT 2235 IF TT= 1THEN PRINT "STILL WRONG-TAKE ANOTHER PEEK":FOR X= 1TO 1000:NEXT :GOTO 2200 2240 PRINT :PRINT "THAT IS INCORRECT" 2250 TT= TT+ 1:WR= WR+ 1:TT$(WR)= B$(T) 2260 PRINT :PRINT "TRY AGAIN!":FOR X= 1TO 700:NEXT X:PLOT 12:GOTO 2210 2500 PRINT :PRINT "THAT IS CORRECT" 2510 PRINT :PRINT "HERE COMES THE NEXT WORD" 2520 FOR X= 1TO 1000:NEXT 2530 CO= CO+ 1:NEXT T 3000 REM FINISHED WITH THE LIST 3003 IF F2= 1GOTO 10 3005 SC= INT ((C- 1- WR)/ (C- 1)* 100) 3010 PLOT 12:PRINT "THATS THE LAST WORD LET'S SEE HOW YOU DID" 3020 PRINT :PRINT "YOUR SCORE IS "SC"% FOR THIS WORD LIST." 3025 R= R+ 1:F2= 1:SC$= STR$ (SC) 3030 PUT 2,1,R* 9;D$[5] 3033 PUT 2,1,R* 9+ 5;SC$[4] 3035 FILE "C",1,2 3040 IF SC= 100THEN PRINT "HIT RETURN TO CONTINUE ";A:GOTO 10 3050 PRINT :PRINT "THESE ARE THE WORDS YOU MISSED" 3060 FOR X= 1TO WR:B$(X)= TT$(X):PRINT TT$(X):NEXT 3070 C= WR+ 1:WR= 0:INPUT "LET'S GO OVER THEM AGAIN - HIT RETURN";A 3090 F1= 1:GOTO 2000 4000 REM INSTRUCTIONS 4010 PLOT 14:PRINT :PRINT "THIS PROGRAM WAS WRITTEN TO HELP MY CHILDREN WITH THEIR SPELLING" 4020 PRINT "THE PROGRAM HAS FOUR OPTIONS:":PRINT :PRINT 4030 PRINT " 1) WITH THIS CHOICE YOU CAN ADD SPELLING WORDS TO A LIST." 4040 PRINT "THE WORDS ARE PLACED IN A STRING VARIABLE THAT IS 128 LETTERS" 4050 PRINT "LONG. WHEN YOU ARE FINISHED WITH THE LIST YOU WILL BE GIVEN." 4060 PRINT "THE CHANCE TO MAKE ANY MODIFICATIONS BEFORE THE LIST IS SAVED" 4070 PRINT "TO SAVE THE LIST YOU WILL NEED TO GIVE THE LIST A NUMBER AND" 4080 PRINT "THEN THE GRADE LEVEL THE LIST IS FOR. " 4090 PRINT :PLOT 15:INPUT "HIT RETURN TO CONTINUE ";AA:PLOT 12,14 4100 PRINT :PRINT " 2) WITH THIS OPTION YOU WILL BE ASK WHICH" 4105 PRINT "GRADE LEVEL YOU WOULD LIKE TO STUDY" 4110 PRINT "AND THE NUMBER OF THE LIST TO GET FROM THAT LEVEL. THE LIST " 4120 PRINT "WILL BE DISPLAYED SO IT CAN BE STUDIED. THE COMPUTER WILL" 4130 PRINT "THEN GIVE A WORD TEST BY FLASHING THE WORD TO BE SPELLED IN A " 4140 PRINT "BOX AND ASKING FOR IT'S CORRECT SPELLING. " 4150 PRINT "IF THE WORD IS SPELLED PROPERLY THE NEXT WORD WILL BE GIVEN." 4160 PRINT "IF THE WORD IS MISSPELLED YOU WILL BE ASK TO TRY AGAIN. IF YOU" 4170 PRINT "STILL MISS IT THEN THE WORD WILL BE FLASHED IN THE BOX AGAIN." 4180 PRINT "WHEN THE LIST IS COMPLETED THE % CORRECT WILL BE GIVEN AND" 4190 PRINT "THOSE WORDS MISSED WILL BE GIVEN AGAIN." 4200 PLOT 15:PRINT :INPUT "HIT RETURN TO CONTINUE";AA:PLOT 12,14 4205 PRINT 4210 PRINT " 3) AFTER EACH SPELLING TEST IS COMPLETED THE DATE AND THE %" 4220 PRINT "SCORE FOR THE LIST ARE STORED IN A SPECIAL FILE FOR THE GRADE" 4230 PRINT "LEVEL THAT WAS BEING STUDIED. ALL SCORES AND THE DATE THE" 4240 PRINT "TESTS WERE TAKE CAN BE OBSERVER BY CHOSING THIS OPTION." 4300 PRINT :PLOT 15:INPUT "HIT RETURN TO CONTINUE";AA:PLOT 12,14 4310 PRINT :PRINT " 5) WITH THIS OPTION YOU CAN OPEN A NEW FILE FOR ANOTHER" 4320 PRINT "EACH LEVEL. IT IS POSSIBLE TO HAVE FILES FOR GRADES 1 TO 9." 4330 PRINT "EACH FILE CAN HAVE UP TO 36 SPELLING LIST STORED IN IT." 4340 PRINT "TO OPEN A NEW FILE ALL THAT IS NEED IS TO GIVE THE GRADE LEVEL" 4350 PRINT "AND THE NUMBER OF LISTS EXPECTED IN THE FILE." 4370 PRINT 4400 PRINT :PLOT 15:INPUT "HIT RETURN TO CONTINUE";AA:PLOT 12,14 4500 PLOT 15:GOTO 100 5000 REM MAKE BOXS 5010 FOR X= 1TO 22 5020 PLOT 3,17+ X,13,30,124,3,17+ X,17,30,124 5030 NEXT X 5040 FOR X= 1TO 4 5050 PLOT 3,18,13+ X,30,124,3,39,13+ X,30,124,29 5060 NEXT X 5070 RETURN 5200 REM ARROW 5210 PRINT " 3) AFTER EACH SPELLING TEST IS COMPLETED THE DATE AND THE %" 5220 FOR X= 1TO 5:PLOT 29,110,10,26:NEXT X:PLOT 17,104,18 5230 RETURN 5300 REM PUT WORD IN BOX 5310 PLOT 3,29- ((LEN (B$(T)))/ 2),15 5320 PRINT B$(T) 5325 FOR X= 1TO TIME:NEXT X 5330 PLOT 12:RETURN 5500 REM RANDOMIZE WORDS 5510 FOR X= 1TO C 5520 RN(X)= INT (C* RND (1)) 5525 IF RN(X)= 0GOTO 5520 5530 IF X= 1GOTO 5590 5540 FOR Y= 1TO X- 1 5550 IF RN(X)= RN(Y)GOTO 5520 5560 NEXT Y 5590 NEXT X 5595 RETURN 6000 REM LOOK AT PAST PREFORMANCE 6020 PLOT 12,3,2,5:INPUT "WHICH GRADE LEVEL WOULD YOU LIKE TO REVIEW (1-9)? ";GR 6060 T$= "SCORE"+ RIGHT$ (STR$ (GR),1) 6070 FILE "R",1,T$,2 6080 GET 1,1,1;NO 6085 F3= 0:NO= NO/ 2 6090 GET 1,1,9;D1$[NO* 9] 6130 PLOT 12:GOSUB 6150:GOTO 6200 6150 PRINT "LESSON DATE SCORE":RETURN 6200 FOR X= 1TO NO:Y= Y+ 1 6215 D$(X)= MID$ (D1$,X* 9+ 1,5) 6216 L$(X)= MID$ (D1$,X* 9+ 7,3) 6220 PRINT Y,; 6230 PRINT D$(X),L$(X) 6240 NEXT X:PRINT :PRINT 6250 IF F3= 1THEN INPUT "HIT RETURN TO CONTINUE.";A:GOTO 100 6260 F3= 1 6270 INPUT "HIT RETURN TO VIEW THE REST. ";A 6290 GET 1,1,(NO+ 1)* 9;D1$[NO* 9] 6300 FILE "C",1:GOTO 6130 7000 REM BEGIN NEW GRADE LEVEL SPELLING LIST FILE 7005 PRINT :PLOT 20 7010 PLOT 12:INPUT "WHAT GRADE LEVEL WILL THE SPELLING LISTS BE FOR (1-9)?";GR 7015 PRINT :PLOT 21 7020 PRINT "HOW MANY SPELLING LISTS WILL THERE BE IN THE "G$(GR)" 7025 INPUT "GRADE FILE (UP TO 36)? ";NO:PLOT 18 7030 FILE "N",G$(GR),NO,128,1 7040 S= 9* (NO+ 2) 7041 N0= NO 7045 V$= RIGHT$ (STR$ (GR),1):T$= "SCORE"+ V$ 7050 FILE "N",T$,1,S,1 7060 FILE "R",1,T$,1 7063 NO= INT (((NO+ 1)* 9)/ 2) 7065 FOR X= 1TO NO:D1$= D1$+ " ":NEXT X 7070 PUT 1,1,1;D1$[NO] 7073 PUT 1,1,NO;D1$[NO] 7076 PUT 1,1,1;N0 7080 FILE "C",1 7090 GOTO 100 10000 REM READ GRADE NAMES 10010 RESTORE 10100 10020 FOR X= 1TO 9:READ G$(X):NEXT X 10030 RETURN 10100 DATA FIRST,SECOND,THIRD,FOURTH,FIFTH,SIXTH,SEVNTH,EIGHTH,NINTH