Помощь - Поиск - Пользователи - Календарь
Полная версия: График
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
RIDDICK
Код
{$N+}
{$E+}
Uses Graph,crt;
const
{ OPTIONS }
shag=0.0001;
lgr = -50;
pgr = 50;
zcrtX=320;
zcrty=240;
mtrX=10;
mtrY=10;
colorG=15;
colorOXY=4;
OXYminX=-200;
OXYmaxX=200;
OXYminY=-200;
oxymaxY=200;

Var grDriver : Integer;
    grMode : Integer;

  x,y:real;{extended;}
      i:integer;
Begin
grDriver:=Detect;
InitGraph(grDriver, grMode, '');
for i:=OXYminX to OXYmaxX do putpixel(zcrtX+i,zcrty,colorOXY);
for i:=OXYminY to OXYmaxY do putpixel(zcrtX,zcrty-i,colorOXY);

x:=lgr;
while x<=pgr do
begin
{ readln(x);}
{***} if x<>2 then begin y:=sqrt(1.7*x*x + 0.5) / (1.4 + sqrt(1.2*x + 1.5)); {***}
{ writeln(y:1:8);}
putpixel(zcrtx+trunc(x*mtrX),zcrty-trunc(y*mtrY),colorg) end;
x:=x+shag;
end;
readkey;
closegraph;
end.


пишет что-то про переполнение буфера с плав. точкой... если сделать график без корня в знаменателе, то все ок...
klem4
а зачем у тебя эта проверка :
if x<>2 then begin 


у тебя то совсем другая должна быть, чтобы оба подкоренных были >=0.
RIDDICK
я так и думал))) псиб)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.