1  REM  ****  HP BASIC PROGRAM LIBRARY  *******************************
2  REM        IONIC:  DRILL ON FORMULAS AND CHARGES OF IONS
3  REM        36260  REV A  --  2/73
4  REM  ****  CONTRIBUTED PROGRAM  ************************************
5  LET T0=5
10  DIM A$[20],B$[20],C$[30],D$[20],A[50],B[30]
15  FOR A=1 TO 41
20  LET A[A]=A
25  NEXT A
30  LET N=41
32  LET A0=10
35  FOR A=1 TO A0
40  LET B=INT(N*RND(1)+1)
45  LET B[A]=A[B]
50  LET A[B]=A[N]
55  LET N=N-1
60  NEXT A
62  LET A1=A2=A3=0
65  PRINT "WHAT IS YOUR NAME";
70  INPUT C$
75  PRINT 
80  PRINT TAB(20);"IONS AND THEIR CHARGES."
85  PRINT 
90  FOR A=1 TO A0
95  RESTORE 
100  FOR B=1 TO B[A]
105  READ A$,B$,C
110  NEXT B
115  PRINT "WHAT IS THE FORMULA OF THE ";A$;" ION?"
120  ENTER T0,X,D$
121  PRINT 
125  IF X=-256 THEN 150
130  IF D$ <> B$ THEN 160
135  PRINT "RIGHT!!"
140  LET A1=A1+1
145  GOTO 170
150  PRINT "TOO SLOW"'7'7"!!"
155  GOTO 165
160  PRINT "INCORRECT!!"'7'7'7'7"!!"'7'7'7'7
165  PRINT "THE ANSWER IS ";B$;'7'7'7" !!!!"
166  PRINT "MAYBE YOU KNOW ITS CHARGE..."
170  PRINT "WHAT IS THE CHARGE ON THE ";A$;" ION?"
175  ENTER T0,X,C0
177  PRINT 
180  IF X=-256 THEN 225
181  IF X>0 THEN 185
182  PRINT "VERY SMART.  YOU JUST BLEW IT."
183  GOTO 230
185  IF C0 <> C THEN 215
190  PRINT "CORRECT!!"
195  LET A2=A2+1
200  IF B$ <> D$ THEN 210
205  LET A3=A3+1
210  GOTO 235
215  PRINT "NO. YOU ARE WRONG."'7'7'7
220  GOTO 230
225  PRINT "YOU ARE TOO SLOW."'7'7'7
230  PRINT "THE ANSWER IS "'7'7;C;'7'7"."
235  PRINT 
240  NEXT A
245  PRINT "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="
250  PRINT 
255  PRINT TAB(40);C$
256  PRINT 
260  PRINT "YOU GOT BOTH PARTS RIGHT FOR ";A3;" IONS."
261  PRINT 
265  PRINT "YOU GOT  ONE PART  RIGHT FOR ";A2+A1-2*A3;" IONS."
266  PRINT 
270  PRINT "YOU GOT BOTH PARTS WRONG FOR ";
275  LET B=10-A3-(A2+A1-2*A3)
280  PRINT B;"IONS."
281  PRINT 
285  PRINT 
290  PRINT "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="
295  END 
880  DATA "ALUMINUM","AL",3,"AMMONIUM","NH4",1,"BARIUM","BA",2
890  DATA "CALCIUM","CA",2,"CHROMOUS","CR",2,"CHROMIC","CR",3
900  DATA "CUPROUS","CU",1,"CUPRIC","CU",2,"HYDROGEN","H",1
910  DATA "FERROUS","FE",2,"FERRIC","FE",3,"LEAD","PB",2
920  DATA "LITHIUM","LI",1,"MAGNESIUM","MG",2,"MERCUROUS","HG",1
930  DATA "MERCURIC","HG",2,"NICKEL","NI",2,"POTASSIUM","K",1
940  DATA "SILVER","AG",1,"SODIUM","NA",1,"STANNOUS","SN",2
950  DATA "STANNIC","SN",4,"ZINC","ZN",2
960  DATA "ACETATE","CH3COO",-1,"BROMIDE","BR",-1,"CARBONATE","CO3",-2
970  DATA "CHLORIDE","CL",-1,"CHROMATE","CRO4",-2,"DICHROMATE","CR2O7",-2
980  DATA "FLUORIDE","F",-1,"HYDROXIDE","OH",-1,"IODIDE","I",-1
990  DATA "NITRATE","NO3",-1,"NITRITE","NO2",-1,"OXALATE","C2O4",-2
1000  DATA "PERMANGANATE","MNO4",-1,"PHOSPHATE","PO4",-3,"OXIDE","O",-2
1010  DATA "SULFATE","SO4",-2,"SULFIDE","S",-2,"SULFITE","SO3",-2
1020  END 
