Построение графика функции - Free Pascal
Формулировка задачи:
Построить график функции в паскале y=1/(x^2+3*x+1).
Решение задачи: «Построение графика функции»
textual
Листинг программы
uses graph; const x1=-5;//начало и конец графика в реальных значениях x2=2; var mx,my,x,dx,y:real; x0,y0,px,py,i,k:integer; s:string; begin initgraph(x0,y0,''); x0:=5*getmaxX div 7;//начало координат в центре экрана y0:=getmaxY div 2; mx:=(x0-20)/-x1;//масштаб по Х my:=(y0-20)/10; line(0,y0,getmaxX,y0); //оси line(x0,0,x0,2*y0); for i:=1 to 10 do //максимальное количество засечек в одну сторону begin line(x0-3,y0-round(i*my),x0+3,y0-round(i*my));//засечки на оси У line(x0-3,y0+round(i*my),x0+3,y0+round(i*my)); line(x0+round(i*mx),y0-3,x0+round(i*mx),y0+3); //засечки на оси Х line(x0-round(i*mx),y0-3,x0-round(i*mx),y0+3); //подпись оси У str(i,s); outtextXY(x0-25,y0-round(i*my),s);//оответственно засечкам outtextXY(x0-25,y0+round(i*my),'-'+s); //подпись оси Х} outtextXY(x0+round(i*mx),y0+10,s); outtextXY(x0-round(i*mx),y0+10,'-'+s); end; //центр outtextXY(x0+5,y0+10,'0'); //подписи концов осей outtextXY(getmaxX-20,y0-20,'X'); outtextXY(x0+10,10, 'Y'); dx:=0.0001; //график x:=x1; while x<=x2 do begin if abs(x*x+3*x+1)>dx then//если знаменатель не очень близко к 0 putpixel(x0+round(x*mx),y0-round(1/(x*x+3*x+1)),14); x:=x+dx; //наращиваем х end; readln end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д