' Kleines Apfelm„nnchen TYPE Komplex r AS SINGLE i AS SINGLE END TYPE DECLARE SUB AddiereKomplex (a AS Komplex, b AS Komplex, s AS Komplex) DECLARE SUB Multipliziere (a AS Komplex, b AS Komplex, p AS Komplex) DECLARE FUNCTION KomplexABS! (a AS Komplex) DIM z0 AS Komplex, z AS Komplex, c AS Komplex, t AS Komplex INPUT "Rechentiefe"; rMax% INPUT "Konstante z0 (Real, Imagin„r)"; z0.r, z0.i INPUT "Ausschnitt (xMin,xMax,yMax)"; xMin!, xMax!, yMax! SCREEN 12 fakt! = (xMax! - xMin!) / 640! FOR y% = 0 TO 479 c.i = yMax! - CSNG(y%) * fakt! FOR x% = 0 TO 639 c.r = xMin! + CSNG(x%) * fakt! z = z0 r% = 0 WHILE r% < rMax% AND KomplexABS(z) < 2! ' Formel z(i+1)=z(i)^2+c Multipliziere z, z, t AddiereKomplex t, c, z r% = r% + 1 WEND IF r% = rMax% THEN PSET (x%, y%), 0 ELSE PSET (x%, y%), 1 + r% MOD 15 END IF NEXT x% NEXT y% d$ = INPUT$(1) SCREEN 0 WIDTH 80, 25 SUB AddiereKomplex (a AS Komplex, b AS Komplex, s AS Komplex) s.r = a.r + b.r s.i = a.i + b.i END SUB FUNCTION KomplexABS! (a AS Komplex) KomplexABS! = SQR(a.r * a.r + a.i * a.i) END FUNCTION SUB Multipliziere (a AS Komplex, b AS Komplex, p AS Komplex) p.r = a.r * b.r - a.i * b.i p.i = a.r * b.i + a.i * b.r END SUB