Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2011, 01:06   #1
uppu.are
Пользователь
 
Регистрация: 16.05.2011
Сообщений: 25
По умолчанию График функции. отредактировать

В этой программе описано 3 графика собраных в один:
1.
if x>1 then F:=sqrt(abs(sin(x*x)/cos(x*x)))
2. else if(x>=0)and(x<=1) then F:=-2*x
3. else F:=exp(cos(x));
нужно убрать 1,3й и оставить только 2ой
помогите отредактировать

Код:
uses graph;
function F(x:real):real;
begin
if x>1 then F:=sqrt(abs(sin(x*x)/cos(x*x)))
else if(x>=0)and(x<=1) then F:=-2*x
else F:=exp(cos(x));
end;
var xn,xk,max,min,mx,my,x1,dx,y1,z:real;
    x,y:array[1..20] of real;
    n,x0,y0,i,px,py:integer;
    s:string;
begin
x0:=0;
initgraph(x0,y0,'');
xn:=-1;xk:=5;{интервал по Х}
x1:=xn;
n:=0;
max:=F(xn);
min:=F(xn);
while x1<=xk+0.25 do
 begin
  n:=n+1;
  x[n]:=x1;
  y[n]:=F(x1);
  if y[n]>max then max:=y[n];
  if y[n]<min then min:=y[n];
  x1:=x1+0.5;
 end;
x0:=round(getmaxX*abs(xn)/(xk-xn));{пропорционально положительным и отрицательным}
mx:=(getmaxX-x0-60)/xk;{масштаб по Х}
y0:=round(getmaxy*max/(max-min));{пропорционально положительным и отрицательным}
if max>abs(min) then z:=max else z:=abs(min);
my:=(y0-100)/z;{по У}
setbkcolor(15);{цвет фона}
setcolor(8);{цвет линий}
line(0,y0,getmaxX,y0);{оси}
line(x0,0,X0,getmaxY);
for i:=1 to 20 do{максимальное количество засечек в одну сторону}
  begin
    line(x0-3,y0+round(i*my/2),x0+3,y0+round(i*my/2));{засечки на оси У}
    line(x0-3,y0-round(i*my/2),x0+3,y0-round(i*my/2));
    line(x0+round(i*mx/2),y0-3,x0+round(i*mx/2),Y0+3); {засечки на оси Х}
    line(x0-round(i*mx/2),y0-3,x0-round(i*mx/2),Y0+3);
    str(i/2:0:1,s);
    {подпись оси У}
    outtextXY(x0-35,y0+round(i*my/2),'-'+s);{соответственно засечкам}
    outtextXY(x0-35,y0-round(i*my/2),s);
    {подпись оси Х}
    outtextXY(x0+round(i*mx/2),y0+10,s);
    outtextXY(x0-round(i*mx/2),y0+10,'-'+s);
  end;
{центр}
outtextXY(x0+5,y0+10,'0');
{подписи концов осей}
outtextXY(getmaxX-10,y0-10,'X');
outtextXY(x0-10,10, 'Y');
setcolor(8);
x1:=xn;
dx:=0.5;
moveto(x0+round(x[1]*mx),y0-round(y[1]*my));
for i:=1 to n do
 begin
  setcolor(12);
  lineto(x0+round(x[i]*mx),y0-round(y[i]*my));
  setcolor(10);
  circle(x0+round(x[i]*mx),y0-round(y[i]*my),2);
 end;
readln
end.
нужна быстрая помощь. спасибо
uppu.are вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
График функции dsf Общие вопросы C/C++ 4 17.12.2009 23:20
График функции ArtS Помощь студентам 3 30.11.2009 18:42
График функции. Bilargo Помощь студентам 0 09.11.2009 18:57
График функции russian-stalker Общие вопросы Delphi 2 30.09.2009 14:58
График функции Леха Общие вопросы Delphi 18 16.04.2007 20:50