10  REM ****  HP TIME-SHARED BASIC PROGRAM LIBRARY  ********************
20  REM
30  REM            RATIO:  SOLVES PROPORTIONS
40  REM
50  REM            36336  (A801)  REV A -- 10/71
60  REM
70  REM ****  CONTRIBUTED PROGRAM  *************************************
80  REM RATIO - COPYRIGHT 1971, POLYTECHNIC INSTITUTE OF BROOKLYN
90  REM W. TEPPER WYANDANCH H.S.   -   MATHEMATICS 
100  REM  REVISED BY C.LOSIK  8-5-70
110  REM  A/B = C/D, TOTALLY OBVIOUS,  ALSO USES GOSUB TO SIMULATE PAUSE
120  REM THIS PROGRAM SOLVES FOR THE UNKNOWN IN THE PROPORTION" 
130  REM OF THE TYPE A/B AS C/D 
140  PRINT "THIS PROGRAM SOLVES FOR THE UNKNOWN IN THE PROPORTION"
150  PRINT "A/B AS C/D. USE A ZERO AS A DUMMY VALUE FOR THE UNKNOWN."
160  PRINT 
170  PRINT "HOW MANY PROPORTIONS DO YOU WISH TO SOLVE";
180  INPUT N
190  FOR K=1 TO N
200  PRINT "WHAT ARE THE VALUES FOR A,B,C,D";
210  INPUT A,B,C,D
220  IF A=0 THEN 290
230  IF B=0 THEN 310
240  IF C=0 THEN 330
250  IF D=0 THEN 350
260  PRINT "YOU FORGOT TO INPUT A ZERO FOR YOUR"
270  PRINT "UNKNOWN.  TRY AGAIN.";
280  GOTO 210
290  LET A=B*C/D
300  GOTO 370
310  LET B=A*D/C
320  GOTO 370
330  LET C=A*D/B
340  GOTO 370
350  LET D=B*C/A
360  PRINT 
370  PRINT 
380  PRINT "                  ";A;"/";B;" AS ";C;"/";D
390  PRINT 
400  NEXT K
410  PRINT 
420  PRINT 
430  PRINT "TAKE A GOOD LOOK AT THE PROPORTIONS.  THE TWO MIDDLE"
440  PRINT "POSITION NUMBERS ARE CALLED THE 'MEANS', THE TWO"
450  PRINT "END POSITION NUMBERS ARE CALLED THE 'EXTREMES'."
460  PRINT 
470  PRINT "LOOK AT THE 'MEANS' AND THE 'EXTREMES'  -    SEE IF"
480  PRINT "YOU CAN FIND SOME KIND OF RELATIONSHIP BETWEEN THEM."
490  PRINT "WHEN YOU THINK YOU HAVE FOUND A RELATIONSHIP BETWEEN"
500  PRINT "THE 'MEANS' AND THE 'EXTREMES', ";
510  GOSUB 650
520  PRINT "DID YOU SEE THAT IF YOU MULTIPLY THE 'MEANS'"
530  PRINT "AND MULTIPLY THE 'EXTREMES', THE PRODUCTS ARE EQUAL?"
540  PRINT 
550  PRINT "IN THE LAST PROPORTION "B"X"C"EQUALS"A"X"D
560  PRINT "CHECK THE OTHERS, TOO.  WHEN YOU ARE READY TO CONTINUE,"
570  GOSUB 650
580  PRINT 
590  PRINT "IF YOU WISH TO USE THIS PROGRAM AGAIN TYPE 1, IF NOT TYPE 0"
600  INPUT X
610  IF X=1 THEN 210
620  IF X=0 THEN 720
630  PRINT "TYPE 1 OR 0 AS DIRECTED."
640  GOTO 600
650  PRINT "TYPE 1 AND HIT THE RETURN KEY."
660  INPUT X
670  IF X <> 1 THEN 660
680  PRINT 
690  PRINT 
700  PRINT 
710  RETURN 
720  END 
