Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
133
Добавлен:
02.05.2014
Размер:
813.06 Кб
Скачать

Лекция 43. Основные процедуры модуля 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.

Есть вопросы по задаче?

Записали новую тему: