Скачиваний:
52
Добавлен:
10.12.2013
Размер:
1.92 Кб
Скачать
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-Паскаль