Основные процедуры модуля graph.
PutPixel(x,y,color)- установка точки с координатами (х,у) и заданным цветом
SetColor(color)- установка заданного цвета
SetBkColor(color)- установка цвета фона
Line(x1,y1,x2,y2)- рисование линии с координатами вершин (х1,у1), (х2, у2)
Cercle(x,y,r)- рисование окружности с центром (х, у) и радиусом r
OutTextXY(x,y,s)- вывод строки s , начиная с позиции (х,у)
Рассмотрим примеры:
Написать программу, рисующую паутину.
program _;
uses crt, graph;
var i:byte;
procedure ini;
var Dr, mo:integer;
begin
dr:=detect;
initgraph(dr,mo,'c:\bp\bgi');
end;
begin
ini;
setbkcolor(blue);
setcolor(7);
line(0, getMaxY, GetMaxX,0);
Delay(1000);
setcolor(14);
line(0,0,GetMaxX, getMaxY);
Delay(1000);
setcolor(10);
line(0, getMaxY div 2, GetMaxX,GetMaxY div 2);
Delay(1000);
setcolor(4);
line(getMaxX div 2, 0,GetMaxX div 2, GetMaxY);
Delay(1000);
For i:=2 to 20 do
begin
setColor(i+1);
circle(GetMaxX div 2, GetMaxY div 2,getMaxY div i);
end;
OutTextXY ((GetMaxX div 2) -24,5,'ПАУТИНА');
readln;
closegraph;
end.
Написать программу, которая выводит графики функций у=2х2 на отрезке (-5;5).
program _;
uses graph,crt;
var u,v,x1,y1,x2,y2,xc,yc: integer;
x,y:real;
procedure ini;
var driver, mode: integer ;
begin
driver:=detect;
initgraph(driver,mode,'c:\bp\bgi');
end;
procedure osi;
begin
setcolor(10);
line(0, getMaxY div 2, GetMaxX,GetMaxY div 2);
line(getMaxX div 2, 0,GetMaxX div 2, GetMaxY);
end;
procedure par;
var x,y:real;
u,v,k:integer;
begin
x:=-5;
while x<=5 do
begin
y:=2*x*x;
u:=round(x*(getmaxx/10)+getmaxx div 2);
v:=round(-y*(getmaxy/25)+getmaxy div 2 );
putpixel(u,v,red);
x:=x+0.01;
end;
begin
ini;
setbkcolor(green) ;
cleardevice;
osi;
par;
readln;
closeGraph;
end.
Дома: построить график функции y= sin(x)
Лекция 44.
Откройте тетради и проверим домашнее задание. Напомню задачу: «Построить график функции y=sin(x) на интервале (-2п;2п)». Посмотрите на экран монитора. Верно? У вас так? (в задаче намерено допущено несколько ошибок, необходимо вместе найти их, исправить)
Program _;
var dr, mo, gx,gy: integer;
x,y: real;
begin
initGraph(dr, mo, 'd:\bp\bgi');
Line(GetMaxX div 2,0,GetMaxX div 2, getMaxY);
Line(0,GetMaxY div 2,getMaxX, GetMaxY div 2);
x:=-2*pi;
while x<=2*pi do
begin
y:=sin(x);
PutPixel(x,y,6);
x:=x+0.001;
end;
readln;
end.
Program _;
uses graph;
var dr, mo, gx,gy: integer;
x,y: real;
begin
dr:=detect; initGraph(dr, mo, 'd:\bp\bgi');
Line(GetMaxX div 2,0,GetMaxX div 2, getMaxY);
Line(0,GetMaxY div 2,getMaxX, GetMaxY div 2);
x:=-2*pi;
while x<=2*pi do
begin
y:=sin(x);
gx:=round(x*(getMaxX/(4*pi))+GetMaxX div 2);
gy:=round(-y*(getMaxy/8)+GetMaxY div 2);
PutPixel(gx,gy,6);
x:=x+0.001;
end;
readln;
closeGraph;
end.
Есть вопросы по задаче?
Записали новую тему:
Дата добавления: 2016-05-25; просмотров: 587;