- •Тема_7: Робота в графічному режимі
- •Приклади побудови графічних зображень.
- •Створення ефекту руху зображення в графічному режимі.
- •1. Текстовий та графічний режими роботи
- •2. Ініціалізація графічного режиму
- •InitGraph (grDriver, grMode, “шлях до драйвера”);
- •3. Бібліотека Graph
- •Стандартні процедури та функції для побудови графічних зображень
- •4. Приклади побудови графічних зображень
- •Var grDriver: integer;
- •Var grDriver:integer;
- •InitGraph(grDriver,grMode,grPath);
- •Var grDriver:integer;
- •InitGraph(grDriver,grMode,grPath);
- •5. Створення ефекту руху зображення в графічному режимі
- •Var grDriver:integer;
- •I:integer;
- •Var grDriver:integer;
- •I:integer; {параметр циклу}
- •InitGraph(grDriver,grMode,grPath);
- •6. Відтворення звуку
4. Приклади побудови графічних зображень
Приклад 1. Вивести в центрі екрану коло з радіусом 100, зафарбоване в жовтий колір.
Блок-схема програми:
Текст програми:
Program PR1;
Uses Graph,Crt;
Var grDriver: integer;
grMode: integer;
grPath: string;
Begin
grDriver:=Detect;
grPath:='C:/bp/bgi';
InitGraph(grDriver,grMode,grPath); {ініціалізація графічного режиму}
SetFillStyle(SolidFill,Yellow); {суцільне заповнення області жовтим кольором}
SetColor(Yellow); {колір ліній - жовтий}
PieSlice(GetMaxX div 2+1,GetMaxY div 2+1,0,360,100); {коло}
readln;
CloseGraph; {вихід з графічного режиму}
readln
End.
Приклад 2. Вивести на екран графік та таблицю значень функції .
Текст програми:
Program PR2
Uses Graph,Crt;
Const xp=-10; {початкове значення аргумента x}
xk=10; {кінцеве значення аргумента x}
dx=1; {крок}
Var grDriver:integer;
grMode:integer;
grPath,k,l,s,st:string;
centrX,CY,centrY,mx,my,px,py,p,z,j:integer;
y,x:real;
Begin
grDriver:=Detect;
grPath:='C:/bp/bgi';
InitGraph(grDriver,grMode,grPath);
centrX:=GetMaxX div 2+1; {центр екрану по осі абсцис}
centrY:=GetMaxY div 2 +1; {центр екрану по осі ординат}
Line (centrX,50,centrX,450);
Line(50,centrY,GetMaxX-50,centrY);
OutTextXY(20,1,'x');
OutTextXY(80,1,'y');
Line(0,10,120,10);
Line(50,0,50,225);
Line(0,0,0,225);
Line(0,0,120,0);
Line(120,0,120,225);
Line(0,225,120,225);
Line(centrX,50,centrX+6,60);
Line(centrX,50,centrX-6,60);
Line(590,CentrY,580,CentrY+7);
Line(590,CentrY,580,CentrY-7);
OutTextXY(CentrX+10,50,'y');
OutTextXY(580,CentrY-15,'x');
mx:=20; {множник координат точок графіка по осі абсцис}
my:=10; {множник координат точок графіка по осі ординат}
x:=xp;
z:=-10; {число по осі абсцис, яке далі будемо виводити на екран}
j:=-1; {число по осі ординат, яке далі будемо виводити на екран}
CY:=centrY;
While x<=xk do
begin
y:=-sqr(x)/5; {задана функція}
px:=centrX+round(x*mx); {координати точки графіку по осі абсцис}
py:=centrY-round(y*my); {координати точки графіку по осі ординат}
if x+1<=xk then
Line(px,py,centrX+round((x+dx)*mx),centrY-round(- sqr(x+dx)/5*my));
PutPixel(px,240,red); {вимальовує червоні точки графіку по осі абсцис}
PutPixel(px,py,red); {вимальовує червоні точки графіку по осі ординат}
Str(z,l); {перетворення числа z у символ l }
TextXY(px-7,230,l); {виведення на екран числа z}
Str(y:3:1,s);
OutTextXY(70,15+p,s);
OutTextXY(15,15+p,l);
z:=z+dx;
p:=p+10;
x:=x+dx;
If j>=-20 then
begin
CY:=CY+my;
Str(j,st);
OutTextXY(centrX,CY-3,st);
PutPixel(centrX,CY,red);
j:=j-1;
end;
end;
readln
End.
readln;
CloseGraph;
End.
Результати виконання програми:
Приклад 3. Вивести на екран задану фігуру та визначити площу її бічної поверхні.
Текст програми:
Program PR3
Uses Graph,Crt;