Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program PR1C1DT;
- uses
- Graph, CRT, CALCUNIT;
- var
- ga, gm, error : integer;
- X, Y, e, step : real;
- A, MX, MX05, MY, MY05, MY005, MSY, MSX : integer;
- ST : string[4];
- begin
- ga := detect;
- gm := detect;
- initgraph(ga, gm, '');
- error := graphresult;
- if(error <> grok) then begin
- writeln('ERROR GRAPHICS INIT', #10#13, grapherrormsg(error));
- halt;
- end;
- MX := GetMaxX;
- MY := GetMaxY;
- MX05 := round(0.5 * MX);
- MY05 := round(0.5 * MY);
- MY005 := round(0.05 * MY);
- setColor(14);
- Line(5, MY05, MX-10, MY05);
- Line(MX05, MY005, MX05, MY-9);
- Line(MX-10, MY05, MX-20, MY05+3);
- Line(MX-10, MY05, MX-20, MY05-3);
- Line(MX05, MY005, MX05+3, MY005+10);
- Line(MX05, MY005, MX05-3, MY005+10);
- SetTextStyle(0, 0, 1);
- SetColor(14);
- OutTextXY(MX05 - 40, MY005, ' Y ');
- OutTextXY(MX-40, MY05-40, ' X ');
- MSY := 30 + round(MY/3);
- Y := -1;
- while(Y <= 1) do begin
- str(Y : 4 : 1, st);
- A := round(MY05 - MSY * Y);
- Line(MX05 + 3, A, MX05 - 3, A);
- OutTextXY(MX05 - 40, A - 3, ST);
- Y := Y + 0.1;
- end;
- MSX := round(MX/3);
- X := -1;
- while(X <= 1) do begin
- STR(X : 4 : 1, ST);
- A := round(MX05 + MSX * X);
- Line(A, MY05 + 3, A, MY05 - 3);
- OutTextXY(A, MY05 + 15, ST);
- X := X + 0.1;
- end;
- //////////////////////
- e := 1E-3;
- x := -0.9;
- step := 0.001;
- while(X <= 0.9) do begin
- Y := WRF(x, e);
- PutPixel(round(MX05 + MSX * X), round(MY05 - MSY * Y), 2);
- X := X + step;
- end;
- OutTextXY(5, 5, 'Y = arctg(x)');
- //////////////////////
- readln();
- closeGraph;
- end.
Add Comment
Please, Sign In to add comment