dimon2242

Untitled

Jul 6th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.51 KB | None | 0 0
  1. Program PR1C1DT;
  2.  
  3. uses
  4.     Graph, CRT, CALCUNIT;
  5. var
  6.     ga, gm, error : integer;
  7.     X, Y, e, step : real;
  8.     A, MX, MX05, MY, MY05, MY005, MSY, MSX : integer;
  9.     ST : string[4];
  10. begin
  11.     ga := detect;
  12.     gm := detect;
  13.     initgraph(ga, gm, '');
  14.     error := graphresult;
  15.     if(error <> grok) then begin
  16.         writeln('ERROR GRAPHICS INIT', #10#13, grapherrormsg(error));
  17.         halt;
  18.     end;
  19.     MX := GetMaxX;
  20.     MY := GetMaxY;
  21.     MX05 := round(0.5 * MX);
  22.     MY05 := round(0.5 * MY);
  23.     MY005 := round(0.05 * MY);
  24.     setColor(14);
  25.  
  26.     Line(5, MY05, MX-10, MY05);
  27.     Line(MX05, MY005, MX05, MY-9);
  28.     Line(MX-10, MY05, MX-20, MY05+3);
  29.     Line(MX-10, MY05, MX-20, MY05-3);
  30.     Line(MX05, MY005, MX05+3, MY005+10);
  31.     Line(MX05, MY005, MX05-3, MY005+10);
  32.  
  33.     SetTextStyle(0, 0, 1);
  34.     SetColor(14);
  35.     OutTextXY(MX05 - 40, MY005, ' Y ');
  36.     OutTextXY(MX-40, MY05-40, ' X ');
  37.  
  38.     MSY := 30 + round(MY/3);
  39.     Y := -1;
  40.     while(Y <= 1) do begin
  41.         str(Y : 4 : 1, st);
  42.         A := round(MY05 - MSY * Y);
  43.         Line(MX05 + 3, A, MX05 - 3, A);
  44.         OutTextXY(MX05 - 40, A - 3, ST);
  45.         Y := Y + 0.1;
  46.     end;
  47.     MSX := round(MX/3);
  48.     X := -1;
  49.     while(X <= 1) do begin
  50.         STR(X : 4 : 1, ST);
  51.         A := round(MX05 + MSX * X);
  52.         Line(A, MY05 + 3, A, MY05 - 3);
  53.         OutTextXY(A, MY05 + 15, ST);
  54.         X := X + 0.1;
  55.     end;
  56. //////////////////////
  57.     e := 1E-3;
  58.     x := -0.9;
  59.     step := 0.001;
  60.     while(X <= 0.9) do begin
  61.         Y := WRF(x, e);
  62.         PutPixel(round(MX05 + MSX * X), round(MY05 - MSY * Y), 2);
  63.         X := X + step;
  64.     end;
  65.     OutTextXY(5, 5, 'Y = arctg(x)');
  66. //////////////////////
  67.     readln();
  68.     closeGraph;
  69. end.
Add Comment
Please, Sign In to add comment