home *** CD-ROM | disk | FTP | other *** search
- program mormvert;
-
- uses hardcopybib,Graph;
- const
- pxl=29; pyo=15; pxr=609; pyu=379;
- xmin=-4; ymin=-0.1; xmax=4; ymax=0.4;
-
- var
- GraphDriver, GraphMode, n: integer;
- j, m, x, y, x1, y1, x2, y2, mastx, masty: real;
- xg, yg, xg1, yg1, xg2, yg2: word;
- text: string;
-
- procedure wxy(x,y: real);
- begin
- xg:=round(mastx*(x-xmin));
- yg:=round(pyu+masty*(y-ymin));
- end;
-
- procedure wxy1(x1,y1,x2,y2: real);
- begin
- xg1:=round(mastx*(x1-xmin));
- yg1:=round(pyu+masty*(y1-ymin));
- xg2:=round(mastx*(x2-xmin));
- yg2:=round(pyu+masty*(y2-ymin));
- end;
-
- procedure linew(x1,y1,x2,y2: real);
- begin
- wxy1(x1,y1,x2,y2);
- line(xg1,yg1,xg2,yg2);
- end;
- procedure linetow(x,y: real);
- begin
- wxy(x,y);
- lineto(xg,yg);
- end;
- procedure movetow(x,y: real);
- begin
- wxy(x,y);
- moveto(xg,yg);
- end;
- procedure outtextxyw(x,y: real; text: string);
- begin
- wxy(x,y);
- outtextxy(xg,yg, text);
- end;
-
- procedure initiale;
- begin
- GraphDriver := Detect;
- InitGraph(GraphDriver,GraphMode,'');
- if GraphResult <> grOk then
- Halt(1);
-
- mastx:=(pxr-pxl)/(xmax-xmin);
- masty:=(pyo-pyu)/(ymax-ymin);
- hardcopyon;
- end;
- procedure viewport;
- begin
- setcolor(lightgreen);
- setlinestyle(0,1,1);
- Rectangle((pxl-29),(pyo-14),(pxr+29),(pyu+14));
- Rectangle((pxl-24),(pyo-10),(pxr+24),(pyu+10));
- SetViewPort(pxl, pyo, pxr, pyu, ClipOff);
- end;
-
- procedure xyachse;
- begin
- setcolor(yellow);
- setlinestyle(0,1,1);
- x1:=xmin; y1:=0; x2:=xmax; y2:=0;
- linew(x1,y1,x2,y2);
-
- x1:=0; y1:=ymax; x2:=0; y2:=-0.02;
- linew(x1,y1,x2,y2);
- end;
-
- procedure xskalschr;
- begin
- settextstyle(4,horizdir,1);
- settextjustify(centertext,centertext);
- for n:= xmin to xmax do
- begin
- x1:=n; y1:=0; x2:=n; y2:=-0.01;
- linew(x1,y1,x2,y2);
- x:=n; y:=-0.04;
- str(n,text);
- outtextxyw(x,y, text);
- end;
- end;
-
- procedure yskalschr;
- begin
- for n:=1 to 10 do
- begin
- x1:=-0; y1:=n/10; x2:=0.2; y2:=n/10;
- linew(x1,y1,x2,y2);
- x:=1; y:=n/10;
- str(n/10:1:1,text);
- outtextxyw(x,y,text);
- end;
- end;
-
- procedure Bezeich;
- begin
- settextstyle(4,horizdir,4);
- setcolor(lightcyan);
- x:=xmin/1.5; y:=ymax;
- outtextxyw(x,y,'Normalverteilung');
- end;
-
- procedure Kurve;
- begin
- x:=xmin; y:=0;
- movetow(x,y);
-
- setcolor(lightred);
- setlinestyle(0,3,1);
- m:=xmin;
- for n:=0 to pxr-pxl do
- begin
- x:=m;
- y:=1/sqrt(2*pi)*exp(-(x*x)/2);
- linetow(x,y);
- m:=m+(1/mastx);
- end;
- end;
-
- { Hauptprogramm }
- begin
- initiale;
- viewport;
- xyachse;
- xskalschr;
- yskalschr;
- bezeich;
- kurve;
-
- Readln;
- CloseGraph;
- hardcopyoff;
- end.
-