image of READY prompt

Wang2200.org

Listing of file='2' on disk='vmedia/glbr_22.wvd.zip'

# Sector 224, program filename = '2'
0001 DIM B(22),E(22),W(22),C(22)
0005 E0=1E-12
   : E1=1E-4
   : E4=1E-20
   : K1=100
   : S5=0
0010 PRINT "DEGREE OF POLYNOMIAL?"
   : INPUT N
0015 PRINT "ENTER COEFF.: A0,A1,...,AN 1/LINE"
0020 FOR I=1 TO N+1
   : INPUT B(N-I+2)
0025 NEXT I
   : IF ABS(B(1))>=E0 THEN 35
0030 PRINT "A(N) ZERO OR NEARLY ZERO. CALCULATIONS END."
   : GOTO 999
0035 PRINT
   : PRINT "ROOTS:"
   : IF N<=2 THEN 350
0040 B(N+2)=0
   : N1=2*INT((N+1)/2)
0045 FOR M1=1 TO N1/2
   : P,Q=1
0050 FOR K=1 TO K1
   : FOR L=1 TO K1
0055 FOR I=1 TO N1+1
   : C(I)=B(I)
   : NEXT I
0060 FOR J=N1-2 TO N1-4 STEP -2
   : FOR I=1 TO J+1
0065 C(I+1)=C(I+1)-P*C(I)
   : C(I+2)=C(I+2)-Q*C(I)
0070 NEXT I
   : NEXT J
0075 R0=C(N1+1)
   : R1=C(N1)
0080 S0=C(N1-1)
   : S1=C(N1-2)
0085 V0=-Q*S1
   : V1=S0-S1*P
0090 D0=V1*S0-V0*S1
   : IF ABS(D0)>=E4 THEN 110
0095 P=P+5
   : Q=Q+5
0100 NEXT L
0110 D1=S0*R1-S1*R0
   : D2=R0*V1-V0*R1
0120 P1=D1/D0
   : Q1=D2/D0
   : P=P+P1
   : Q=Q+Q1
0130 IF ABS(R0)>=E1 THEN 150
   : IF ABS(R1)>=E1 THEN 150
0140 E(M1)=1
   : GOTO 210
0150 IF ABS(P1)>=E1 THEN 170
   : IF ABS(Q1)>=E1 THEN 170
0160 E(M1)=2
   : GOTO 210
0170 IF P=0 THEN 180
   : IF ABS(P1/P)>=E1 THEN 200
0180 IF Q=0 THEN 200
   : IF ABS(Q1/Q)>=E1 THEN 200
0190 E(M1)=3
   : GOTO 210
0200 NEXT K
   : E(M1)=4
0210 S=-P/2
   : T=S*S-Q
0220 IF T<0 THEN 240
   : T=SQR(T)
   : W(M1)=1
0230 PRINT
   : PRINT S+T
   : PRINT S-T
   : GOTO 260
0240 W(M1)=-1
   : T=SQR(-T)
0250 PRINT
   : PRINT S;"+I*";T
   : PRINT S;"-I*";T
0260 IF E(M1)=4 THEN 999
0270 FOR J=1 TO N1-1
0280 B(J+1)=B(J+1)-P*B(J)
   : B(J+2)=B(J+2)-Q*B(J)
0290 NEXT J
0300 N1=N1-2
   : IF N1>1 THEN 310
   : GOTO 999
0310 IF N1>=3 THEN 340
0320 M1=M1+1
   : E(M1)=1
0330 P=B(2)/B(1)
   : Q=B(3)/B(1)
   : GOTO 210
0340 NEXT M1
0350 IF N=2 THEN 370
0360 PRINT -B(2)/B(1)
   : GOTO 999
0370 B(3)=B(2)*B(2)-4*B(1)*B(3)
0380 S=-B(2)/2/B(1)
   : T=SQR(ABS(B(3)))/2/B(1)
0390 M1,E(4)=4
   : IF SGN(B(3))<0 THEN 250
   : GOTO 230
0999 END