Графика

1. Объясните, для чего предназначен модуль GRAPH. Каким образом он подключается к работе, как совместить его работу с модулем CRT?

2. Как инициализируется и выключается графический режим?

3. Объясните, для чего предназначены и как используются стандартные процедуры построения основных элементов графических изображений.

4. Объясните, для чего предназначены и как используются стандартные функции основных элементов графических изображений.

5. Дайте формальное описание типа POINTTYPE как записи.

6. Объясните, для чего предназначены и как исполняются следующие команды:

(1) moveto(50,25); (2) moverel(-55,15); (3) t:=getmaxx; (4) p:= getmaxy div 2; (5) w:=getx+gety; (6) outtext(‘s=’); (7) outtextxy(18,getx,’sin=’); (8) closegraph; (9) putpixel(10+getx,100,0); (10) c:=getpixel(15,56); (11) circle(100,150,80); (12) sector(15,30,3.14,4.71,10,5); (13) floodfill(10+getx,20+gety,8); (14) var pol:array[1..25] of pointtype; (15) sound(1000); (16) delay(2000); (17) line(0,0,getmaxx,getmaxy); (18) lineto(10,30); (19) linerel(40,-10); (20) setlinestile(1,0,3); (21) rectangle(10,20,30,40); (22) bar(40,30,20,10); (23) bar3d(0,10,100,120,topon); (24) bar3d(10,100,110,120,topoff); (25) p[8].x:=random(getmaxx); (26) p[i].y:=10+i*5; (27) arc(100,120,0,1.57,50); (28) drawpoli(10,t); (29) ellipse(150,160,1.57,6.28,50,60); (30) pieslice(100,150,0,3.14,70); (31) fillellipse(100,50,20,30); (32) nosound;

7.Укажите смысловые и синтаксические ошибки:

(1) if getx mod 2 =0 then circle(100,-15,80); else ellipse(150,160,50); (2) for i:=1 to getmaxx/2 begin p[i].x:=random(10); drawpoly(10,p);end;
(3) if getmaxx mod 2=2 then circle(100,50.5,35) else arc(100,50,0,10,200); (4) s:=123; for i:=1 to 8 do outtextxy(10,100+2*(i-1),’s=’,s+i);
(5) moveto(15,30); moverel(-30,80); outtext(sin(15)); (6) i:=1;n:=length(a); while i>=n do insert(a,i,’23’); i:=i+1;
(7) setcolor(20); setlinestile(1,0,5); triangle(10,20,30,40,50,60); (8) bar3d(10,100,110,120,true);
(9) circle(10,10,50); floodfill(10,60,0); (10) ellipse(150,160,-1.57,6.28,5.0,6);

8.Что делает данный фрагмент программы?

(1) for i:=1 to 15 do begin circle(10+(i-1)*2,15+(i-1)*5,15*i); putpixel(10+(i-1)*2,15+(i-1)5,0); end; 4) setcolor(4); setstyleline(2,0,3); for i:=1 to 15 do begin k:=(i-1)*2; reсtangle(1+k,1+k,10+k*3,10+k*3); end;
(3)i:=1; while i<=15 do begin p[i].x:=random(getmaxx); p[i].y:=random(getmaxy);i:=i+1;end; p[i].x:=p[1].x; p[i].y:=p[1].y drawpoly(16,p);outtext(s); (3) x:=100;y:=150;moveto(x,y); for i:=1 to 20 do begin linerel(10,10);linerel(-10,10);end;
(2) x:=100;y:=150;moveto(x,y); for i:=1 to 20 do begin if i mod 2=0 then x:=x-20 else y:=y+15; lineto(x,y);end; (4) setcolor(5); circle(100,100,50); ellipse(100,100,0,6.28,25,50); floodfill(101,101,5);