@=@ " UADRATIC QUATION OLVER - EVISED EPT. 26, 1988C@:r@ " BY . AY ANNER EWITT, @ -----------------------------------------------------@W1(238):W2(W179):W03: DEFAULT = 3 OPTIONS#AA$"4":B$"7":C$"2": 11000: CREATE SPECIAL CHARACTER SET7A&: W179 %]A$ 5W2: 6W2,1: 4,1:SWW1:SFW2A.W0$(01)" OLVE UADRATIC QUATION "A8W0$(02)" ROGRAM OCUMENTATION "ABW0$(03)" ROGRAM " BLW0$(04)" PTION # 4 "9BVW0$(05)" PTION # 5 "eB`W0$(06)" PTION # 6 "BjW0$(07)" PTION # 7 "BtW0$(08)" PTION # 8 "B~W0$(09)" PTION # 9 "CW0$(10)" PTION # 10 "/C OPTION SELECT LOOPBC 0,0,W1,24,1YC 519W2,2,W1,24C ""C " UADRATIC QUATION OLVER "C ""C " 3.A Y . AY ANNER"D ""OD "";: I1 W0: "";W0$(I);"": I:W32vD ""D ""D "ݟSE EYS TO ELECT"D  " "E "ݟRESS  TO XECUTE"EE ""VE( ""gE2 ""E< W1$: W1$" " W1$"" W1$"" 1350: 1440EF 1,15000,1: W1$"" 1470EP 1,15000,1: W1$"" W1$" " 1400EZ 1340Fd::KFn MOVE SELECTION BAR DOWN ONE LINE USING CURSOR KEY OR SPACE BAR~Fx W3W0 W31: "";W0$(W0):"": 1400F "";W0$(W31): "";W0$(W3)FW3W31: 1340F::F W1$(13) 1530: 1340F::G MOVE SELECTION BAR UP ONE LINE USING CURSOR KEYS8G W30 W31: 1340NG W3W0 W3W01fG W32 1 1340G "";W0$(W31): "";W0$(W32)GW3W31: W311 W3W0G 1340GW3W31: W3 2000,6000,7000,1560,1560,1560,1560,1560,1560,1560H 1340 H::H 1,15000,30VH" "PTION #";W3;"NOT DEFINED YET...": 2: 1180\H,:bH6:kH 15H 0,0, SW,24,1H 20SF,0, SW,24, 1H 6SF,1: 4,1H 9);" UADRATIC QUATIONS"H 9);"" I  20SF,4, SW,248I" OLUTIONS TO QUATIONS OF THE ORM:"jI  ""I*" X@ + X + = 0"I4" OLVE FOR X^, X_ IVEN ,,Þ"I> ""JH " "IJR " RESS  TO "gJ\ " "Jf " RESS  TO "Jp ""Ju 20SF,10, SW, 24: 1,30000,10Jz K$K K$(13) : 2220>K K$"X" K$"" 2610: EXIT PROGRAMHK 210NK:YK 2250_K:K -----------------------------K 0,12, SW,24:TAB0: SW79 TAB20K:K 13TAB);" :"K 13TAB);" = ";A$L 13TAB);" = ";B$$L 13TAB);" = ";C$4L 1,30000,7:L :QL 1: 1,0: "";rL$ 19TAB);: 1,A$::A(A$)L. 19TAB);: 1,B$::B(B$)L8 19TAB);: 1,C$::C(C$)LB : 1LL RETURNLV :L` :Lj  20SF,17, SW,249Mt I0:D(BB 4AC): D0 I1:D(D) : IMAGINARY ROOTS?M~ :EM :cM I1 2540: IMAG ROOTSM X1(B(BB4AC))2A:X1$(X1)M X2(B(BB4AC))2A:X2$(X2)M "":N " HEN X^ = ";X1$+N " AND X_ = ";X2$]N ""N 1,30000,15: K$: 2000: REPEAT FOR ANOTHER CASEN :N U B2A : V (D)2AN "":O " HEN OOTS ARE MAGINARY">O " X = ";U ;" \ ";V;"X I"pO ""vO :O( 1,30000,15: K$: 2000: REPEAT ANOTHER CASEO2 "  .. RE YOU SURE (Y/N) ?": 1,30000,30O< K$!PF K$"Y" 2000: REPEAT FOR ANOTHER CASE8PP 1180: EXIT HERE>PZ :DPd :qPo DOCUMENTATION ABOUT USING THIS PROGRAMPp 0,0,(238),24,1Pz 20((238)79),0,(238),24P "Q " UADRATIC QUATION OLVER BQ "ݖ uQ " HIS PROGRAM WILL SOLVE A QUADRATIC Q " EQUATION OF THE STANDARD FORM: Q "ݖ R "ݖ ݞX@ + ŸX + = 0 HR "ݖ |R " HE USER INPUTS THE VALUES FOR ,, R " AND THE PROGRAM WILL COMPUTE THE UN- R " KNOWN VALUES OF X THAT WILL SOLVE S " THE SPECIFIED EQUATION. JS " }S " T WILL ALSO FIND THE UNKNOWN ROOTS S " IN THE IMAGINARY (COMPLEX) CASE IF S " NO REAL SOLUTIONS EXIST. T$ " IT. " UST FOLLOW THE PROMPTS TO QUICK SO- |T8 " LUTIONS TO QUADRATIC EQUATIONS. TB " TL " UV " HU` " yUt "U~ K$: 1180U:UX 0,0,(238),24,1: 2604,24: 52748UZ "ROGRAM ENDED ...":U.' ------------------------------V8' ML JUMP TABLE1VB' 4C, 46, 30, 4C, 06, 30pVL' ML TO COPY CHAR RAM INTO VDC CALL: SYS 12291VV' A9, 00, A0, 20, 85, DA, 84, DBV`' A2, 12, A9, 20, 20, CC, CD, E8Vj' A9, 00, 20, CC, CD, A0, 00, A2Wt' 0F, A9, DA, 20, 74, FF, 20, CA)W~' CD, C8, C0, 08, 90, F1, A9, 00NW' 20, CA, CD, 88, D0, FA, 18, A5sW' DA, 69, 08, 85, DA, 90, E0, E6W' DB, A5, DB, C9, 30, 90, D8, 60W' ------------------------------W' ML TO COPY CHAR ROM INTO RAM CALL: SYS 12288!X' A2, 10, 86, FA, A2, 00, A0, 20FX' 86, FB, 84, FC, A2, 00, A0, D0kX' 86, FD, 84, FE, A0, 00, A2, 0EX' A9, FD, 20, 74, FF, 91, FB, C8X' D0, F4, E6, FC, E6, FE, C6, FAX' D0, EA, 60X' ------------------------------ Y* MODIFY CHARACTER SET IN RAM FOR QUADRATICS USERY* MACHINE LANGUAGE INTO RAM STARTING AT 12288}Y* 1,1: 10050: SET POINTER TO ML DATAY* J0 112: J$:JJ(J$): 12288J,JJ:: 12288Y+:Y+ J0 7: 10240J,0:: ERASE 'AT' SYMBOLZ+ CREATE SUPERSCRIPT '2' FOR SQUARING SYMBOL(Z + 10240,306Z+ 10241,6EZ + 10242,30TZ*+ 10243,24cZ4+ 10244,30iZ5+:Z. J0 7: 10464J,0:: ERASE 'POUND' SYMBOLZ. CREATE RAISED 'PLUS OR MINUS' SYMBOLZ. 10464,24Z. 10465,24Z/ 10466,126[/ 10467,24[/ 10468,24"[&/ 10469,002[0/ 10470,126A[:/ 10471,00G[D/:}[2 J0 7: 10480J,0:: ERASE 'UP ARROW' SYMBOL[2 CREATE SUBSCRIPT '1' FOR FIRST ROOT[2 10480,0[2 10481,0[2 10482,0[3 10483,24[3 10484,56[3 10485,24 \"3 10486,24\,3 10487,60"\63:Z\6 J0 7: 10488J,0:: ERASE 'LEFT ARROW' SYMBOL\6 CREATE SUBSCRIPT '1' FOR FIRST ROOT\6 10488,0\6 10489,0\6 10490,0\6 10491,60\6 10492,12\7 10493,60\ 7 10494,48\7 10495,60\7:4]: 2604,26: 12291:: ACTIVATE RAM CHARACTER SET:]:@]::F]:] F$="QUADRATICS":SCRATCH(F$):DSAVE(F$):DVERIFY(F$)