Introduction to Chemistry is a three-module educational program covering atomic structure (Module 1), the periodic table (Module 2), and advanced topics including molecular weight calculation (Module 3). Each module presents a self-paced text lesson with highlighted key terms in inverse video, followed by a menu offering a key terms review, a multiple-choice and fill-in test that repeats missed questions until a perfect score is achieved, and a 60-second True/False “Quickie Quiz” that awards and deducts points. The timed quiz uses POKE to zero the frame counter at addresses 16436–16437 and PEEK to detect when approximately 60 seconds have elapsed. Module 3 includes a molecular weight calculator that parses chemical formulas with parentheses and subscripts by scanning character codes, and a periodic table dictionary that accepts element name, symbol, or atomic number as input. A shared word-wrap subroutine (lines 2–11) breaks long definition strings at word boundaries to fit the 32-character display width.
Program Analysis
Overall Structure
The listing comprises three separate BASIC programs saved as CHEM1, CHEM2, and CHEM3. Each is self-contained, sharing a common architectural pattern: an introductory lesson delivered in screenfuls, then a menu (reached via GOTO VAL "130" / GOTO M) offering lesson replay, key terms review, key terms test, quickie quiz, and exit. All three programs use line-number aliases stored in variables (E, E1, E4, E5, M, M1, F, K, T, N1, etc.) that are initialised elsewhere in the full tape image; only the subroutine bodies are present in these listings.
Word-Wrap Subroutine (Lines 2–11)
All three modules include a word-wrap routine at lines 2–11 that prints a string stored in A$ across multiple lines of exactly 31 characters (VAL "31"). The outer FOR V loop advances through the string in steps of a line-width constant (K / K1). The inner FOR U loop scans backwards from the candidate break point to find the last space, then prints the slice A$((V-31) TO (V-U)) and adjusts V. Module 1 uses K and ends at line 10 with an unconditional tail print; Module 3 adds a CODE guard at line 10 to suppress printing a blank final slice.
Menu Dispatch
Both Module 1 and Module 2 use a computed GOTO for menu selection:
- Module 1 line 149:
GOTO VAL "150"+(VAL A$-SGN PI)*VAL "500"— maps choices 1–5 to lines 150, 650, 1150, 1650, 3000. - Module 2 line 148: identical formula targeting the same line offsets.
- Module 3 line 1716:
GOTO VAL "3500"+VAL A$*VAL "500"for its symbols sub-menu.
Using VAL "number" in GOTO expressions is a standard memory-saving technique that stores the target as a short string rather than a two-byte integer.
Key Terms Test Logic
The test in all three modules is split into two passes. The first pass (multiple choice) presents each term with four definitions, one correct and three randomly chosen. Correct answers are marked with H$(A)="X"; the loop repeats with GOTO VAL "1160" until H$ equals a string of Xs. The second pass requires typed input, padding the answer to a fixed width for exact string comparison:
- Module 1 pads to 18 characters (lines 1246–1248).
- Module 2 pads to 17 characters (lines 1245–1247).
The multiple-choice answer is read as a single keypress via the E4 subroutine. Correctness is checked with CODE A$-28=D, exploiting the fact that the character codes for digits 1–4 are 29–32, so subtracting 28 yields 1–4.
Random distractor selection (lines 1170–1178 / 1170–1178) uses a string G$ / T$ of single characters whose CODE values are term indices. A nested loop discards duplicates and prevents the correct answer from appearing in a random slot before being placed at position D.
60-Second Quickie Quiz Timer
All three modules time their quickie quiz using the system frame counter at memory addresses 16436–16437. At quiz start:
POKE VAL "16437", NOT PI (= POKE 16437, 0) POKE VAL "16436", NOT PI (= POKE 16436, 0)
Each question loop checks:
IF PEEK(16436) + 256*PEEK(16437) > 61936 THEN GOTO quiz_start
At 50 frames per second, 61936 frames ≈ 1238 seconds — but the machine runs in FAST mode during tight loops, so the effective elapsed time is closer to 60 seconds of real time depending on display activity. The scoring formula awards +SGN PI (i.e. +1) for correct and -SGN PI for incorrect responses.
Module 3: Molecular Weight Calculator
The formula parser (lines 1060–1260) is the most algorithmically complex section of all three programs. It maintains a pointer P into the input string A$ and two accumulators:
W— running molecular weight total.S— current multiplier (1 outside brackets, set to 1 again after processing a bracketed group).
Parentheses are handled by saving the pre-bracket weight into W, resetting S, then on the closing parenthesis reading the subscript via subroutine at line 1400 and adding N*S to W. Element symbols are looked up against array S$() (1–92 elements), and their atomic masses retrieved from M(A). Two-letter symbols are detected by checking whether the next character’s CODE is ≤37 (i.e., a lowercase letter in the ZX81 character set).
Module 3: Periodic Table Display
Lines 22–34 (shared across modules 2 and 3) print an ASCII-art periodic table using literal characters. Element positions on the table are encoded as single bytes in string array P$(): the row is INT(CODE P$(A)/21) and the column is CODE P$(A) - row*21, fitting a 21-column layout into a single character code (subroutines at lines 90–94).
Inverse-Video Key Terms
Key chemistry terms (MATTER, ENERGY, ATOM, PROTON, etc.) are displayed in inverse video throughout the lesson text using the ZX81 inverse character encoding. This provides visual emphasis equivalent to bold or italic text on the 32-column monochrome display.
Notable Idioms and Techniques
SGN PIis used throughout as a constant 1 (since PI > 0), andNOT PIas 0.RAND(line 101 in all modules) seeds the random number generator at program start.- String padding loops (e.g., lines 1246–1248 in Module 1) bring user input to a known fixed length before comparison, avoiding issues with trailing spaces in stored answers.
- The
E1subroutine at lines 50–58 provides the standard “hit C to continue or E to exit” prompt, with INKEY$ polling at line 52–53 forming the efficient keypress-wait idiom. - Module 3’s symbols review (lines 4025–4110) runs in an infinite loop (
GOTO VAL "4025") cycling through all elements; exit is via holding the E key, detected inside the delay subroutine at lines 13–16.
Anomalies and Notable Points
- Module 1 line 307 uses
PRINT "A NEUTRON IS ";F$(VAL "5")directly rather than routing through the word-wrap subroutineE5, which may cause display overflow for long definitions. - Module 1 line 1172 contains
GOTO VAL "1171"targeting a line that setsN=INT(RND*T)+SGN PI; since no line 1171 exists in the listing, execution falls through to line 1172 itself — this is an intentional retry loop using a non-existent line target, a well-known technique. - Module 3 lines 4603 and 4803 are similarly structured retry loops using
GOTO VAL "4603"/GOTO VAL "4803". - Module 3 line 5500
GOTO Mappears unreachable between lines 5000 and 5502; it likely serves as a fall-through guard or was left from an earlier version. - Module 2 line 213 contains a typo in the inverse-video string:
VALENCE ELECTONS(missing an R), which would cause the typed-answer comparison in the test to accept the misspelled form.
Content
Image Gallery
Source Code
1 REM [R][E][V][I][S][I][O][N]█[2][.][1][7][.][8][3]
2 FOR V=K TO LEN A$ STEP K
3 FOR U=NOT PI TO K
4 IF A$(V-U)=" " THEN GOTO VAL "6"
5 NEXT U
6 PRINT A$((V-VAL "31") TO (V-U))
7 LET V=V-U
8 IF (V+K)>LEN A$ THEN GOTO VAL "10"
9 NEXT V
10 PRINT A$((V+SGN PI) TO )
11 RETURN
42 LET A$=INKEY$
43 IF A$="" THEN GOTO E4
46 IF A$="E" THEN GOTO VAL "130"
47 RETURN
50 PRINT AT VAL "20",NOT PI;"WHEN YOU ARE READY, ";C$;","
51 PRINT "HIT C TO CONTINUE OR E TO EXIT."
52 LET A$=INKEY$
53 IF A$="" THEN GOTO E1
55 CLS
56 IF A$="E" THEN GOTO VAL "130"
57 RETURN
100 PRINT TAB VAL "4";"[I][N][T][R][O][D][U][C][T][I][O][N]█[T][O]█[C][H][E][M][I][S][T][R][Y]";TAB VAL "11";"[M][O][D][U][L][E]█[O][N][E][:]";TAB VAL "11";"[A][B][O][U][T]█[A][T][O][M][S]"
101 RAND
102 PRINT "********************************"
104 PRINT
106 PRINT "HELLO THERE---"
108 PRINT "I AM HERE TO HELP YOU LEARN SOMEBASIC FACTS ABOUT CHEMISTRY. TO START OFF, HOW ABOUT TYPING IN YOUR FIRST NAME?"
110 INPUT C$
112 CLS
114 PRINT "GLAD TO MEET YOU, ";C$;"."
115 PRINT
116 PRINT " IF THIS IS YOUR FIRST TIME WITH THIS MODULE, HIT L. OTHERWISE, HIT E FOR THE MENU."
117 GOSUB E1
120 PRINT "I AM GOING TO HELP YOU LEARN SOME BASIC FACTS ABOUT ATOMS. TO DO THIS, I HAVE A SELF-PACED LESSON TO SHOW YOU. INFORMATION WILL BE DISPLAYED ON THE SCREEN."
121 PRINT "LOOK CAREFULLY FOR TERMS LIKE [M][A][T][T][E][R] AND THEIR DEFINITIONS. YOU WILL LATER BE TESTED ON THESE KEY TERMS IN ORDER TO GO"
122 PRINT "ON TO THE NEXT MODULE. AFTER YOU UNDERSTAND EVERYTHING ON THESCREEN, HIT C TO CONTINUE THE LESSON. IF YOU HAVE TO LEAVE, HIT E TO EXIT THE LESSON."
123 PRINT "HIT ENTER TO START THE LESSON."
124 PRINT "HAPPY LEARNING, ";C$;"."
125 GOSUB E1
126 GOTO VAL "150"
130 CLS
132 PRINT "HERE IS MY MENU OF THINGS I CAN DO TO HELP YOU--"
133 PRINT
134 PRINT "1. [L][E][S][S][O][N][-][-][A][B][O][U][T]█[A][T][O][M][S]";TAB F;"*REPEATS THE LESSON IF YOU";TAB F;" NEED TO REVIEW IT."
137 PRINT "2. [K][E][Y]█[T][E][R][M][S]█[R][E][V][I][E][W]";TAB F;"*REVIEWS THE DEFINITIONS OF";TAB F;" KEY TERMS IN THE LESSON."
138 PRINT "3. [K][E][Y]█[T][E][R][M][S]█[T][E][S][T]";TAB F;"*TESTS TO SEE IF YOU KNOW ";TAB F;" THE KEY TERMS AND ARE READY";TAB F;" FOR MODULE 2."
139 PRINT "4. [Q][U][I][C][K][I][E]█[Q][U][I][Z]";TAB F;"*60 SEC. TO ANSWER ALL THE ";TAB F;" T/F QUESTIONS YOU CAN."
140 PRINT "5. [E][X][I][T]█[T][H][E]█[P][R][O][G][R][A][M]";TAB F;"*ENDS THE PROGRAM IF YOU";TAB F;" HAVE TO LEAVE."
142 PRINT
143 PRINT "TYPE IN THE NUMBER OF"
144 PRINT "YOUR CHOICE, ";C$;"."
145 GOSUB E1
149 GOTO VAL "150"+(VAL A$-SGN PI)*VAL "500"
150 PRINT TAB VAL "6";"[L][E][S][S][O][N][-][-][A][B][O][U][T]█[A][T][O][M][S]"
156 PRINT
160 PRINT "ARE YOU READY, ";C$;"?"
161 PRINT "THE FIRST TOPIC WE WILL DISCUSS IS [M][A][T][T][E][R]."
162 PRINT "WHAT IS MATTER??"
163 PRINT D$
164 LET A$="[M][A][T][T][E][R] "+F$(SGN PI)
165 GOSUB E5
166 PRINT
167 PRINT "MATTER IS ANYTHING THAT TAKES UPSPACE AND HAS WEIGHT--THE EARTH,STARS, TELEVISIONS, CATS, CARS, AIR, EVEN PEOPLE NAMED"
168 PRINT C$;" ARE MADE OF MATTER."
169 PRINT "MATTER IS OUR NAME FOR ANY AND ALL MATERIAL SUBSTANCES."
170 GOSUB E
200 PRINT "DO YOU THINK THINGS LIKE LIGHT, HEAT, AND ELECTRICITY ARE MADE OF MATTER, ";C$;"??"
204 PRINT "REMEMBER MATTER▘S DEFINITION--"
205 LET A$=F$(SGN PI)
206 GOSUB E5
210 PRINT "THINGS LIKE LIGHT DO NOT OCCUPY SPACE OR WEIGH ANYTHING, SO THEYARE NOT MATTER. WE CALL THINGS LIKE LIGHT [E][N][E][R][G][Y]."
212 PRINT D$
214 LET A$="[E][N][E][R][G][Y] IS "+F$(VAL "2")
215 GOSUB E5
216 PRINT
220 PRINT "ENERGY DOES THE WORK OF THE UNIVERSE--THE MOVING, HEATING, AND LIGHTING. MATTER AND ENERGYTOGETHER MAKE UP THE UNIVERSE."
230 GOSUB E
260 PRINT "OUR NEXT TOPIC IS THE [A][T][O][M]."
262 PRINT D$
263 LET A$="AN [A][T][O][M] IS "+F$(VAL "3")
264 GOSUB E5
266 PRINT AT VAL "4",NOT PI;"(PARTICLE MEANS TINY PIECE)"
267 PRINT
268 PRINT "ALL THE MATTER AROUND YOU IS MADE OF ATOMS--TREES, SOIL, AIR,FLOWERS, EVEN YOU, ";C$
269 PRINT "ARE MADE OF MANY ATOMS."
270 PRINT "ATOMS ARE VERY VERY SMALL. THEYARE SO SMALL THAT THERE ARE 100,000,000,000 OF THEM IN ONLY ONE DROP OF WATER."
280 PRINT
290 PRINT "BELIEVE IT OR NOT, ATOMS ARE MADE OF EVEN SMALLER PARTICLES. THESE ATOMIC PARTICLES ARE THE [P][R][O][T][O][N], [N][E][U][T][R][O][N], AND [E][L][E][C][T][R][O][N]."
295 GOSUB F
300 PRINT "HERE ARE THE DEFINITIONS FOR THEPARTICLES THAT MAKE UP AN ATOM--"
301 PRINT
302 LET A$="A [P][R][O][T][O][N] IS "+F$(VAL "4")
303 GOSUB E5
304 PRINT
307 PRINT "A [N][E][U][T][R][O][N] IS ";F$(VAL "5")
308 PRINT
309 LET A$="AN [E][L][E][C][T][R][O][N] IS "+F$(VAL "6")
311 GOSUB E5
315 GOSUB E
320 PRINT "HERE IS THE WAY THE ATOMIC PARTICLES ARE ARRANGED IN AN ATOM--"
322 PRINT "THE PROTONS AND NEUTRONS CLUSTERTOGETHER INTO A BALL IN THE CEN-TER OF THE ATOM, THE [N][U][C][L][E][U][S]."
323 PRINT D$
324 LET A$="A [N][U][C][L][E][U][S] IS "+F$(VAL "7")
325 GOSUB E5
326 PRINT
328 PRINT "MEANWHILE, THE ELECTRONS CIRCLE AROUND THE NUCLEUS MUCH LIKE MOTHS FLY AROUND A STREETLIGHT, GOING AROUND WEAVING IN AND OUT."
329 PRINT
330 PRINT "THERE ARE EQUAL NUMBERS OF PRO- TONS AND ELECTRONS IN ANY ATOM. NEUTRON NUMBERS VARY, USUALLY BEING HIGHER THAN THE PROTONS."
350 GOSUB E
352 PRINT "HERE IS A DRAWING OF AN OXYGEN ATOM, WITH THE ELECTRONS GOING AROUND THE NUCLEUS--"
355 PRINT AT VAL "4",VAL "16";"▘"
356 PRINT AT VAL "7",NOT PI;"ELECTRON>▘";TAB VAL "11";"▗";TAB VAL "23";"▗"
357 PRINT AT VAL "10",VAL "7";"NUCLEUS>▗▚";TAB VAL "15";"▚▚▘";TAB VAL "16";"▘"
358 PRINT AT VAL "14",VAL "8";"▘";TAB VAL "19";"▝";TAB VAL "23";"▝"
359 PRINT AT VAL "18",VAL "16";"▗"
400 GOSUB E
404 PRINT "HAVE YOU EVER WONDERED WHAT MAKES GOLD ATOMS DIFFERENT FROM IRON ATOMS, ";C$;"?"
405 PRINT "THE DIFFERENCE IS IN THE NUMBER OF PROTONS AN ATOM HAS. WE CALL THIS QUANTITY THE [A][T][O][M][I][C] [N][U][M][B][E][R]."
406 PRINT
407 PRINT D$
408 LET A$="[A][T][O][M][I][C]█[N][U][M][B][E][R] IS "+F$(VAL "8")
409 GOSUB E5
410 GOSUB E
412 PRINT " IF YOU PICK UP A PIECE OF GOLD,YOU SIMPLY HAVE TRILLIONS OF ATOMS HANGING TOGETHER, ALL WITHTHE SAME ATOMIC NUMBER. SINCE ATOMS NORMALLY HAVE FROM 1 TO 92PROTONS, THERE ARE 92 DIFFERENT SUBSTANCES MADE OF ATOMS WITH THE SAME ATOMIC NUMBER. WE CALL THESE SUBSTANCES [E][L][E][M][E][N][T][S]."
413 PRINT
414 PRINT D$
415 LET A$="AN [E][L][E][M][E][N][T] IS "+F$(10)
416 GOSUB E5
420 GOSUB E
421 PRINT "REMEMBER THE DEFINITION FOR THE ATOMIC NUMBER, ";C$;"?"
422 LET A$=F$(VAL "8")
423 GOSUB E5
424 PRINT
425 PRINT "HERE IS THE DEFINITION OF A NEW TERM, [A][T][O][M][I][C] [M][A][S][S] [N][U][M][B][E][R]--"
426 LET A$=F$(VAL "9")
427 GOSUB E5
428 PRINT
430 PRINT "DO YOU SEE THE DIFFERENCE BE- TWEEN ATOMIC NUMBER AND ATOMIC MASS NUMBER, ";C$;"?"
432 GOSUB E
434 PRINT "REMEMBER THE DEFINITION FOR AN ELEMENT, ";C$;"?"
435 LET A$=F$(VAL "10")
436 GOSUB E5
437 PRINT "COMPARE THAT TO THE DEFINITION FOR [I][S][O][T][O][P][E]--"
438 LET A$=F$(VAL "11")
439 GOSUB E5
440 PRINT "TWO ATOMS OF THE SAME ELEMENT CAN BE DIFFERENT ISOTOPES, SINCEISOTOPE DEPENDS ON BOTH NEUTRONSAND PROTONS. ACTUALLY, TELLING ISOTOPES APART IS DIFFICULT. TWOPIECES OF GOLD CAN LOOK AND REACT THE SAME, BUT BE DIFFERENTISOTOPES. IN NATURE, ELEMENTS ARE USUALLY A BLEND OF SEVERAL DIFFERENT ISOTOPES."
442 GOSUB E
450 PRINT "OUR NEXT TERM IS THE [M][O][L][E][C][U][L][E]."
452 PRINT D$
453 LET A$="A [M][O][L][E][C][U][L][E] IS THE "+F$(VAL "12")
454 GOSUB E5
455 PRINT
457 PRINT "A MOLECULE CAN BE MADE OF ONE ATOM OR THOUSANDS OF ATOMS. A MOLECULE IS THE SMALLEST INDE- PENDENT PARTICLE OF A SUBSTANCE;IT HAS ALL THE CHEMICAL PROP- PERTIES OF THE SUBSTANCE. A MOLECULE IS USUALLY TOO SMALL TOBE SEEN."
458 GOSUB E
460 PRINT "A SPECIAL TYPE OF MOLECULE IS THE [C][O][M][P][O][U][N][D]."
462 PRINT D$
463 LET A$="A [C][O][M][P][O][U][N][D] IS "+F$(VAL "13")
464 GOSUB E5
466 PRINT
467 PRINT "A MOLECULE CAN BE MADE OF ONLY ONE ELEMENT, BUT A COMPOUND IS AMOLECULE MADE OF TWO OR MORE DIFFERENT ELEMENTS."
468 PRINT "PLEASE NOTE THIS: MANY COMMON ""SUBSTANCES"" SUCH AS MILK ARE MADE OF MANY DIFFERENT COMPOUNDSTHAT ARE MIXED TOGETHER, BUT NOTCHEMICALLY BONDED THE WAY ATOMS IN A MOLECULE ARE."
470 GOSUB E
472 PRINT "CONGRATULATIONS, ";C$;"."
473 PRINT
474 PRINT "YOU HAVE FINISHED THE LESSON."
500 GOTO VAL "1310"
650 PRINT TAB VAL "8";"[K][E][Y]█[T][E][R][M][S]█[R][E][V][I][E][W]"
652 PRINT
654 PRINT "WE WILL NOW REVIEW THE KEY TERMSTHAT YOU MUST KNOW TO PASS THIS MODULE, ";C$;"."
655 PRINT "FIRST I WILL DISPLAY A TERM. TRYTO THINK OF ITS DEFINITION. HITC AND THE DEFINITION APPEARS."
666 PRINT "HIT C AGAIN TO GO TO THE NEXT TERM. AFTER REVIEWING THEM ALL,I WILL REPEAT THE REVIEW WITH THE DEFINITIONS BEING SHOWN 1ST."
667 PRINT "HIT E TO EXIT AT ANY TIME. HIT C TO START THE REVIEW."
668 GOSUB E1
670 FOR A=SGN PI TO T
675 PRINT E$(A)
680 PRINT AT F,NOT PI;"HIT C FOR DEFINITION."
681 GOSUB E4
682 LET A$=F$(A)
683 PRINT AT F,NOT PI;
684 GOSUB E5
685 GOSUB E
690 NEXT A
695 FOR A=SGN PI TO T
700 LET A$=F$(A)
702 GOSUB E5
705 PRINT AT F,NOT PI;"KEY TERM? HIT C."
707 GOSUB E4
708 PRINT AT F,NOT PI;E$(A)
710 GOSUB E
715 NEXT A
720 GOTO VAL "1310"
1150 PRINT TAB VAL "9";"[K][E][Y]█[T][E][R][M][S]█[T][E][S][T]"
1152 PRINT "THIS TEST WILL SHOW WHETHER YOU HAVE MASTERED THE KEY TERMS IN THE LESSON, ";C$;"."
1153 PRINT "THE TEST IS DIVIDED INTO TWO SECTIONS. THE FIRST WILL DISPLAYA TERM AND 4 DEFINITIONS. YOU HAVE TO SELECT THE CORRECT DEF- INITION. THE SECOND PART OF THE TEST DISPLAYS A DEFINITION AND REQUIRES THAT YOU TO TYPE IN THECORRECT TERM(CORRECTLY SPELLED)."
1154 PRINT " IF YOU MISS ONE, IT WILL BE ASKED LATER IN THE TEST. YOU HAVE TO MAKE A PERFECT SCORE TO PASS. PRESS ENTER TO START."
1156 GOSUB E1
1157 LET N1=NOT PI
1158 LET H$=""
1160 FOR A=SGN PI TO T
1161 IF H$(A)="X" THEN GOTO 1225
1163 LET D=INT (RND*VAL "4")+SGN PI
1165 PRINT "THE TERM IS ";E$(A)
1168 LET G$=""
1170 FOR B=SGN PI TO VAL "4"
1171 LET N=INT (RND*T)+SGN PI
1172 IF N=A THEN GOTO VAL "1171"
1174 LET G$(B)=CHR$ N
1176 FOR C=SGN PI TO B-SGN PI
1177 IF G$(B)=G$(C) THEN GOTO VAL "1171"
1178 NEXT C
1180 NEXT B
1181 LET G$(D)=CHR$ A
1183 FOR B=SGN PI TO VAL "4"
1185 LET A$=STR$ (B)+". "+F$(CODE G$(B))
1186 GOSUB E5
1190 NEXT B
1194 PRINT
1195 PRINT "WHICH DEFINITION IS CORRECT?"
1200 GOSUB E4
1205 PRINT AT T,NOT PI;
1210 IF CODE A$-28=D THEN GOTO VAL "1220"
1215 LET N1=PI
1218 PRINT "SORRY, BUT THE ANSWER IS ";D;"."
1219 GOTO VAL "1222"
1220 PRINT "YOUR ANSWER IS CORRECT."
1221 LET H$(A)="X"
1222 GOSUB E
1225 NEXT A
1230 IF H$<>"XXXXXXXXXXXXX" THEN GOTO VAL "1160"
1232 LET H$=""
1235 FOR A=SGN PI TO T
1236 IF H$(A)="X" THEN GOTO VAL "1265"
1237 PRINT D$
1238 LET A$=F$(A)
1240 GOSUB E5
1241 PRINT
1242 PRINT "PLEASE TYPE IN THE TERM."
1243 INPUT A$
1244 PRINT AT T,NOT PI;"YOUR ANSWER--";A$
1246 IF LEN A$=VAL "18" THEN GOTO VAL "1250"
1247 LET A$=A$+" "
1248 GOTO VAL "1246"
1250 IF A$=E$(A) THEN GOTO VAL "1255"
1251 LET N1=PI
1252 PRINT "SORRY, THE CORRECT ANSWER IS"
1253 PRINT E$(A)
1254 GOTO VAL "1260"
1255 LET H$(A)="X"
1257 PRINT "YOU ARE CORRECT."
1260 GOSUB E
1265 NEXT A
1270 IF H$<>"XXXXXXXXXXXXX" THEN GOTO VAL "1235"
1272 IF N1 THEN GOTO VAL "1300"
1275 PRINT "[-][-][-][-][-][-][-][-][-][C][O][N][G][R][A][T][U][L][A][T][I][O][N][S][-][-][-][-][-][-][-][-]"
1278 PRINT
1279 PRINT
1280 PRINT "THROUGH A LOT OF HARD WORK, YOU HAVE MADE A PERFECT TEST SCORE."
1282 PRINT "YOU HAVE MASTERED MODULE ONE, AND ARE READY TO MOVE ON TO [M][O][D][U][L][E]█[T][W][O][-][T][H][E]█[P][E][R][I][O][D][I][C]█[T][A][B][L][E]."
1283 PRINT
1284 PRINT "I▘M VERY PROUD OF YOU, "
1285 PRINT C$;"."
1286 PRINT
1287 PRINT "---SEE YOU IN MODULE TWO"
1290 PRINT AT VAL "20",VAL "8";"END OF MODULE ONE"
1295 STOP
1300 PRINT "YOU DID VERY WELL, ";C$;","
1305 PRINT "BUT YOU DID NOT MAKE A PERFECT SCORE AND SO DID NOT PASS."
1310 PRINT AT T,NOT PI;"PRESS E TO RETURN TO MENU."
1314 GOSUB E1
1650 PRINT TAB VAL "10";"[Q][U][I][C][K][I][E]█[Q][U][I][Z]"
1660 PRINT "A KEY TERM AND ITS ?DEFINITION? WILL APPEAR ON THE SCREEN. IF THE DEFINITION IS THE RIGHT ONE,HIT T FOR TRUE. IF IT IS THE"
1662 PRINT "WRONG DEFINITION HIT F FOR FALSEANSWER AS MANY AS YOU CAN BEFOREYOU RUN OUT OF TIME--THE QUIZ STOPS AFTER 60 SECONDS. YOU"
1664 PRINT "WILL GET 1 POINT FOR EACH COR- RECT RESPONSE BUT LOSE 1 POINT FOR EACH INCORRECT RESPONSE."
1670 PRINT "HIT ENTER TO START, ";C$;"."
1680 GOSUB E1
1685 LET N=NOT PI
1688 POKE VAL "16437",NOT PI
1690 POKE VAL "16436",NOT PI
1700 LET A=INT (RND*T)+SGN PI
1710 LET B=INT (RND*T)+SGN PI
1720 IF RND>VAL ".5" THEN LET B=A
1730 PRINT AT NOT PI,NOT PI;E$(A)
1740 LET A$=F$(B)
1742 GOSUB E5
1745 PRINT "T-TRUE F-FALSE E-EXIT"
1750 GOSUB E4
1755 CLS
1760 IF A$="T" AND A=B OR A$="F" AND A<>B THEN LET N=N+SGN PI
1770 IF A$="T" AND A<>B OR A$="F" AND A=B THEN LET N=N-SGN PI
1780 IF PEEK (VAL "16436")+VAL "256"*PEEK (VAL "16437")>VAL "61936" THEN GOTO VAL "1700"
1790 CLS
1800 PRINT "THE 60 SECONDS ARE UP, AND YOUR SCORE IS ";N;", ";C$;"."
1810 GOTO VAL "1310"
3000 PRINT "I AM SORRY THAT YOU HAVE TO LEAVE THE PROGRAM NOW."
3005 PRINT "I HOPE YOU HAVE LEARNED SOME USEFUL INFORMATION AND HAD SOME FUN TOO."
3010 PRINT "COME BACK WHEN YOU WANT TO FINISH THE MODULE, ";C$;"."
3030 PRINT AT VAL "19",NOT PI;"IF YOU DID NOT WANT TO EXIT THE MODULE, PRESS R TO RESTART."
3040 GOSUB E1
3050 GOTO VAL "100"
9000 SAVE "CHEM[1]"
9500 SLOW
9999 GOTO VAL "100"
1 REM [R][E][V][I][S][I][O][N]█[2][.][1][4][.][8][3]
13 FOR B=SGN PI TO S
14 IF INKEY$ ="E" THEN GOTO M1
15 NEXT B
16 RETURN
22 PRINT " 1 -GROUPS- 8"
23 PRINT " A2 34567A"
24 PRINT "P 1[*]A AAAAA[*]"
25 PRINT "E 2[*][*]3456788812[*][*][*][*][*][*]"
26 PRINT "R 3[*][*]BBBBBBBBBB[*][*][*][*][*][*]"
27 PRINT "I 4[*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*]"
28 PRINT "O 5[*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*]"
29 PRINT "D 6[*][*]>[*][*][*][*][*][*][*][*][*][*][*][*][*][*][*]"
30 PRINT "S 7[*][*]>"
31 PRINT
32 PRINT ">[*][*][*][*][*][*][*][*][*][*][*][*][*][*][*]"
33 PRINT ">[*][*][*][*][*][*][*][*][*][*][*][*][*][*][*]"
34 RETURN
42 LET A$=INKEY$
43 IF A$="" THEN GOTO E4
46 IF A$="E" AND NOT F1 THEN GOTO M
47 IF A$="E" AND F1 THEN GOTO M1
48 RETURN
50 PRINT AT VAL "20",NOT PI;"WHEN YOU ARE READY, ";C$;","
51 PRINT "HIT C TO CONTINUE OR E TO EXIT."
52 LET A$=INKEY$
53 IF A$="" THEN GOTO E1
55 CLS
56 IF A$="E" AND NOT F1 THEN GOTO M
57 IF A$="E" AND F1 THEN GOTO M1
58 RETURN
90 LET P=INT (CODE P$(A)/VAL "21")
91 PRINT AT P,CODE P$(A)-P*VAL "21";"▒"
92 RETURN
93 PRINT AT P,CODE P$(A)-P*VAL "21";"[*]"
94 RETURN
100 PRINT TAB T;"[I][N][T][R][O][D][U][C][T][I][O][N]█[T][O]█[C][H][E][M][I][S][T][R][Y]";TAB VAL "10";"[M][O][D][U][L][E]█[T][H][R][E][E][:]";TAB VAL "10";"[G][O][I][N][G]█[F][U][R][T][H][E][R]"
101 RAND
102 PRINT "********************************"
104 PRINT
106 PRINT "HELLO THERE---"
108 PRINT "PLEASE TYPE IN YOUR FIRST NAME."
110 INPUT C$
115 PRINT AT VAL "5",NOT PI;C$;", YOU HAVE COMPLETED"
117 PRINT "MODULES ONE AND TWO. THIS MODULE, [G][O][I][N][G]█[F][U][R][T][H][E][R], IS DE- SIGNED TO ASSIST YOU WHEN YOU TAKE A CLASS IN CHEMISTRY. HIT M FOR THE MENU."
120 GOSUB E1
130 LET F1=NOT PI
131 CLS
132 PRINT C$;", HERE IS MY MENU-"
133 PRINT
134 PRINT "1. [M][O][L][E][C][U][L][A][R]█[W][E][I][G][H][T]█[C][A][L][C][U][L][A][T][O][R]";TAB VAL "3";"*TYPE IN THE FORMULA OF A";TAB F;"COMPOUND AND THE MOLECULAR";TAB F;"WEIGHT WILL BE CALCULATED."
136 PRINT "2. [L][E][A][R][N][I][N][G]█[T][H][E]█[S][Y][M][B][O][L][S]";TAB VAL "3";"*3 ACTIVITIES TO HELP YOU";TAB F;"LEARN THE SYMBOLS OF THE";TAB F;"CHEMICAL ELEMENTS."
140 PRINT "3. [D][I][C][T][I][O][N][A][R][Y]";TAB VAL "3";"*GIVES ""VITAL STATISTICS""";TAB F;"ON ANY ELEMENT."
142 PRINT "4. [E][X][I][T]█[T][H][E]█[P][R][O][G][R][A][M]";TAB VAL "3";"*ENDS THE PROGRAM IF YOU ARE";TAB F;"FINISHED WITH IT."
144 PRINT
145 PRINT "TYPE IN THE NUMBER OF"
146 PRINT "YOUR CHOICE, ";C$;"."
150 GOSUB E1
151 LET N=VAL A$
153 IF A$="2" THEN GOTO VAL "1600"
155 IF A$="3" THEN GOTO VAL "5501"
157 IF A$="4" THEN GOTO VAL "3000"
1000 PRINT TAB VAL "2";"[M][O][L][E][C][U][L][A][R]█[W][E][I][G][H][T]█[C][A][L][C][U][L][A][T][O][R]"
1002 PRINT
1003 PRINT "A CHEMISTRY STUDENT MUST BE ABLETO CALCULATE MOLECULAR WEIGHT TO SOLVE MANY PROBLEMS."
1004 PRINT "REMEMBER THAT THE MOLECULAR WEIGHT OF A COMPOUND IS DETER- MINED BY TAKING THE SUM OF THE INDIVIDUAL ATOMIC WEIGHTS."
1006 PRINT "I CAN CALCULATE MOLECULAR WEIGHTIF YOU TYPE IN THE CHEMICAL FOR-MULA IN THE WAY SHOWN BELOW--"
1007 PRINT
1008 PRINT "FE2 ( S O4 )3"
1010 PRINT "PUT A SPACE BETWEEN ALL ELEMENTSAND BRACKETS. NUMBERS SHOULD FOLLOW AN ELEMENT OR BRACKET WITHOUT A SPACE."
1039 GOSUB E
1040 PRINT "TYPE IN YOUR FORMULA IN THE SAMEMANNER AS THE SAMPLE BELOW--"
1042 PRINT "FE2 ( S O4 )3"
1050 INPUT A$
1051 FAST
1053 LET W=NOT PI
1054 LET S=W
1060 LET P=SGN PI
1070 IF P<=LEN A$ THEN GOTO VAL "1080"
1072 LET W=W+S
1074 GOTO VAL "1500"
1080 IF A$(P)<>"(" THEN GOTO VAL "1090"
1082 LET W=W+S
1084 LET S=NOT PI
1086 LET P=P+VAL "2"
1088 GOTO VAL "1070"
1090 IF A$(P)<>")" THEN GOTO VAL "1110"
1091 LET P=P+SGN PI
1092 LET N=SGN PI
1095 GOSUB VAL "1400"
1096 LET W=W+N*S
1098 LET S=NOT PI
1100 LET P=P+VAL "2"
1102 GOTO VAL "1070"
1110 IF P>LEN A$ THEN GOTO VAL "900"
1120 LET X$=A$(P)
1125 IF P+SGN PI>LEN A$ THEN GOTO VAL "1140"
1130 IF CODE A$(P+SGN PI)<=VAL "37" THEN GOTO VAL "1140"
1132 LET P=P+SGN PI
1134 LET X$=X$+A$(P)
1136 GOTO VAL "1150"
1140 LET X$=X$+" "
1150 FOR A=SGN PI TO VAL "92"
1160 IF S$(A)=X$ THEN GOTO VAL "1200"
1170 NEXT A
1180 GOTO VAL "1300"
1200 LET P=P+SGN PI
1202 IF P>LEN A$ THEN GOTO VAL "1206"
1205 IF CODE A$(P)>VAL "28" THEN GOTO VAL "1210"
1206 LET N=SGN PI
1207 LET P=P+SGN PI
1208 GOTO VAL "1250"
1210 GOSUB VAL "1400"
1220 LET P=P+VAL "2"
1250 LET S=S+N*M(A)
1260 GOTO VAL "1070"
1300 CLS
1305 PRINT "SORRY, ";C$;", BUT"
1310 PRINT "THE FORMULA ";A$
1312 PRINT "DOES NOT MAKE ANY SENSE TO ME. DID YOU MAKE ANY ERRORS??"
1320 GOTO VAL "1550"
1400 LET R=P
1405 IF R>LEN A$ THEN GOTO VAL "1440"
1410 IF CODE (A$(R))>VAL "37" OR (CODE A$(R))<VAL "28" THEN GOTO VAL "1450"
1420 LET R=R+SGN PI
1430 GOTO VAL "1405"
1450 LET N=SGN PI
1452 IF A$(P TO R-SGN PI)="" THEN GOTO VAL "1460"
1455 LET N=VAL A$(P TO R-SGN PI)
1460 LET P=R-1
1470 RETURN
1500 CLS
1510 PRINT "FORMULA=";A$
1520 PRINT AT SGN PI,NOT PI;"MOLECULAR WEIGHT=";W
1550 SLOW
1555 PRINT AT VAL "12",NOT PI;"HIT C TO CALCULATE ANOTHER WEIGHT OR I FOR THE INSTRUCTIONSOR E TO EXIT, ";C$;"."
1560 GOSUB E1
1565 CLS
1570 IF A$="I" THEN GOTO VAL "1000"
1580 GOTO VAL "1040"
1650 PRINT "[L][E][A][R][N][I][N][G]█[T][H][E]█[S][Y][M][B][O][L][S]█[S][U][B][M][E][N][U][-][-]"
1655 LET F1=PI
1660 PRINT
1670 PRINT "AS YOU KNOW, ";C$;","
1680 PRINT "CHEMISTS OFTEN USE ONE TO TWO LETTER SYMBOLS TO STAND FOR THE ELEMENTS IN THE PERIODIC TABLE."
1681 PRINT "OBVIOUSLY, A CHEMISTRY STUDENT SHOULD BE ABLE TO ASSOCIATE AN ELEMENT WITH ITS SYMBOL."
1682 PRINT
1683 PRINT "I HAVE 3 ACTIVITIES DESIGNED TO HELP YOU LEARN THE SYMBOLS OF THE ELEMENTS."
1684 PRINT
1685 PRINT "I CANNOT SHOW IT, BUT REMEMBER THAT THE 2ND LETTER OF A SYMBOL IS LOWERCASE, ";C$;"."
1686 GOSUB E
1688 PRINT "NOW, WE CAN WORK WITH ALL 103 ELEMENTS OR ONLY 38 COMMONLY USED ONES. HIT A TO WORK WITH ALL 103--HIT C TO WORK WITH 38."
1690 GOSUB E1
1694 LET Y=NOT PI
1695 IF A$="C" THEN LET Y=PI
1700 CLS
1701 PRINT "[L][E][A][R][N][I][N][G]█[T][H][E]█[S][Y][M][B][O][L][S]█[S][U][B][M][E][N][U][-][-]"
1702 PRINT AT F,NOT PI;"1. [S][Y][M][B][O][L][S]█[R][E][V][I][E][W]";TAB F;"*REVIEWS OVER THE SYMBOLS AS";TAB F;" A MEMORIZATION AID."
1703 PRINT "2. [P][R][A][C][T][I][C][E]█[D][R][I][L][L]";TAB F;"*TESTS YOUR KNOWLEDGE OF THE";TAB F;" SYMBOLS AND ELEMENTS."
1704 PRINT "3. [Q][U][I][C][K][I][E]█[Q][U][I][Z]";TAB F;"*60 SEC. TO GIVE ME ALL THE";TAB F;" CORRECT SYMBOLS YOU CAN."
1706 PRINT "4. [M][A][S][T][E][R]█[M][E][N][U]";TAB F;"*RETURNS YOU TO THE MAIN";TAB F;" MENU OF THE PROGRAM."
1708 PRINT
1709 LET N=VAL "103"
1710 PRINT "TYPE IN THE NUMBER OF"
1712 PRINT "YOUR CHOICE, ";C$;"."
1714 GOSUB E1
1716 GOTO VAL "3500"+VAL A$*VAL "500"
3000 PRINT "I HOPE I HAVE BEEN ABLE TO HELP YOU A LITTLE, ";C$;"."
3010 PRINT "COME BACK WHEN YOU NEED TO USE ME AGAIN."
3015 PRINT AT VAL "7",NOT PI;"**HAVE FUN WITH YOUR LEARNING**"
3030 PRINT AT VAL "19",NOT PI;"IF YOU DID NOT WANT TO EXIT THE MODULE, PRESS R TO RESTART."
3040 GOSUB E1
3050 GOTO VAL "100"
4000 PRINT TAB VAL "9";"[S][Y][M][B][O][L][S]█[R][E][V][I][E][W]"
4002 PRINT "I WILL GO THROUGH THE ELEMENTS ONE AT A TIME. I WILL DISPLAY THE ELEMENT AND ITS POSITION ON"
4004 PRINT "THE TABLE, THENPAUSE, THENDIS-PLAY ITS SYMBOL. AFTER I FINISHI WILL SWITCH TO SHOWING THE"
4006 PRINT "SYMBOL FIRST. TYPE IN A SPEED NUMBER FROM 1 TO 9--1 BEING A VERY FAST REVIEW TO 9 BEING A VERY SLOW REVIEW."
4010 GOSUB E1
4015 LET S=VAL A$*VAL "2"
4020 GOSUB E3
4022 PRINT AT VAL "21",NOT PI;"HOLD DOWN E TO EXIT."
4025 FOR A=SGN PI TO N
4030 IF Y AND CODE Q$(A) THEN GOTO VAL "4060"
4040 GOSUB VAL "90"
4042 PRINT AT N1,NOT PI;E$(A);" ";
4045 GOSUB E2
4050 PRINT S$(A)
4055 GOSUB E2
4058 GOSUB VAL "93"
4059 PRINT AT N1,NOT PI;B$
4060 NEXT A
4065 FOR A=SGN PI TO N
4070 IF Y AND CODE Q$(A) THEN GOTO VAL "4100"
4075 GOSUB VAL "90"
4080 PRINT AT N1,NOT PI;S$(A);" ";
4085 GOSUB E2
4090 PRINT E$(A)
4095 GOSUB E2
4098 GOSUB VAL "93"
4099 PRINT AT N1,NOT PI;B$
4100 NEXT A
4110 GOTO VAL "4025"
4500 PRINT TAB VAL "9";"[P][R][A][C][T][I][C][E]█[D][R][I][L][L]"
4503 PRINT "IN THIS DRILL, ";C$;","
4505 PRINT "I WILL EITHER--"
4506 PRINT "(1) DISPLAY A SYMBOL AND ASK YOU TO TYPE IN THE ELEMENT."
4507 PRINT "-OR-"
4508 PRINT "(2) DISPLAY AN ELEMENT AND ASK YOU TO TYPE IN ITS SYMBOL."
4509 PRINT
4510 PRINT "HIT 1 OR 2, ";C$;","
4511 PRINT "DEPENDING ON WHICH TYPE OF QUES-TIONS YOU WISH TO WORK WITH."
4515 GOSUB E1
4517 LET S=VAL A$
4520 PRINT "I WILL GIVE YOU RANDOMLY PICKED"
4521 IF S=1 THEN PRINT "SYMBOLS";
4522 IF S=2 THEN PRINT "ELEMENTS";
4525 PRINT " TO ANSWER. ONCE YOU"
4526 PRINT "HAVE CORRECTLY ANSWERED A SYMBOL/ELEMENT PAIR I WILL NOT ASK IT AGAIN. THE DRILL ENDS WHEN YOU HAVE CORRECTLY ANSWERED ALL ";
4527 IF NOT Y THEN PRINT N
4528 IF Y THEN PRINT "38"
4530 PRINT "SYMBOL/ELEMENT PAIRS. IF YOU WISH TO EXIT THE DRILL AT ANY TIME, TYPE E. HIT C TO START."
4535 GOSUB E1
4545 DIM R$(N)
4550 IF Y THEN LET R$=Q$
4590 IF S<>SGN PI THEN GOTO VAL "4800"
4603 LET A=INT (RND*N)+SGN PI
4604 IF CODE R$(A) THEN GOTO VAL "4603"
4609 PRINT "THE SYMBOL---";S$(A)
4610 PRINT AT F,NOT PI;"TYPE IN THE ELEMENT."
4613 INPUT A$
4615 PRINT AT VAL "6",NOT PI;"YOUR ANSWER---";A$
4620 IF LEN A$=VAL "12" THEN GOTO VAL "4625"
4622 LET A$=A$+" "
4623 GOTO VAL "4620"
4625 PRINT AT VAL "8",NOT PI;
4630 IF A$=E$(A) THEN GOTO VAL "4640"
4632 PRINT "SORRY, BUT ";E$(A)
4634 PRINT "IS THE CORRECT ANSWER."
4636 GOTO VAL "4650"
4640 PRINT "YOU ARE ABSOLUTELY CORRECT."
4644 LET R$(A)="X"
4652 GOSUB E
4654 IF R$=O$ THEN GOTO VAL "4950"
4656 GOTO VAL "4600"
4803 LET A=INT (RND*N)+SGN PI
4804 IF CODE R$(A) THEN GOTO VAL "4803"
4809 PRINT "THE ELEMENT---";E$(A)
4810 PRINT AT F,NOT PI;"TYPE IN THE SYMBOL."
4813 INPUT A$
4815 PRINT AT VAL "6",NOT PI;"YOUR ANSWER---";A$
4820 IF LEN A$=SGN PI THEN LET A$=A$+" "
4825 PRINT AT VAL "8",NOT PI;
4830 IF A$=S$(A) THEN GOTO VAL "4840"
4832 PRINT "SORRY, BUT ";S$(A)
4834 PRINT "IS THE CORRECT ANSWER."
4836 GOTO VAL "4850"
4840 PRINT "YOU ARE ABSOLUTELY CORRECT."
4844 LET R$(A)="X"
4850 GOSUB E
4854 IF R$<>O$ THEN GOTO VAL "4800"
4950 PRINT "CONGRATULATIONS--"
4955 PRINT
4956 PRINT "YOU HAVE MATCHED UP ALL THE"
4960 PRINT "PAIRS CORRECTLY, ";C$;"."
4965 PRINT "HIT E TO RETURNTO MENU."
4970 GOSUB E1
5000 PRINT TAB VAL "10";"[Q][U][I][C][K][I][E]█[Q][U][I][Z]"
5003 PRINT "I WILL RANDOMLY PICK AN ELEMENT-YOU MUST TYPE IN ITS SYMBOL. I WILL GIVE YOU 1 POINT FOR EACH CORRECT ANSWER AND DEDUCT 1 FOR "
5005 PRINT "EACH INCORRECT. ONLY HITTING ENTER WILL NOT AFFECT YOUR SCOREAFTER 60 SECONDS, THE QUIZ STOPSAND I WILL DISPLAY YOUR SCORE."
5007 PRINT "HIT C TO START, ";C$;"."
5010 GOSUB E1
5012 POKE VAL "16437",NOT PI
5014 POKE VAL "16436",NOT PI
5018 LET B=NOT PI
5020 LET A=INT (RND*N)+SGN PI
5023 IF CODE Q$(A) THEN GOTO VAL "5020"
5025 PRINT AT F,NOT PI;"ELEMENT-";E$(A)
5030 PRINT
5035 PRINT "WHAT▘S THE SYMBOL??(E TO EXIT)"
5040 INPUT A$
5041 CLS
5042 IF A$="" THEN GOTO VAL "5100"
5043 IF A$="E" THEN GOTO M1
5045 IF LEN A$=SGN PI THEN LET A$=A$+" "
5050 IF A$=S$(A) THEN LET B=B+VAL "2"
5055 LET B=B-SGN PI
5100 IF PEEK (VAL "16436")+VAL "256"*PEEK (VAL "16437")>VAL "61936" THEN GOTO VAL "5020"
5120 PRINT AT F,NOT PI;"TIME IS UP---"
5130 PRINT " AND YOUR SCORE IS ";B;"."
5140 PRINT "A GOOD SCORE, ";C$;"."
5150 PRINT
5160 PRINT "HIT E FOR THE MENU."
5190 GOSUB E1
5200 GOTO M1
5500 GOTO M
5502 PRINT TAB VAL "11";"[D][I][C][T][I][O][N][A][R][Y]"
5503 PRINT
5504 LET N=VAL "103"
5505 PRINT "GIVE ME AN ELEMENT▘S---"
5506 PRINT
5507 PRINT TAB F;"ATOMIC NUMBER";TAB F;" OR SYMBOL";TAB F;" OR NAME"
5508 PRINT
5510 PRINT "--- AND I WILL DISPLAY THE ELEMENT▘S NAME, SYMBOL, ATOMIC NUMBER, ATOMIC WEIGHT, AND POSITION ON THE PERIODIC TABLE."
5515 PRINT "(I DO NOT HAVE ATOMIC WEIGHT FOR THE MANMADE ELEMENTS ABOVE 92)"
5517 PRINT
5520 PRINT "TYPE IN THE NAME, SYMBOL, ATOMICNUMBER, OR E TO EXIT, ";C$;"."
5530 INPUT A$
5535 CLS
5540 IF A$="E" THEN GOTO M
5541 FAST
5545 IF CODE A$<VAL "38" THEN GOTO VAL "5690"
5550 IF LEN A$>VAL "2" THEN GOTO VAL "5600"
5553 IF LEN A$=SGN PI THEN LET A$=A$+" "
5555 FOR A=SGN PI TO N
5560 IF A$=S$(A) THEN GOTO VAL "5700"
5565 NEXT A
5570 GOTO VAL "5800"
5600 IF LEN A$=VAL "12" THEN GOTO VAL "5620"
5605 LET A$=A$+" "
5610 GOTO VAL "5600"
5620 FOR A=SGN PI TO N
5625 IF A$=E$(A) THEN GOTO VAL "5700"
5630 NEXT A
5640 GOTO VAL "5800"
5690 LET A=VAL A$
5695 IF A>103 OR A<1 THEN GOTO VAL "5800"
5705 GOSUB E3
5710 GOSUB VAL "90"
5720 PRINT AT N1,NOT PI;"ATOMIC NO.--",A,"SYMBOL--",S$(A),"ELEMENT--",E$(A)
5725 IF A<VAL "93" THEN PRINT "ATOMIC WEIGHT--",M(A)
5730 PRINT
5735 SLOW
5750 GOTO VAL "5520"
5800 SLOW
5801 PRINT "SORRY, BUT I COULD NOT FIND ANY-THING FOR THAT, ";C$;"."
5805 PRINT AT F,NOT PI;
5810 GOTO VAL "5520"
9000 SAVE "CHEM[3]"
9100 SLOW
9200 GOTO VAL "100"
1 REM [R][E][V][I][S][I][O][N]█[2][.][1][7][.][8][3]
2 FOR V=K1 TO LEN A$ STEP K1
3 FOR U=NOT PI TO K1
4 IF A$(V-U)=" " THEN GOTO VAL "6"
5 NEXT U
6 PRINT A$((V-VAL "31") TO (V-U))
7 LET V=V-U
8 IF (V+K1)>LEN A$ THEN GOTO VAL "10"
9 NEXT V
10 IF CODE A$((V+SGN PI) TO ) THEN PRINT A$((V+SGN PI) TO )
11 RETURN
22 PRINT " 1 -GROUPS- 8"
23 PRINT " A2 34567A"
24 PRINT "P 1[*]A AAAAA[*]"
25 PRINT "E 2[*][*]3456788812[*][*][*][*][*][*]"
26 PRINT "R 3[*][*]BBBBBBBBBB[*][*][*][*][*][*]"
27 PRINT "I 4[*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*]"
28 PRINT "O 5[*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*]"
29 PRINT "D 6[*][*]>[*][*][*][*][*][*][*][*][*][*][*][*][*][*][*]"
30 PRINT "S 7[*][*]>"
31 PRINT
32 PRINT ">[*][*][*][*][*][*][*][*][*][*][*][*][*][*][*]"
33 PRINT ">[*][*][*][*][*][*][*][*][*][*][*][*][*][*][*]"
34 RETURN
42 LET A$=INKEY$
43 IF A$="" THEN GOTO E4
46 IF A$="E" THEN GOTO M
48 RETURN
50 PRINT AT VAL "20",NOT PI;"WHEN YOU ARE READY, ";C$;","
51 PRINT "HIT C TO CONTINUE OR E TO EXIT."
52 LET A$=INKEY$
53 IF A$="" THEN GOTO E1
55 CLS
56 IF A$="E" THEN GOTO M
58 RETURN
90 LET P=INT (CODE P$(A)/VAL "21")
91 PRINT AT P,CODE P$(A)-P*VAL "21";"▒"
92 RETURN
93 PRINT AT P,CODE P$(A)-P*VAL "21";"[*]"
94 RETURN
100 PRINT TAB VAL "4";"[I][N][T][R][O][D][U][C][T][I][O][N]█[T][O]█[C][H][E][M][I][S][T][R][Y]";TAB VAL "11";"[M][O][D][U][L][E]█[T][W][O][:]";TAB VAL "7";"[T][H][E]█[P][E][R][I][O][D][I][C]█[T][A][B][L][E]"
101 RAND
102 PRINT "********************************"
104 PRINT
106 PRINT "HELLO THERE---"
108 PRINT "PLEASE TYPE IN YOUR FIRST NAME."
110 INPUT C$
112 CLS
115 PRINT "SO WE MEET AGAIN, ";C$;"."
116 PRINT
117 PRINT "MODULE 2 IS SET UP THE SAME WAY AS MODULE 1, WITH A SELF-PACED LESSON AND A MENU OF ACTIVITIES."
118 PRINT "IF THIS IS YOUR FIRST TIME WITH MODULE 2, HIT L FOR THE LESSON. OTHERWISE HIT E FOR THE MENU."
120 GOSUB E1
125 GOTO VAL "150"
131 CLS
132 PRINT C$;", HERE IS MY MENU--"
133 PRINT "1. [L][E][S][S][O][N][-][-][T][H][E]█[P][E][R][I][O][D][I][C]█[T][A][B][L][E]";TAB F;"*REPEATS THE LESSON IF YOU";TAB F;" NEED TO REVIEW IT."
134 PRINT "2. [K][E][Y]█[T][E][R][M][S]█[R][E][V][I][E][W]";TAB F;"*REVIEWS THE DEFINITIONS OF";TAB F;" KEY TERMS IN THE LESSON."
135 PRINT "3. [K][E][Y]█[T][E][R][M][S]█[T][E][S][T]";TAB F;"*TESTS YOUR KNOWLEDGE OF THE";TAB F;" KEY TERMS YOU NEED TO KNOW";TAB F;" TO COMPLETE THE COURSE."
136 PRINT "4. [Q][U][I][C][K][I][E]█[Q][U][I][Z]";TAB F;"*60 SEC. TO ANSWER ALL THE";TAB F;" T/F QUESTIONS YOU CAN."
138 PRINT "5. [E][X][I][T]█[T][H][E]█[P][R][O][G][R][A][M]";TAB F;"*ENDS THE PROGRAM IF YOU";TAB F;" HAVE TO LEAVE."
142 PRINT
143 PRINT "TYPE IN THE NUMBER OF"
144 PRINT "YOUR CHOICE, ";C$;"."
145 GOSUB E1
148 GOTO VAL "150"+(VAL A$-SGN PI)*VAL "500"
150 PRINT TAB VAL "3";"[L][E][S][S][O][N][:]█[T][H][E]█[P][E][R][I][O][D][I][C]█[T][A][B][L][E]"
152 PRINT
155 PRINT "WHAT IS THE [P][E][R][I][O][D][I][C] [T][A][B][L][E]??"
156 PRINT D$
158 LET A$="THE [P][E][R][I][O][D][I][C]█[T][A][B][L][E] IS "+G$(SGN PI)
159 GOSUB E5
160 PRINT
161 PRINT "IN THE PAST CENTURY, CHEMISTS HAVE REALIZED THAT IF THEY WOULDARRANGE ALL THE ELEMENTS IN A PARTICULAR WAY, REMARKABLE SIMI-LARITIES SHOWED UP. WE KNOW"
162 PRINT "THEIR WORK TODAY AS THE PERIODICTABLE. WE WILL SEE HOW THEIR TABLE IS SET UP AND WHY IT IS WORTH STUDYING ABOUT AT ALL."
165 GOSUB E
168 GOSUB E3
170 PRINT AT N1,NOT PI;"THIS IS THE PERIODIC TABLE. ALL103 ELEMENTS ARE REPRESENTED BY ""[*]"" ON THE TABLE. ELEMENTS OF"
171 PRINT "INCREASING ATOMIC NUMBER ARE READ LEFT TO RIGHT, THENDOWN, AS IN A CALENDAR."
172 GOSUB E
173 GOSUB E3
184 PRINT AT N1,NOT PI;"YOU WILL NOTICE THAT THERE ARE 7MAIN ROWS IN THE TABLE(THE TWO ROWS ON THE BOTTOM ARE ONLY EX- TENSIONS OF THE LAST 2 ROWS). WHY 7 ROWS, ";C$;"?"
185 PRINT "WHY NOT 11 OR 5 OR SOMETHING??"
188 GOSUB E
189 PRINT "TO UNDERSTAND THIS, HERE IS A NEW TERM--[E][N][E][R][G][Y]█[L][E][V][E][L][S]."
190 PRINT D$
191 LET A$="[E][N][E][R][G][Y]█[L][E][V][E][L][S] ARE "+G$(VAL "2")
192 GOSUB E5
193 PRINT
194 PRINT "ELECTRONS ORBIT AROUND THE ATOM IN 1 OF 7 REGIONS CALLED SHELLS OR ENERGY LEVELS. THE MORE ENERGY AN ELECTRON HAS, THE HIGHER THE ENERGY LEVEL AND THE FARTHER OUT FROM THE NUCLEUS IT WILL BE, ";C$;"."
195 GOSUB E
200 PRINT "NOT ALL ELEMENTS HAVE ELECTRONS ORBITING IN ALL 7 LEVELS, BUT ALL ELEMENTS WITH 4 LEVELS OF ELECTRONS ARE ON THE 4TH ROW"
201 PRINT "DOWN ON THE PERIODIC TABLE, AND ALL ATOMS HAVING 5 LEVELS ARE ONROW 5, AND SO ON. THE TERM FOR A ROW IS A [P][E][R][I][O][D]."
203 PRINT D$
206 LET A$="A [P][E][R][I][O][D] IS A "+G$(VAL "3")
207 GOSUB E5
208 PRINT
209 PRINT "KNOWING THAT THERE ARE 7 ENERGY LEVELS, DO YOU SEE WHY THERE ARE7 PERIODS, EACH WITH A DIFFERENTNUMBER OF OCCUPIED ENERGY LEVELS, ";C$;"?"
210 GOSUB E
211 PRINT "NEXT WE WILL DISCUSS [V][A][L][E][N][C][E] [E][L][E][C][T][R][O][N][S], ";C$;"."
212 PRINT D$
213 LET A$="[V][A][L][E][N][C][E]█[E][L][E][C][T][O][N][S] ARE "+G$(F)
214 GOSUB E5
215 PRINT AT VAL "7",NOT PI;"THE VALENCE ELECTRONS ARE THE PARTICLES OF AN ATOM THAT FORM CHEMICAL BONDS."
216 PRINT "VALENCE ELECTRONS ARE VERY IM- PORTANT TO THE CHEMIST BECAUSE THEY ARE A GOOD INDICATOR OF WHAT SUBSTANCES AN ELEMENT WILL COMBINE AND REACT WITH."
217 GOSUB E
218 PRINT "TO SEE HOW WE FIND VALENCE ELEC-TRONS, LET US LOOK AT THE VER- TICAL COLUMNS ON THE PERIODIC TABLE, CALLED THE [G][R][O][U][P][S]."
219 LET A$="A [G][R][O][U][P] IS A "+G$(VAL "5")
220 PRINT D$
221 GOSUB E5
222 PRINT
223 PRINT "LOOK WHAT WE CAN DO WITH THE PERIODIC TABLE NOW, ";C$;"."
224 PRINT "WE CAN SEE HOW MANY ENERGY LEVELS AN ELEMENT HAS BY ITS PERIOD, AND FIND ELEMENTS WITH SIMILAR PROPERTIES BY THE NUMBEROF VALENCE ELECTRONS IN THEIR VERTICAL GROUP."
225 GOSUB E
230 PRINT "HAVE YOU HEARD SUBSTANCES CALLED[M][E][T][A][L][S], [N][O][N][M][E][T][A][L][S], OR PERHAPS [M][E][T][A][L][L][O][I][D][S]? BUT WHAT DOES THAT MEAN, ";C$;"??"
231 PRINT "THESE ARE TECHNICAL DEFINITIONS-"
232 LET A$="[M][E][T][A][L][S] ARE "+G$(VAL "6")
233 GOSUB E5
234 LET A$="[N][O][N][M][E][T][A][L][S] ARE "+G$(VAL "7")
235 GOSUB E5
236 LET A$="[M][E][T][A][L][L][O][I][D][S] ARE "+G$(VAL "8")
237 GOSUB E5
238 PRINT
239 PRINT "BEING A GOOD CONDUCTOR MEANS A SUBSTANCE TRANSMITS(PASSES) HEATAND ELECTRICITY EASILY."
240 GOSUB E
241 GOSUB E3
242 PRINT AT N1,NOT PI;"YOU MAY HAVE THOUGHT THAT THOSE BOTTOM 2 ROWS LOOK OUT OF PLACE.THEY ARE UNUSUAL, FOR THEY CON- TAIN MOST OF THE RARER ELEMENTS."
243 GOSUB E
244 PRINT "WE CALL THESE BOTTOM 2 ROWS THE [R][A][R][E]█[E][A][R][T][H][S]."
245 PRINT D$
246 LET A$="[R][A][R][E]█[E][A][R][T][H][S] ARE "+G$(VAL "11")
247 GOSUB E5
248 PRINT AT VAL "7",NOT PI;"EACH ROW OF THE RARE EARTHS CON-TAIN ELEMENTS THAT ARE NEARLY IDENTICAL AND ARE UNCOMMON OR NONEXISTENT IN NATURE."
249 PRINT "THE UPPER OF THE TWO ROWS IS THE[L][A][N][T][H][A][N][I][D][E]█[S][E][R][I][E][S]-THE LOWER IS THE [A][C][T][I][N][I][D][E]█[S][E][R][I][E][S]."
250 GOSUB E
251 GOSUB E3
252 PRINT AT VAL "10",SGN PI;"***************<LANTHANIDE";TAB SGN PI;"***************<ACTINIDE"
260 PRINT AT VAL "13",NOT PI;"HERE ARE THE DEFINITIONS--"
263 LET A$="THE [L][A][N][T][H][A][N][I][D][E]█[S][E][R][I][E][S] IS THE "+G$(VAL "12")
265 GOSUB E5
266 LET A$="THE [A][C][T][I][N][I][D][E]█[S][E][R][I][E][S] IS THE "+G$(N1)
267 PRINT AT VAL "17",NOT PI;
268 GOSUB E5
269 GOSUB E
270 GOSUB E3
271 PRINT AT VAL "3",VAL "5";"TRANSITION";TAB VAL "5";"--METALS--";TAB VAL "5";"**********";TAB VAL "5";"**********";TAB VAL "5";">*********"
273 PRINT AT N1,NOT PI;"ELEMENTS THAT ARE IN ""B"" GROUPS ARE THE [T][R][A][N][S][I][T][I][O][N]█[M][E][T][A][L][S]."
275 LET A$="TRANSITION METALS ARE "+G$(VAL "9")
276 PRINT D$
277 GOSUB E5
279 GOSUB E
280 GOSUB E3
281 PRINT AT VAL "2",VAL "20";"*NOBLE";TAB VAL "20";"*GASES";TAB VAL "20";"*";TAB VAL "20";"*";TAB VAL "20";"*";TAB VAL "20";"*"
284 PRINT AT N1,NOT PI;"NOW WE COME TO THE [N][O][B][L][E]█[G][A][S][E][S], THE ONLY ELEMENTS WHICH NEVER FORM COMPOUNDS."
285 LET A$="[N][O][B][L][E]█[G][A][S][E][S] ARE "+G$(VAL "10")
286 PRINT D$
288 GOSUB E5
290 GOSUB E
298 PRINT "CONGRATULATIONS, ";C$;"."
299 PRINT "YOU HAVE FINISHED THE LESSON."
300 GOTO VAL "1310"
650 PRINT TAB VAL "8";"[K][E][Y]█[T][E][R][M][S]█[R][E][V][I][E][W]"
652 PRINT
655 PRINT "FIRST I WILL DISPLAY A TERM. TRYTO THINK OF ITS DEFINITION. HITC AND THE DEFINITION APPEARS."
666 PRINT "HIT C AGAIN TO GO TO THE NEXT TERM. AFTER REVIEWING THEM ALL,I WILL REPEAT THE REVIEW WITH THE DEFINITIONS BEING SHOWN 1ST."
667 PRINT "HIT E TO EXIT AT ANY TIME. HIT C TO START THE REVIEW."
668 GOSUB E1
670 FOR A=SGN PI TO N1
675 PRINT F$(A)
680 PRINT AT F,NOT PI;"HIT C FOR DEFINITION."
682 GOSUB E4
683 PRINT AT F-SGN PI,NOT PI
684 LET A$=G$(A)
685 GOSUB E5
687 GOSUB E
690 NEXT A
695 FOR A=SGN PI TO N1
700 LET A$=G$(A)
702 GOSUB E5
705 PRINT AT F,NOT PI;"KEY TERM? HIT C."
707 GOSUB E4
708 PRINT AT F,NOT PI;F$(A)
710 GOSUB E
715 NEXT A
720 GOTO VAL "1310"
1150 PRINT TAB VAL "9";"[K][E][Y]█[T][E][R][M][S]█[T][E][S][T]"
1153 PRINT "THE TEST IS DIVIDED INTO 2 SEC- TIONS. THE FIRST WILL DISPLAY ATERM AND 4 DEFINITIONS. YOU HAVE TO SELECT THE CORRECT DEFINITION. THE SECOND PART OF THE TEST DISPLAYS A DEFINITION AND REQUIRES YOU TO TYPE IN THE COR-RECT TERM(CORRECTLY SPELLED."
1154 PRINT "IF YOU MISS A QUESTION, IT WILL BE ASKED LATER IN THE TEST. YOUHAVE TO MAKE A PERFECT SCORE TO PASS. HIT C TO START, ";C$;"."
1155 GOSUB E1
1156 DIM H$(N1)
1157 LET F2=NOT PI
1160 FOR A=SGN PI TO N1
1161 IF H$(A)="X" THEN GOTO VAL "1225"
1163 LET D=INT (RND*F)+SGN PI
1165 PRINT "THE TERM IS ";F$(A)
1168 DIM T$(F)
1170 FOR B=SGN PI TO F
1171 LET T=INT (RND*N1)+SGN PI
1172 IF T=A THEN GOTO VAL "1171"
1174 LET T$(B)=CHR$ T
1176 FOR C=SGN PI TO B-SGN PI
1177 IF T$(B)=T$(C) THEN GOTO VAL "1171"
1178 NEXT C
1180 NEXT B
1181 LET T$(D)=CHR$ A
1183 FOR B=SGN PI TO F
1185 LET A$=STR$ (B)+". "+G$(CODE T$(B))
1186 GOSUB E5
1190 NEXT B
1192 PRINT
1195 PRINT "WHICH DEFINITION IS CORRECT??"
1200 GOSUB E4
1205 PRINT AT VAL "14",NOT PI;"YOUR ANSWER--";A$
1210 IF CODE A$-28=D THEN GOTO VAL "1220"
1215 LET F2=PI
1218 PRINT "SORRY, BUT THE ANSWER IS ";D;"."
1219 GOTO VAL "1222"
1220 PRINT "YOUR ANSWER IS CORRECT."
1221 LET H$(A)="X"
1222 GOSUB E
1225 NEXT A
1230 IF H$<>"XXXXXXXXXXXXX" THEN GOTO VAL "1160"
1232 DIM H$(N1)
1235 FOR A=SGN PI TO N1
1236 IF H$(A)="X" THEN GOTO VAL "1265"
1237 LET A$="THE DEFINITION IS--"+G$(A)
1238 GOSUB E5
1241 PRINT AT F,NOT PI;"PLEASE TYPE IN THE TERM."
1242 INPUT A$
1244 PRINT AT N1,NOT PI;"YOUR ANSWER--";A$
1245 IF LEN A$=VAL "17" THEN GOTO VAL "1250"
1246 LET A$=A$+" "
1247 GOTO VAL "1245"
1250 IF A$=F$(A) THEN GOTO VAL "1255"
1251 LET F2=PI
1252 PRINT "SORRY, BUT ";F$(A)
1253 PRINT "IS THE CORRECT ANSWER."
1254 GOTO VAL "1260"
1255 LET H$(A)="X"
1256 PRINT "YOU ARE CORRECT."
1260 GOSUB E
1265 NEXT A
1270 IF H$<>"XXXXXXXXXXXXX" THEN GOTO VAL "1235"
1272 IF F2 THEN GOTO VAL "1300"
1275 PRINT "[-][-][-][-][-][-][-][-][C][O][N][G][R][A][T][U][L][A][T][I][O][N][S][-][-][-][-][-][-][-][-][-]"
1280 PRINT AT F,NOT PI;"THROUGH A LOT OF HARD WORK, YOU HAVE MADE A PERFECT SCORE."
1285 PRINT
1290 PRINT "I HOPE THAT THE FIRST 2 MODULES HAVE HELPED YOU LEARN SOME BASICS OF CHEMISTRY."
1291 PRINT AT N1,NOT PI;"MODULE 3, [G][O][I][N][G]█[F][U][R][T][H][E][R], IS DE- SIGNED TO ASSIST YOU WHEN YOU TAKE A COURSE IN CHEMISTRY."
1292 PRINT AT VAL "21",NOT PI;"SEE YOU IN MODULE 3, ";C$;"."
1295 STOP
1300 PRINT "YOU DID VERY WELL, ";C$;","
1305 PRINT "BUT YOU DID NOT MAKE A PERFECT SCORE AND SO DID NOT PASS."
1310 PRINT AT VAL "14",NOT PI;"PRESS E TO RETURNTO MENU."
1314 GOSUB E1
1500 GOTO VAL "2000"
1650 PRINT TAB VAL "10";"[Q][U][I][C][K][I][E]█[Q][U][I][Z]"
1660 PRINT "A KEY TERM AND ITS ?DEFINITION? WILL APPEAR ON THE SCREEN. IF THE DEFINITION IS THE RIGHT ONE,HIT T FOR TRUE. IF IT IS THE"
1662 PRINT "WRONG DEFINITION THENHIT F FOR FALSE. ANSWER AS MANY AS YOU CAN BEFORE YOU RUN OUT OF TIME--"
1664 PRINT "THE QUIZ STOPS AFTER 60 SECONDS.YOU WILL GET 1 POINT FOR EACH CORRECT RESPONSE BUT LOSE 1 FOR EACH INCORRECT RESPONSE."
1666 PRINT "HIT C TO START, ";C$;"."
1680 GOSUB E1
1685 POKE VAL "16437",NOT PI
1690 POKE VAL "16436",NOT PI
1695 LET N=NOT PI
1700 LET A=INT (RND*N1)+SGN PI
1710 LET B=INT (RND*N1)+SGN PI
1720 IF RND>VAL ".5" THEN LET B=A
1730 PRINT F$(A)
1740 LET A$=G$(B)
1742 GOSUB E5
1750 GOSUB E4
1755 CLS
1760 IF A$="T" AND A=B OR A$="F" AND A<>B THEN LET N=N+SGN PI
1770 IF A$="T" AND A<>B OR A$="F" AND A=B THEN LET N=N-SGN PI
1780 IF PEEK (VAL "16436")+VAL "256"*PEEK (VAL "16437")>VAL "61936" THEN GOTO VAL "1700"
1790 CLS
1800 PRINT "THE 60 SECONDS ARE UP, AND YOUR SCORE IS ";N;", ";C$;"."
1810 GOTO VAL "1310"
3000 PRINT "I AM SORRY THAT YOU HAVE TO LEAVE THE PROGRAM NOW."
3005 PRINT "I HOPE YOU HAVE LEARNED SOME USEFUL INFORMATION AND HAD SOME FUN TOO."
3010 PRINT "COME BACK WHEN YOU WANT TO FINISH THE MODULE, ";C$;"."
3030 PRINT AT VAL "19",NOT PI;"IF YOU DID NOT WANT TO EXIT THE MODULE, PRESS R TO RESTART."
3040 GOSUB E1
3050 GOTO VAL "100"
9000 SAVE "CHEM[2]"
9100 SLOW
9200 GOTO VAL "100"
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.