program lab4;
uses crt, graphabc;
const a=0;
      b=10;
      c=0.05;
      m=10;
      d=250;
      
var y,r,e:real;
    n:integer;
    dy: array[1..100] of real;
    dx: array[1..100] of real;

function f(x,y:real):real;
begin
//f:=2*x+y-1;
f:=sin(x);
end;

procedure euler(n:integer; var y:real);
var x,h:real;
    i:integer;
begin
     x:=0;
     y:=1;
     h:=(b-a)/n;
     for i:=1 to n do begin
         y:=y+h*f(x,y);
         x:=x+h;
         dy[i]:= y;
         dx[i]:= x;
     end;
end;


procedure draweuler;
var i:integer; xc, yc:integer;
begin
     xc:= trunc(dx[1]*m);
     yc:= trunc(dy[1]*m);
     moveto(xc+d, d-yc);
     for i:= 2 to n do begin
         xc:= trunc(dx[i]*m);
         yc:= trunc(dy[i]*m);
         lineto(xc+d, d-yc);
     end;
end;


procedure drawaxis;
var i,j:integer;
begin
     moveto(trunc(dx[1]*m+d), trunc(d-dy[1]*m));
     lineto(trunc(dx[1]*m+d), 5);
     moveto(trunc(dx[1]*m+d), trunc(d-dy[1]*m));
     lineto(400, trunc(d-dy[1]*m));
end;



begin

clrscr;
write('n=');
readln(n);
write('e=');
readln(e);
euler(n,y);
clrscr;
draweuler;
setpencolor(clred);
drawaxis;



end.







