Скачиваний:
77
Добавлен:
10.12.2013
Размер:
2 Кб
Скачать
☆
uses crt,graph;
var m,dr:integer; { „«п Ё­ЁжЁ «Ё§ жЁЁ Ја дЁЄЁ }
    err:integer; { Љ®¤ ®иЁЎЄЁ ЇаЁ Ё­ЁжЁ «Ё§ жЁЁ Ја дЁЄЁ }
    x,y:real;
    ch:char;
    cw,x0,y0,xc,yc,t,k,xp,yp:integer;
    a,b,c:real; { Љ®нддЁжЁҐ­вл Єў ¤а в­®Ј® га ў­Ґ­Ёп }

procedure por; { ђЁб㥬 Ї®а Ў®«г Ё ®бЁ 2222}
begin
cleardevice;
{ ђЁб㥬 ®бЁ }
setcolor(15);
line(x0,0,x0,getmaxy);
line(0,y0,getmaxx,y0);
{ Џaа Ў®«    y=a*sqr(x)+b*x+c }
xc:=round((-b/(2*a))*k+x0);
yc:=round(y0-(-sqr(b)/(4*sqr(a))+c)*k);

moveto(xc,yc);  { аЁб㥬 Їа ўго Ї®«®ўЁ­г Їaа Ў®«л }
x:=round(-b/(2*a));
y:=round(y0-(-sqr(b)/(4*a)+c));
for t:=1 to x0 do begin
                  x:=x+1/k;
                  y:=a*sqr(x)+b*x+c;
                  setcolor(cw);
                  xp:=round(x*k+x0);
                  yp:=round(y0-y*k);
                  lineto(xp,yp)
                  end;
moveto(xc,yc);  { аЁб㥬 «Ґўго Ї®«®ўЁ­г Їaа Ў®«л }
x:=round(-b/(2*a));
y:=round(y0-(-sqr(b)/(4*a)+c));
for t:=1 to x0 do begin
                  setcolor(cw);
                  x:=x-1/k;
                  y:=a*sqr(x)+b*x+c;
                  xp:=round(x*k+x0);
                  yp:=round(y0-y*k);
                  lineto(xp,yp)
                  end;
end;

BEGIN
dr:=0;
initgraph(dr,m,'c:\bpaskal\bgi\');
err:=graphresult;
if err<>0 then begin
               writeln('®иЁЎЄ  Ја дЁЄЁ:',grapherrormsg(err));
               halt
               end;
ch:=' ';
a:=1;
cw:=15;
{ Ќ е®¤Ё¬ бҐаҐ¤Ё­г нЄа ­  }
x0:=getmaxx div 2;
y0:=getmaxy div 2;
{ ‡ ¤ Ґ¬ Є®®дЁжЁҐ­в 㢥«ЁзҐ­Ёп Ја дЁЄ  дг­ЄжЁЁ   }
k:=25;

repeat

 ch:=readkey;
 if ch=#0 then ch:=readkey;
 case ch of
 #72: c:=c+5/k;
 #80: c:=c-5/k;
 #75: begin c:=c+5*x/k; b:=b+5/k;  end;
 #77: begin c:=c-5*x/k; b:=b-5/k; end;
 #60: a:=a+1/k;
 #62: a:=a-1/k;
 'q': setlinestyle(0,0,3);
 'Q': setlinestyle(0,0,1);
 {#59: help}
   end;

until ch=#13;
readln;
END.
Соседние файлы в папке ЭВТ-1-Паскаль