1 REM **** HP BASIC PROGRAM LIBRARY ******************************* 2 REM 3 REM ROOTS2: QUADRATIC EQUATION SOLVER 4 REM 5 REM 36625 REV A 6/73 6 REM 7 REM **** CONTRIBUTED PROGRAM ************************************ 100 REM THE ULTIMATE QUADRATIC SOLVER, UNTIL THE NEXT VERSION 110 REM CHARLES LOSIK, PIB, 7/21/70, BASIC 120 PRINT "THIS PROGRAM HANDLES ALL THE POSSIBLE CASES OF SOLUTION OF"; 125 PRINT "THE EQUATION :" 130 PRINT 140 PRINT " A * X ^ 2 + B * X + C = 0" 150 PRINT 160 PRINT "TYPE IN YOUR VALUES FOR A, B, AND C : "; 165 REM INPUT VALUES FOR A,B,C 170 INPUT A,B,C 171 PRINT 175 REM FOR ALL CASES, CHECK A=0 IR SO, THEN LINEARITY 180 IF A=0 THEN 802 185 REM D IS THE DISCRIMINANT 190 LET D=B*B-4*A*C 195 LET Z=2*A 200 IF D=0 THEN 710 210 IF D>0 THEN 610 300 REM D<0, IMAGINARY RESULTS 310 PRINT "DISCRIMINANT IS LESS THAN ZERO, SO ROOTS ARE IMAGINARY." 320 PRINT "THEY ARE OF THE FORM : P+I*Q , P-I*Q , WHERE :" 330 PRINT "P="-B/Z,"Q="SQR(-D)/Z 340 GOTO 900 600 REM D>0, SO REAL ROOTS 610 PRINT "DISCRIMINANT IS GREATER THAN ZERO, SO ROOTS ARE REAL." 620 PRINT "ROOTS ARE X1 AND X2 ." 630 PRINT "X1 ="(-B+SQR(D))/Z,"X2 ="(-B-SQR(D))/Z 640 GOTO 900 700 REM EQUAL ROOTS (D=0) 710 PRINT "DISCRIMINANT IS EUQAL TO ZERO, SO ROOTS ARE EQUAL. X ="-B/Z 720 GOTO 900 800 REM A=0, SO X=-C/B, UNLESS B=0 802 IF B <> 0 THEN 810 803 IF C=0 THEN 807 804 PRINT "MEANINGLESS STATEMENT." 806 GOTO 900 807 PRINT "O.K., SO ZERO = ZERO." 808 GOTO 900 810 PRINT "THE EQUATION IS LINEAR. X ="-C/B 900 PRINT 901 PRINT TAB(30);"***" 905 PRINT 910 PRINT 920 PRINT "DO YOU WANT ANOTHER RUN (0 = NO , 1 = YES ) : "; 930 INPUT Z 940 IF Z=1 THEN 150 950 IF Z <> 0 THEN 920 999 END