10  REM ****  HP TIME-SHARED BASIC PROGRAM LIBRARY  *******************
20  REM
30  REM             CALORI:  CALORIMETRY EXPERIMENT
40  REM
50  REM             36314  (A833)  REV A -- 10/71
60  REM
70  REM ****  CONTRIBUTED PROGRAM  ************************************
80  REM A.C. CAGGIANO; PATCHOGUE H.S.; PHYSICS; 2-'69
90  REM THIS PROGRAM INVOLVES CALORIMETRY EXPERIMENTS OR THEIR 
100  REM SIMULATION.
110  REM  REVISED BY C.LOSIK 8-25-70
120  REM  K TELLS WHICH LIQUID, J TELLS WHICH BEAKER, 
130  REM  M(J) ARE THE MASSES OF LIQUID, T(J) ARE THEIR TEMPERATURES
140  REM CALORI-COPYRIGHT 1970, POLYTECHNIC INSTITUTE OF BROOKLYN
150  LET K=0
160  DIM M[2],T[2]
170  PRINT " ","HEAT AND CALORIMETRY"
180  PRINT 
190  PRINT 
200  PRINT "##########"
210  PRINT 
220  PRINT "YOU HAVE TWO BEAKERS OF";
230  GOSUB 740
240  PRINT "."
250  FOR J=1 TO 2
260  PRINT "WHAT IS THE MASS (IN GRAMS) AND THE TEMP (IN DEGREES) OF THE"
270  GOSUB 740
280  PRINT "IN THE";
290  GOSUB 690
300  PRINT "BEAKER";
310  INPUT M[J],T[J]
320  PRINT 
330  NEXT J
340  LET T3=(M[1]*T[1]+M[2]*T[2])/(M[1]+M[2])
350  LET T3=INT(100*T3+.5)/100
360  PRINT "THE FINAL TEMPERATURE OF THE MIXTURE IS "T3" DEGREES."
370  PRINT 
380  FOR J=1 TO 2
390  PRINT "HOW MANY CALORIES WERE INVOLVED IN CHANGING THE TEMP OF"
400  PRINT "THE ";
410  GOSUB 690
420  PRINT " BEAKER ";
430  PRINT "FROM "T[J]" TO "T3" DEGREES";
440  INPUT H
450  PRINT 
460  LET G=ABS(H)
470  LET T=ABS(T3-T[J])
480  IF G <> 0 THEN 510
490  IF S*M[J]*T=0 THEN 520
500  GOTO 560
510  IF ABS((G-S*M[J]*T)/G)>.03 THEN 560
520  PRINT "YOU'RE CLOSE ENOUGH. THE CORRECT ANSWER IS ";
530  GOTO 570
540  PRINT 
550  GOTO 590
560  PRINT "YOU'RE MORE THAN 3 PERCENT OFF. YOU SHOULD HAVE SAID"
570  PRINT INT(100*S*M[J]*T+.5)/100" CALORIES."
580  PRINT 
590  NEXT J
600  PRINT 
610  PRINT "WANT TO TRY AGAIN (1=YES, 0=NO) : ";
620  INPUT Q
630  IF Q=0 THEN 810
640  IF Q <> 1 THEN 600
650  PRINT "CHOOSE A LIQUID : 0=WATER, 1=ALCOHOL.  WHICH";
660  INPUT K
670  IF K*(K-1) <> 0 THEN 650
680  GOTO 180
690  IF J=2 THEN 720
700  PRINT " FIRST ";
710  GOTO 730
720  PRINT " SECOND ";
730  RETURN 
740  IF K=1 THEN 780
750  PRINT " WATER ";
760  LET S=1
770  GOTO 800
780  PRINT " ALCOHOL ";
790  LET S=.6
800  RETURN 
810  END 
