/* Mandelbrot Set for Nascom Basic tfurrows@sdf.org, tfurrows@grex.org Mandelbrot in NASCOM Basic, adapted from the RC2014 example code. A few test versions are also included below, with varied results. Original RC2014 version: 10 MAXITER=20 20 LET C$=" .,'~!^:;[/<&?oxOX# " 30 FOR Y=-39 TO 39 40 FOR X=-39 TO 39 50 CREAL=X/20 70 CIMAG=Y/20 80 ZREAL = CREAL 90 ZIMAG = CIMAG 95 COUNT = 1 100 ZM = ZREAL*ZREAL 105 ZN = ZIMAG*ZIMAG 107 ZL = ZM+ZN 110 IF ZL>4 THEN GOTO 170 120 ZR2=ZM-ZN+CREAL 130 ZIMAG=ZREAL*ZIMAG*2+CIMAG 140 ZREAL=ZR2 150 COUNT=COUNT+1 160 IF COUNT4 THEN GOTO [MID] ZB=ZM-ZN+CR:ZI=ZR*ZI*2+CI ZR=ZB:CN=CN+1 IF CN4 THEN GOTO 12 9 ZB=ZM-ZN+CR:ZI=ZR*ZI*2+CI 10 ZR=ZB:CN=CN+1 11 IF CN4 THEN GOTO [PRINT CHR] ZB=ZM-ZN+CR:ZI=ZR*ZI*2+CI ZR=ZB:CN=CN+1 IF CN4 THEN GOTO 22 16 ZB=ZM-ZN+CR:ZI=ZR*ZI*2+CI 18 ZR=ZB:CN=CN+1 20 IF CN4 THEN GOTO [MID] ZB=ZM-ZN+CR:ZI=ZR*ZI*2+CI ZR=ZB:CN=CN+1 IF CN4 THEN GOTO 15 12 ZB=ZM-ZN+CR:ZI=ZR*ZI*2+CI 13 ZR=ZB:CN=CN+1 14 IF CN4.0 GOTO 130 110 Z2=2*Z1*Z2+I3\Z1=A-B+R3 120 NEXT N 130 PRINT CHR$(62-N); 140 NEXT X 150 PRINT 160 NEXT Y 170 END */ /* modified for Nascom */ 10 X1=59:Y1=21 20 I1=-1.0:I2=1.0:R1=-2.0:R2=1.0 30 S1=(R2-R1)/X1:S2=(I2-I1)/Y1 40 FOR Y=0 TO Y1 50 I3=I1+S2*Y 60 FOR X=0 TO X1 70 R3=R1+S1*X:Z1=R3:Z2=I3 80 FOR N=0 TO 30 90 A=Z1*Z1:B=Z2*Z2 100 IF A+B>4.0 GOTO 130 110 Z2=2*Z1*Z2+I3:Z1=A-B+R3 120 NEXT N 130 PRINT CHR$(62-N); 140 NEXT X 150 PRINT 160 NEXT Y 170 END