Изобразить график функции в координатных осях - Pascal ABC
Формулировка задачи:
Помогите, пожалуйста, изобразить это в паскале. Заранее спасибо!
Решение задачи: «Изобразить график функции в координатных осях»
textual
Листинг программы
uses GraphABC; var x0,y0,h,i,x,y:integer; begin h:=40; setwindowsize(24*h,8*h); centerwindow; x0:=h+9*(windowwidth-2*h)div 21; y0:=4*h; line(h,y0,windowwidth-h,y0); line(x0,h div 2,x0,windowheight-h); line(x0,0,x0-h div 4,h div 2); line(x0,0,x0+h div 4,h div 2); line(x0-h div 4,h div 2,x0+h div 4,h div 2); floodfill(x0,h div 2-2,clBlack); setfontsize(12); setfontstyle(fsBold); textout(x0+25,0,'Y'); line(windowwidth-h div 2,y0,windowwidth-h,y0+h div 4); line(windowwidth-h div 2,y0,windowwidth-h,y0-h div 4); line(windowwidth-h,y0+h div 4,windowwidth-h,y0-h div 4); floodfill(windowwidth-h+2,y0,clBlack); textout(windowwidth-h,y0-30,'X'); textout(x0+5,y0+10,'0'); for i:=1 to 12 do begin line(x0+h*i,y0-3,x0+h*i,y0+3); if i mod 3=0 then textout(x0+h*i,y0+10,inttostr(i)); if i<10 then begin line(x0-h*i,y0-3,x0-h*i,y0+3); if i mod 3=0 then textout(x0-h*i,y0+10,inttostr(-i)); end; if i<4 then begin line(x0-3,y0-i*h,x0+3,y0-i*h); line(x0-3,y0+i*h,x0+3,y0+i*h); if i=3 then begin textout(x0-20,y0-i*h-10,inttostr(i)); textout(x0-25,y0+i*h-10,inttostr(-i)) end; end; end; setpenwidth(2); line(x0+11*h,y0-2*h,x0+6*h,y0+3*h); line(x0+6*h,y0+3*h,x0+3*h,y0-3*h); arc(x0,y0-3*h,3*h,180,360); line(x0-3*h,y0-3*h,x0-7*h,y0-3*h); x:=x0+round(3*h*cos(-pi/4)); y:=y0-3*h-round(3*h*sin(-pi/4)); line(x0,y0-3*h,x-15,y-15); line(x,y,x-10,y-20); line(x,y,x-20,y-10); line(x-10,y-20,x-20,y-10); floodfill(x-5,y-5,clBlack); textout(x0+2*h,y0-2*h,'R'); setpenstyle(psDash); line(x0-3*h,y0-3*h,x0+3*h,y0-3*h); line(x0-3*h,y0-3*h,x0-3*h,y0); line(x0+3*h,y0-3*h,x0+3*h,y0); line(x0+6*h,y0+3*h,x0+6*h,y0); line(x0,y0+3*h,x0+6*h,y0+3*h); end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д