Добавил:
bagiwow
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование / Лабораторные / ЭВТ-1-Паскаль / LABA5
.PAS 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.
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-Паскаль