1 ! ORB580 BALANCING REDOX EQUATIONS VER.3 OF OREBAL ( FOR ADDS-580 CRT'S) 4 REM BEGUN (1970) BY ROBERT CALENTINE 8 REM COMPLETED(1975) BY R.T.O'NEILL 10 ! VERSION FOR PDP-11/45(RSTS/E) USING ADDS 580 CRT'S 37 L5$=SYS(CHR$(6%)+CHR$(-7%)) \ ONERRORGOTO 32000 \ L7$="BEGUN" \ L6$=CVT$$(TIME$(0%),2%) \ PRINT"PRIVACY WARNING! USAGE IS BEING RECORDED"\ SLEEP(6) 104 DEF FNB% 106 PRINT CHR$(12%+128%) 108 FNEND 120 DEF FNA%(A0%,A1%,A0$) 122 DIM A2%(4) 124 A2%(0)=4% 126 A2%(1)=16%+128% 128 A2%(2)=INT(A0%/10%)*16%+A0%-INT(A0%/10%)*10%+128% 130 A2%(3)=11%+128% 132 A2%(4)=64%+A1% 134 CHANGE A2% TO A2$ 136 PRINT A2$;\PRINT A0$\FNA%=0%\FNEND 138 I=FNB% 140 PRINT\ PRINT"THIS PROGRAM SHOULD BE RUN **ONLY** ON ADDS-580" \ PRINT"OR ADDS-520 TERMINALS. IF YOU ARE WORKING ON ANY" 145PRINT"OTHER KIND OF TERMINAL (E.G. DEC-WRITER), CONTROL/C THIS PROGRAM" 150PRINT"NOW, SIGN OFF, AND SIGN ON THE CORRECT TYPE OF TERMINAL." \PRINT 160 SLEEP (10) 199A9$=" " 200 PRINT TAB(20);"BALANCING OXIDATION-REDUCTION EQUATIONS" 205 RANDOMIZE 210 DIM E$(3), R$(3), O$(3), F(2), N(2), C(6) 215 DIM J(3), K(3) ,L(3), X(3), Y(3), Z(3), H(3), W(3), V(3) 220 DIM E(25) 225 LET N9 = 38 235 FOR J = 2 TO 3 240 LET A = INT [ (N9-1) * RND (-1) +1 ] 245 FOR I = 1 TO N9 250 READ L9,E$(J),R$(J),J(J),K(J),L(J),O$(J),X(J),Y(J),Z(J),H(J),W(J),V(J) 255 IF L9=A+100 THEN 265 260 NEXT I 265 RESTORE 270 NEXT J 280 IF V(2)=V(3) OR R$(2)=O$(3) OR R$(3)=O$(2) THEN 235 295 IF V(2)";TAB(38);R$(2); TAB(45);"+ ";O$(1) 455 PRINT 460PRINT TAB(3%);"*( C )";TAB(13);"*( I )";TAB(38);"*( J )";TAB(48);"*( D )" 465PRINT TAB(3%);"*";TAB(13);"*";TAB(38);"*";TAB(48);"*" 470PRINT TAB(3%);"*";TAB(13);"*";TAB(38);"*";TAB(48);"*" 475PRINT TAB(3%);"*";TAB(13);"* ( K )( L )( N )";TAB(38);"*";TAB(48);"*" 480PRINT TAB(3%);"*";TAB(13);"**************************";TAB(48);"*" 485PRINT TAB(3%);"*";TAB(48);"*" 490PRINT TAB(3%);"*";TAB(48);"*" 495PRINT TAB(3%);"*";TAB(13);"( E )( F )( M )";TAB(48);"*" 500PRINT TAB(3%);"**********************************************" 501PRINT 515PRINT" ALL THE FOLLOWING QUESTIONS REFER TO THE REDOX EQUATION"; 520PRINT" ABOVE." 525 PRINT"THE QUESTION LETTERS REFER TO THE LETTERS ON THE DIAGRAM" 530 PRINT"UNDERNEATH THE EQUATION." 533 SLEEP (10) 535PRINT \PRINT \PRINT \PRINT \PRINT \PRINT \PRINT 540 Z9%=16%\GOSUB 8010 545PRINT "(A) WHICH REAGENT ON THE LEFT ACTS AS THE REDUCING AGENT" 550 INPUT A$ 555 IF A$ = R$(1) THEN 620 560 E(1)=E(1)+1 563 IF E(1)<>1 THEN Z9%=17%\GOSUB8000 565 ON E(1) GOTO 570,580,595,610 570 PRINT"NO. TRY AGAIN"; 575 GO TO 550 580PRINT"NO. THE WHOLE UNIT,NOT JUST ONE ATOM,IS THE REDUCING AGENT." 585 PRINT "TRY AGAIN";\ GOTO 550 595 PRINT"NO. THE REDUCING AGENT CONTAINS AN ATOM THAT INCREASES IN" 600 PRINT"OXIDATION NUMBER. TRY AGAIN."; 605 GOTO 550 610 PRINT"NO. THE REDUCING AGENT IS ";R$(1) 615 GO TO 625 620 PRINT "THAT IS RIGHT." 625 Z9%=16%\GOSUB 8000 630PRINT "(B) WHAT ATOM IN ";R$(1);" INCREASES IN OXIDATION NUMBER" 640 INPUT A$ 645 IF A$ = E$(1) THEN 685 650 LET E(2) = E(2) +1 652 IF E(2)<>1 THEN Z9%=17%\ GOSUB 8000 655 ON E(2) GO TO 660,675 660 PRINT"NO. CHECK THE OXIDATION NUMBERS IN ";R$(1);" AND ";O$(1) 665 PRINT"AND TRY AGAIN"; 670 GO TO 640 675 PRINT"NO. THE ATOM INCREASING IN OXIDATION NUMBER IS ";E$(1) 680 GO TO 690 685PRINT"RIGHT!" 690 Z9%=16%\GOSUB 8000 695 PRINT "(C) WHAT IS THE OXIDATION NUMBER OF ";E$(1);" IN ";R$(1) 700 INPUT Z9 705 IF Z9 = J(1) THEN 760 710 LET E(3) = E(3) + 1 712 IF E(3)<>1 THEN Z9%=17%\ GOSUB 8000 715 ON E(3) GO TO 720,730,750 720 PRINT"NO. TRY AGAIN"; 725 GO TO 700 730PRINT"NO. REMEMBER THAT THE SUM OF THE OXIDATION NUMBERS OF ALL THE" 735PRINT"ATOMS IN THE ATOM OR MOLECULE OR ION MUST ADD UP TO THE" 740PRINT"CHARGE ON THAT ATOM OR MOLECULE OR ION. TRY AGAIN"; 745 Z9%=Z9%-1%\ GOTO700 750 PRINT"NO. THE OXIDATION NUMBER OF "E$(1);" IN ";R$(1);" IS ";J(1) 755 GO TO 765 760PRINT"RIGHT!" 765PRINT CHR$(7)\I%=FNA%(5%,3%,NUM$(J(1)))\Z9%=16%\GOSUB8000 770 PRINT "(D) TO WHAT OXIDATION NUMBER DOES "E$(1);" GO" 775 INPUT Z9 780 IF Z9 = X(1) THEN 815 785 LET E(4) = E(4) + 1 786 IF E(4)<>1 THEN Z9%=17%\ GOSUB 8000 790 ON E(4) GO TO 795, 805 795PRINT"NO. FIGURE OUT THE OXIDATION NUMBER OF ";E$(1)" IN ";O$(1); 800 GO TO 775 805 PRINT"NO. THE OXIDATION NUMBER OF ";E$(1);" IN ";O$(1);" IS ";X(1) 810 GO TO 820 815 PRINT "THAT IS RIGHT." 820 PRINT CHR$(7)\I%=FNA%(50%,3%,NUM$(X(1)))\Z9%=16%\GOSUB8000 825PRINT "(E) WHAT IS THE CHANGE IN OXIDATION NUMBER PER "E$(1);" ATOM" 830 INPUT Z9 835 IF Z9 = X(1) - J(1) THEN 890 840 LET E(5) = E(5) + 1 842 IF E(5)<>1 THEN Z9%=17%\ GOSUB 8000 845 ON E(5) GO TO 850,865,880 850 PRINT "NO. BE MORE CAREFUL AND TRY AGAIN";\GOTO830 865PRINT"NO. THE CHANGE IN OXIDATION NUMBER IS THE FINAL STATE MINUS" 870 PRINT"THE INITIAL STATE. TRY AGAIN."; 875 GO TO 830 880 PRINT"NO. THE CORRECT ANSWER IS ";X(1);" MINUS ";J(1);" OR ";X(1)-J(1) 885 GOTO 892 890 PRINT"CORRECT!" 892PRINT CHR$(7)\I%=FNA%(14%,10%,NUM$(X(1)-J(1)))\Z9%=16%\GOSUB8000 900 PRINT "(F) HOW MANY "E$(1);" ATOMS ARE THERE PER ";R$(1);" UNIT" 905 INPUT Z9 910 IF Z9 = K(1) THEN 945 915 LET E(6) = E(6) +1 916 IF E(6)<>1 THEN Z9%=17%\ GOSUB 8000 920 ON E(6) GO TO 925,935 925 PRINT"NO. TRY AGAIN."; 930 GO TO 905 935 PRINT"NO . THE ANSWER SHOULD BE " K(1) 940 GO TO 950 945PRINT"RIGHT!." 950PRINT CHR$(7)\I%=FNA%(19%,10%,NUM$(K(1)))\Z9%=16%\GOSUB8000 955 PRINT "(G) WHAT IS THE OXIDIZING AGENT ON THE LEFT" 960 INPUT A$ 965 IF A$ = O$(2) THEN 1005 970 LET E(7) = E(7)+1 972 IF E(7)<>1 THEN Z9%=17%\ GOSUB 8000 975 ON E(7) GOTO 980,995 980 PRINT"NO. SOME ATOM WITHIN THE OXIDIZING AGENT DECREASES IN" 985 PRINT"OXIDATION NUMBER. TRY AGAIN."; 990 GO TO 960 995 PRINT"NO . THE OXIDIZING AGENT IS " O$(2) 1000 GO TO 1010 1005 PRINT "THAT IS RIGHT." 1010 Z9%=16%\GOSUB8000 1015PRINT "(H) WHAT ATOM IN "O$(2);" CHANGES OXIDATION NUMBER" 1025 INPUT A$ 1030 IF A$ = E$(2) THEN 1070 1035 LET E(8)=E(8)+1 1037 IF E(8)<>1 THEN Z9%=17%\ GOSUB 8000 1040 ON E(8) GOTO 1045,1060 1045 PRINT"NO. CHECK THE OXIDATION NUMBERS IN ";R$(2);" AND ";O$(2) 1050 PRINT"AND TRY AGAIN"; 1055 GO TO 1025 1060 PRINT"NO. THE CORRECT ANSWER IS " E$(2) 1065 GO TO 1075 1070PRINT"RIGHT!" 1075 Z9%=16%\GOSUB 8000 1080PRINT "(I) WHAT IS THE OXIDATION NUMBER OF "E$(2);" IN "O$(2) 1085 INPUT Z9 1090 IF Z9 = X(2) THEN1125 1095 LET E(9)=E(9)+1 1097 IF E(9)<>1 THEN Z9%=17%\ GOSUB 8000 1100 ON E(9) GOTO 1105,1115 1105PRINT"NO. TRY AGAIN"; 1110 GO TO 1085 1115 PRINT "NO. THE OXIDATION NUMBER OF "E$(2)" IN "O$(2)" IS "X(2) 1120 GO TO 1130 1125PRINT"RIGHT." 1130 PRINT CHR$(7)\I%=FNA%(15%,3%,NUM$(X(2)))\Z9%=16%\GOSUB8000 1135 PRINT "(J) TO WHAT OXIDATION NUMBER DOES ";E$(2)" GO" 1140 INPUT Z9 1145 IF Z9 = J(2) THEN 1180 1150 LET E(10)=E(10)+1 1152 IF E(10)<>1 THEN Z9%=17%\ GOSUB 8000 1155 ON E(10) GOTO 1160,1170 1160 PRINT"NO. LOOK CLOSER AT "R$(2);" AND TRY AGAIN."; 1165 GO TO 1140 1170 PRINT"NO. IT SHOULD BE ";J(2) 1175 GO TO 1185 1180 PRINT "THAT IS RIGHT." 1185PRINT CHR$(7%)\I%=FNA%(40,3,NUM$(J(2)))\Z9%=16%\GOSUB 8000 1190 PRINT "(K) WHAT IS THE CHANGE IN OXIDATION NUMBER PER "E$(2)" ATOM" 1195 INPUT Z9 1200 IF Z9 = J(2) - X(2) THEN 1240 1205 LET E(11)=E(11)+1 1207 IF E(11)<>1 THEN Z9%=17%\ GOSUB 8000 1210 ON E(11) GOTO 1215,1225 1215 PRINT "NO. REMEMBER THAT SIGN IS IMPORTANT. TRY AGAIN";\GOTO 1195 1220 GO TO 1195 1225 PRINT"NO. IT SHOULD BE ";J(2);" MINUS ";X(2);" OR "; 1230 PRINTJ(2)-X(2) 1235 GO TO 1245 1240PRINT"CORRECT." 1245 PRINT CHR$(7)\I%=FNA%(16%,6%,NUM$(J(2)-X(2)))\Z9%=16%\GOSUB8000 1250 PRINT "(L) HOW MANY "E$(2)" ATOMS ARE THERE PER "O$(2);" UNIT" 1255 INPUT Z9 1260 IF Z9 = Y(2) THEN 1295 1265 LET E(12)=E(12)+1 1267 IF E(12)<>1 THEN Z9%=17%\ GOSUB 8000 1270 ON E(12)GOTO 1275,1285 1275 PRINT"NO. TRY AGAIN."; 1280 GO TO 1255 1285 PRINT"NO. PER "O$(2)" UNIT THERE ARE "Y(2)" ATOMS." 1290 GO TO 1300 1295PRINT"RIGHT" 1300PRINT CHR$(7)\I%=FNA%(21%,6%,NUM$(Y(2)))\Z9%=16%\GOSUB8000 1305 PRINT "(M,N) WHAT ARE THE MINIMUM NUMBER OF UNITS OF ";R$(1);" AND" 1310PRINT O$(2);" NEEDED FOR NO NET CHANGE IN OXIDATION NUMBER, I.E." 1315 PRINT "WHAT ARE M AND N (SEPARATE BY COMMAS)" 1325 REM***LOWEST RATIO;MAY GIVE FRAC.COEFF. FOR OTHER SPECIES 1330 LET D=(X(2)-J(2))*Y(2)/(K(1)*(X(1)-J(1))) 1335 FOR M=1 TO 50 1337 FOR N= 1 TO 50 1340 IF M/N==D THEN 1360 1350 NEXT N 1355 NEXT M 1360 Z9%=19%\INPUT P,S 1365 IF S=N AND P=M THEN 1485 1366 LET E(13)=E(13)+1 1367 IF E(13)<>1 THEN Z9%=19%\GOSUB 8000 1370 IF P<>M THEN 1380 1375 GO TO 1485 1380 IF S*P=0 THENPRINT "COEFFICIENTS OF ZERO AREN'T ALLOWED!!"\GOTO 1400 1382 IF S/P<>N/M THEN 1400 1385 PRINT"RIGHT RATIO, BUT NOT LOWEST NUMBERS. TRY AGAIN"; 1390 GO TO 1360 1400 ONE(13) GOTO 1405,1415,1440,1465 1405 PRINT "DON'T RUSH. TRY AGAIN."; 1410 GO TO 1360 1415 PRINT "NO. REMEMBER HOW THE VALUES OF K, L, N AND E, F, M "; 1420 PRINT "QUANTITIES ARE" 1425 PRINT"RELATED. THE SUM OF THE TRIPLE PRODUCTS MUST BE ZERO." 1430 PRINT"TRY AGAIN."; 1435 GO TO 1360 1440 PRINT"NO. (E)(F)(M) + (K)(L)(N) = 0" 1445 PRINT"(";X(1)-J(1);")(";K(1);")(M) + ("; 1450 PRINTJ(2)-X(2);")("Y(2);")(N) = 0" 1455 PRINT"WHAT ARE M AND N ? TRY AGAIN."; 1460 GOTO 1360 1465 PRINT "NO. (";X(1)-J(1);")("K(1);")(M) + ("; 1470 PRINT J(2)-X(2);")(";Y(2);")(N) = 0" 1475 PRINT"THIS MEANS M= ";M;" AND N= ";N 1480 GOTO 1490 1485 I%=FNA%(0%,16%,"THAT IS RIGHT!"+A9$) 1490 PRINT CHR$(7)\I%=FNA%(24%,10%,NUM$(M)) 1495 PRINT CHR$(7)\I%=FNA%(26%,6%,NUM$(N))\Z9%=16%\GOSUB 8000 1510 FOR I = 1 TO 10 1515 C(1)=M*I!!!!!!!!!!!!! COEFF R$(1) 1520 C(2)=N*I!!!!!!!!!!!!! COEF O$(2) 1525 C(3)=I*N*Y(2)/K(2)!!!!!!!!!! COEF R$(2) 1530 C(4)=I*M*K(1)/Y(1)!!!!!!!!!! COEF O$(1) 1535 IF C(4)<>INT(C(4)) THEN 1550 1540 IF C(3)<>INT(C(3)) THEN 1550 1545 GOTO 1570 1550 NEXT I 1570 PRINT"(O) WHAT SHOULD THE COEFFICIENT OF ";R$(1);" BE? THE" 1575 PRINT"ANSWER ISN'T NECESSARILY THE SAME AS M , I.E. ";M;"," 1580 PRINT"IF IT WOULD RESULT IN FRACTIONAL COEFFICIENTS FOR PRODUCTS." 1585 Z9%=19%\ INPUT Z9 1590 IF Z9=C(1) THEN 1645 1595 LET E(14) = E(14) + 1 1597 IF E(14)<>1 THEN Z9%=19%\GOSUB 8000 1600 ON E(14) GO TO 1605, 1615, 1635 1605 PRINT"NO. TRY AGAIN."; 1610 GO TO 1585 1615 PRINT"NO. THE ANSWER IS THE SAME AS M (HERE ";M;") UNLESS IT WOULD" 1620 PRINT"GIVE A FRACTIONAL COEFFICIENT FOR "O$(1);" OR ";R$(2) 1625 PRINT"TRY AGAIN."; 1630 GO TO 1585 1635 PRINT"NO. THE CORRECT ANSWER SHOULD BE ";C(1) 1640 GO TO 1650 1645 PRINT "THAT IS RIGHT!"; 1650 PRINT CHR$(7%)\ I%=FNA%(0%,1%,RIGHT(NUM$(C(1)),2%)) \ Z9%=16% \ GOSUB 8000 1655PRINT "(P) WHAT IS THE COEFFICIENT OF ";O$(2) 1660 Z9%=17%\ INPUT Z9 1665 IF Z9=C(2) THEN 1710 1670 LET E(15) = E(15) +1 1672 IF E(15)<>1 THEN Z9%=17%\GOSUB 8000 1675 ON E(15) GOTO 1680,1690,1700 1680 PRINT"NO. TRY AGAIN."; 1685 GO TO 1660 1690PRINT "NO. RECALL THE COMMENTS ON THE LAST QUESTION. TRY AGAIN.";\GOTO1660 1695 GO TO 1660 1700 PRINT"NO. THE CORRECT ANSWER IS ";C(2) 1705 GOTO 1715 1710 PRINT "THAT IS RIGHT." 1715 PRINT CHR$(7)\ A$=RIGHT(NUM$(C(2)),2%)\ A$=LEFT(A$,LEN(A$)-1%)\ I%=FNA%(11%,1%,A$)\ Z9%=16%\GOSUB 8000 1720PRINT "(Q) WHAT IS THE COEFFICIENT OF ";R$(2) 1725 Z9%=17%\ INPUT Z9 1730 IF Z9=C(3) THEN 1780 1735 LET E(16)=E(16)+1 1738 IF E(16)<>1 THEN Z9%=17%\ GOSUB 8000 1740 ON E(16) GOTO 1745,1755,1770 1745 PRINT"NO. TRY AGAIN"; 1750 GOTO 1725 1755 PRINT"NO."E$(2);" ATOMS ARE CONSERVED, AND YOU HAVE" 1760 PRINT C(2);" ";O$(2);" UNITS ON THE LEFT. TRY AGAIN"; 1765 GOTO 1725 1770 PRINT"NO. THE CORRECT ANSWER IS ";C(3) 1775 GOTO 1785 1780 PRINT"GOOD!" 1785 PRINT CHR$(7%)\ A$=RIGHT(NUM$(C(3)),2%)\ A$=LEFT(A$,LEN(A$)-1%)\ I%=FNA%(36%,1%,A$)\ Z9%=16%\ GOSUB 8000 1790 PRINT "(R) WHAT IS THE COEFFICIENT OF ";O$(1) 1795 Z9%=17%\ INPUT Z9 1800 IF Z9=C(4) THEN1850 1805 LET E(17)=E(17)+1 1807 IF E(17)<>1 THEN Z9%=17%\ GOSUB 8000 1810 ON E(17) GOTO 1815,1825,1840 1815 PRINT"NO. TRY AGAIN"; 1820 GOTO 1795 1825 PRINT"NO. YOU HAVE ";C(1);" ";R$(1);" UNITS ON THE LEFT." 1830 PRINT"TRY AGAIN"; 1835 GOTO 1795 1840 PRINT"NO. THE CORRECT ANSWER IS ";C(4) 1845 GOTO 1855 1850 PRINT"RIGHT!" 1855 PRINT CHR$(7%)\ A$=RIGHT(NUM$(C(4)),2%)\ A$=LEFT(A$,LEN(A$)-1%)\ I%=FNA%(46%,1%,A$)\ Z9%=16% \ GOSUB 8000 1860 N(1)=C(1) 1865 N(2)=C(3) 1870 H=N(1)*H(1)-N(2)*H(2) 1875 W=N(1)*W(1)-N(2)*W(2) 1885 PRINT"(S) IS THE CHARGE BALANCED IN THIS EQUATION (YES OR NO)"; 1890 INPUT A$ 1895 IF H<>0 THEN B$="NO" ELSE B$="YES" 1915 IF A$ = B$ THEN1970 1920 LET E(18)=E(18)+1 1925 PRINT"CHARGE ON LEFT IS ";C(1)*L(1);" + ";C(2)*Z(2);" = "; 1930 PRINTC(1)*L(1)+C(2)*Z(2) 1935 PRINT"CHARGE ON RIGHT IS ";C(3)*L(2);" + ";C(4)*Z(1); " = "; 1940 PRINT C(3)*L(2)+C(4)*Z(1) 1945 PRINT"SO THEY ARE "; 1950 IF H<>0 THEN PRINT " NOT "; 1960 PRINT" EQUAL" 1965 GO TO 1975 1970 PRINT" RIGHT" 1975 Z9%=16%\ GOSUB 8000 1980 IF H=0 THEN 2107 1985 PRINT"(T) SINCE THE REACTION OCCURS IN ACID SOLUTION,THE CHARGE" 1990 PRINT"CAN BE BALANCED BY ADDING H+ IONS TO THE RIGHT OR LEFT SIDE" 1995 PRINT"OF THE EQUATION. WHICH SIDE WILL IT BE, RIGHT OR LEFT"; 2000 INPUT A$ 2005 IF H<0 THEN B$="RIGHT" ELSE B$="LEFT" 2025 IF A$ = B$ THEN 2045 2030 LET E(19)=1 2035 PRINT"NO, THEY MUST BE ADDED TO THE ";B$ 2040 GO TO 2050 2045 PRINT"CORRECT" 2050 Z9%=16%\ GOSUB 8000 2055PRINT"(U) HOW MANY H+ IONS MUST BE ADDED TO THE ";B$; 2060 Z9%=17%\ INPUT Z9 2065 IF Z9 = ABS(H) THEN 2100 2070 LET E(20)=E(20)+1 2075 IF E(20)=2 THEN 2090 2080 PRINT" NO, TRY AGAIN"; 2085 GO TO 2060 2090PRINT "NO,YOU SHOULD ADD";ABS(H);" H+ IONS ON THE ";B$\GOTO2105 2095 GO TO 2105 2100 PRINT" CORRECT" 2105 IF H<0 THEN Z5%=61% ELSE Z5%=26% 2106 PRINT CHR$(7%)\ A$=RIGHT(NUM$(ABS(H)),2)\ A$="+"+LEFT(A$,LEN(A$)-1%)+"H+"\ I%=FNA%(Z5%,1%,A$) 2107 Z9%=16%\GOSUB 8000 2110PRINT "(V) HYDROGEN ATOMS MUST ALSO BE BALANCED. THIS CAN BE DONE" 2115PRINT "BY ADDING H2O MOLECULES TO THE APPROPRIATE SIDE OF THE" 2120PRINT "EQUATION. ARE THE H ATOMS ALREADY BALANCED (YES OR NO)"; 2135 INPUT A$ 2140 IF W=0 THEN B$="YES" ELSE B$="NO" 2160 IF A$ <> B$ THEN 2180 2165 PRINT" CORRECT" 2170 IF W=0 THEN 2320 2175 GOTO 2210 2180 LET E(21)=1 2185 PRINT"NO, COUNT AGAIN. PROTONS ARE "; 2190 IF B$="NO" THEN PRINT " NOT "; 2200 PRINT" BALANCED" 2205Z9%=16%\ GOSUB 8000 2207 IF W=0 THEN 2320 2210 Z9%=16%\ GOSUB 8000 2215 PRINT"(W) THE NUMBER OF H ATOMS CAN BE BALANCED BY ADDING H2O" 2220 PRINT"MOLECULES TO THE APPROPRIATE SIDE OF THE EQUATION." 2225 PRINT"TO WHICH SIDE (LEFT OR RIGHT) MUST YOU ADD H2O 'S"; 2230 INPUT A$ 2235 IF W<0 THEN B$="RIGHT" ELSE B$="LEFT" 2255 IF A$=B$ THEN 2275 2260 PRINT"NO, THEY MUST BE ADDED TO THE "; B$ 2265 LET E(22)=1 2270 GOTO 2280 2275 PRINT "CORRECT" 2280 Z9%=16%\ GOSUB 8000 2285 PRINT"(X) HOW MANY H2O'S MUST BE ADDED TO THE ";B$; 2290 Z9%=17%\INPUT Z9 2295 IF Z9=ABS(W) THEN 2315 2300 PRINT"NO. YOU HAVE TO ADD ";ABS(W);" H2O'S ON THE ";B$ 2305 LET E(23)=1 2310 GOTO 2317 2315 PRINT"GOOD." 2317 IF W>0 THEN Z5%=20% ELSE Z5%=55% 2318 PRINT CHR$(7%)\ A$=RIGHT(NUM$(ABS(W)),2%)\ A$="+"+LEFT(A$,LEN(A$)-1%)+"H2O" 2319 I%=FNA%(Z5%,1%,A$)\ Z9%=16%\GOSUB 8000 2320 FOR I=1 TO 23\E(0)=E(0)+E(I)\NEXT I 2325 L7$="ERRORS(MAX=51)="+NUM$(E(0%)) 2326 PRINT"VERIFY THAT THE OXYGENS ARE NOW BALANCED. THIS GIVES A CHECK" 2327 PRINT"THAT YOU HAVEN'T MADE AN ERROR IN PREVIOUS STEPS." 2329 SLEEP(20) 2330 PRINT"YOU HAVE MADE ";E(0);" MISTAKES." 2340 PRINT" REPEAT THIS PROGRAM AS MANY TIMES AS IT TAKES" 2345 PRINT"YOU TO BECOME SO FAMILIAR WITH THE METHOD THAT YOU CAN" 2350 PRINT"BALANCE SIMILAR EQUATIONS BY YOURSELF. YOU WILL GET A" 2355 PRINT"NEW EQUATION EACH TIME." 2365 PRINT"DO YOU WANT ANOTHER EQUATION ( YES OR NO )"; 2366 INPUT B$ \IF LEFT(B$,1%)="N" THEN 32110 ELSE MAT E=ZER \E(0%)=0% 2380 I%=FNB%\ GOTO 235 8000 FOR K%=Z9% TO Z9%+6%\IF K%>22% THEN 8010 8005 I%=FNA%(0%,K%,A9$)\ NEXT K% 8010I%=FNA%(0%,Z9%-1%,"")\ RETURN 9001 DATA 101,"I","I-",-1,1,-1,"I2",0,2,0,0,0,-.54 9002 DATA 102,"HG","HG",0,1,0,"HG2++",1,2,2,0,0,-.79 9003 DATA 103,"O","H2O2",-1,2,0,"O2",0,2,0,-2,0,-.68 9004 DATA 104,"BR","BR-",-1,1,-1,"BR2",0,2,0,0,0,-1.09 9005 DATA 105,"N","HNO2",3,1,0,"N2O4",4,2,0,-1,0,-1.07 9006 DATA 106,"I","I2",0,2,0,"IO3-",5,1,-1,-12,6,-1.2 9007 DATA 107,"O","H2O",-2,1,0,"O2",0,2,0,-2,0,-1.23 9008 DATA 108,"CR","CR+++",3,1,3,"CR2O7--",6,2,-2,-7,3.5,-1.33 9009 DATA 109,"CL","CL-",-1,1,-1,"CL2",0,2,0,0,0,-1.36 9010 DATA 110,"BR","BR2",0,2,0,"BRO3-",5,1,-1,-12,6,-1.5 9011 DATA 111,"CL","CL2",0,2,0,"HCLO",1,1,0,-2,2,-1.63 9012 DATA 112,"O","H2O",-2,1,0,"H2O2",-1,2,0,-1,0,-1.77 9013 DATA 113,"TI","TI",0,1,0,"TIO++",4,1,2,-2,1,.9 9014 DATA 114,"S","SO2",4,1,0,"HSO4-",6,1,-1,-3,2,-.11 9015 DATA 115,"S","H2S",-2,1,0,"S",0,1,0,-2,0,-.143 9016 DATA 116,"U","U++++",4,1,4,"UO2++",6,1,2,-4,2,-.33 9017 DATA 117,"V","V+++",3,1,3,"VO++",4,1,2,-2,1,-.36 9018 DATA 118,"AS","HASO2",3,1,0,"H3ASO4",5,1,0,-2,2,-.56 9019 DATA 119,"U","U++++",4,1,4,"UO2+",5,1,1,-4,2,-.62 9020 DATA 120,"N","NO",2,1,0,"NO3-",5,1,-1,-4,2,-.96 9021 DATA 121,"N","NO",2,1,0,"HNO2",3,1,0,-1,1,-1 9022 DATA 122,"N","NO",2,1,0,"N2O4",4,2,0,-2,1,-1.03 9023 DATA 123,"PU","PU++++",4,1,4,"PUO2++",6,1,2,-4,2,-1.04 9024 DATA 124,"PU","PU++++",4,1,4,"PUO2+",5,1,1,-4,2,-1.15 9025 DATA 125,"CL","HCLO2",3,1,0,"CLO3-",5,1,-1,-3,1,-1.21 9026 DATA 126,"MN","MN++",2,1,2,"MNO2",4,1,0,-4,2,-1.23 9027 DATA 127,"N","NH4+",-3,1,1,"NH3OH+",-1,1,1,-2,1,-1.35 9028 DATA 128,"CL","HCLO",1,1,0,"HCLO2",3,1,0,-2,1,-1.6 9029 DATA 129,"MN","MNO2",4,1,0,"MNO4-",7,1,-1,-4,2,-1.7 9030 DATA 130,"S","S",0,1,0,"H2SO3",4,1,0,-4,3,-.4 9031 DATA 131,"AS","AS",0,1,0,"H3ASO3",3,1,0,-3,3,-.24 9032 DATA 132,"N","N2O4",4,2,0,"NO3-",5,1,-1,-4,2,-.8 9033 DATA 133,"HG","HG2++",1,2,2,"HG++",2,1,2,0,0,-.92 9034 DATA 134,"V","VO++",4,1,2,"V(OH)4+",5,1,1,-2,3,-1 9035 DATA 135,"CL","CLO3-",5,1,-1,"CLO4-",7,1,-1,-2,1,-1.19 9036 DATA 136,"N","N2O",1,2,0,"HNO2",3,1,0,-4,3,-1.29 9037 DATA 137,"MN","MN++",2,1,2,"MNO4-",7,1,-1,-8,4,-1.51 9038 DATA 138,"I","IO3-",5,1,-1,"H5IO6",7,1,0,-1,3,-1.6 9999 L7$=L7$+"FINISHED" \ GOTO 32110 32000 IF ERR=50% OR ERR=52% THEN PRINT "IMPROPER NUMBER" \RESUME 32001 IF ERR<>28% THEN ONERRORGOTO 0% ELSE L5$=SYS(CHR$(6%)+CHR$(-7%) ) \RESUME 32110 32110 L5$="ORB580" 32120 OPEN L5$+".REC(140,0)" AS FILE 11%, MODE 2% 32410 K$=CVT$$(NUM$(ASCII(RIGHT(SYS(CHR$(6%)+CHR$(9%)),2%))/2%),2%) \ DIM S7%(30%) 32420 MAT S7%=ZER \ S7%(0%)=0% \ CHANGE S7% TO S7$ \ S7$=SYS(CHR$(6%)+CHR$(14%)+S7$) \ CHANGE S7$ TO S7% 32440 U$= CVT$$("[" + NUM$(S7%(8%))+","+NUM$(S7%(7%))+"]",2%) \ U$=U$+" "+DATE$(0%)+" "+L6$+"-"+TIME$(0%)+"KB:"+K$+" C.T.=" \ U$=U$+NUM$(TIME(2%))+"MIN. "+L7$ \ PRINT #11,U$ \ CLOSE 11 \ GOTO 32767 32500 PRINT"A NUMBER, NOT A LETTER, IS REQUIRED HERE." \Z9%=Z9%+1% \GOSUB 8000 \RESUME 32767 END