program ketvaltozosfgv; {szintvonalas abrazolas} uses newdelay,crt,graph; const n=100; m=100; path = 'c:\langs\tp70\bgi'; ax=3; {teglalap x iranyu arnyeka} ay=3; {teglalap y iranyu arnyeka} kn=400; {maximalis oszlopmagassag} nz=200; {nagyitasi tenyezo} var fgv:array[1..n,1..m] of real; i,j:integer; sx,sy,sdb,odb:word; sk,ok:integer; sor,oszlop:integer; Procedure Szovegesre; begin CloseGraph; {lezarja a grafikus uzemmodot} RestoreCrtMode; {Visszaallitja az InitGraph meghivasa elotti kepernyokezelesi modot} end; Procedure Grafikusra; Var gd,gm : integer; Begin DetectGraph(gd,gm); {detektalja a grafikus eszkozt} InitGraph(gd,gm,path); {inicializalja a grafikus rendszert} End; Procedure init; {inicializalja a kezdoertekeket} begin randomize; sx:=getmaxx; sy:=getmaxy; sdb:=n; odb:=m; sk:=round(sy/sdb); ok:=round(sx/odb); rectangle(0,0,(odb-1)*ok,sy); end; Procedure adatfeltoltes; {feltolti az fgv tombot adatokkal} var ii,jj:real; begin for i:=1 to n do for j:=1 to m do begin ii:=-3+i*0.06; jj:=-3+j*0.06; { fgv[i,j]:=sin(ii*ii*ii-jj*jj*jj);} { fgv[i,j]:=sin(ii*ii+jj*jj);} { fgv[i,j]:=sin(ii-jj);} { fgv[i,j]:=cos(ii*ii+jj*jj);} fgv[i,j]:=sin(ii*ii*ii*ii-jj*jj*jj*jj); end; end; Procedure kirajzolas(x:real); {az x erteknel nagyobb fuggvenyertekek helyen kirajzol egy pontot} begin for i:=1 to n do for j:=1 to m do begin if fgv[i,j]>=x then begin putpixel(ok*j-(ok div 2),sk*i-(sk div 2),2); end; end; end; function szint(f1,f2,x:real):boolean; begin szint:=((f1=x)) or ((f1>=x) and (f2