Показать сообщение отдельно
  (#1 (permalink)) Старый
durachok durachok вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.12.2008
По умолчанию решена задача в паскале правильно или нет? - 27.12.2008, 09:26

задание прикреплено снизу

------------------------------------------------------------------

uses graph,crt;
var Koordx,koordy,x0,y0,dx,dy,dk,gd,gm,i,l,intsn,d,n:i nteger;
x1,x2,x,y,sn,xx:real;
s:string;
begin
repeat
writeln('vvedite x1 i x2 (x1<x2)');
readln(x1,x2);
until x2>x1;
gd:=detect;
initgraph(gd,gm,'');
dx:=round((getmaxx-2*20)/(x2-x1));
dy:=3*dx div 2;
X0:=round(20-dx*x1);
Y0:=getmaxY div 2;
setcolor(white);
line(0, Y0, getmaxx, Y0);
OutTextXY(getmaxx-10, Y0-15, 'X');
if trunc(x2) - round(x1) > 20 then
dk:=(trunc(x2) - round(x1)) div 20 +1
else dk:=1;
for i:=round(x1) to trunc(x2) do
if i mod dk = 0 then
begin
str(i,s);
Line(X0+round(i*dx), Y0-5,X0+round(i*dx), Y0+5);
OutTextXY(X0+round(i*dx), Y0+5, s);
end;
if x1*x2<0 then
begin
Line(X0, 1,X0, getmaxy);
OutTextXY(X0+5, 5, 'Y');
end;
setcolor(green);
n:=600; xx:=(x2-x1)/(N-1);
x:=x1; y:=sin(x);
KoordX:=X0+round(x*dx);
KoordY:=Y0-round(y*dy);
MoveTo(KoordX,KoordY);
for i:=1 to N-1 do begin x:=x+xx; y:=sin(x);
KoordX:=X0+round(x*dx);
KoordY:=Y0-round(y*dy);
LineTo(KoordX,KoordY);
end;
repeat until keypressed;
closegraph;
end.
Изображения
 
Ответить с цитированием
Ads