Функция |
Назначение функции и формпльных параметров функции |
GetBkColor : word; |
Возвращает номер цвета в палитре, заданного последней процедурой SetColor. |
GetMaxX : integer; |
Возвращает максимальную координату Х для текущего драйвера в текущем режиме. |
GetMaxY : integer; |
Возвращает максимальную координату Y для текущего драйвера в текущем режиме. |
GetX : integer; GetY :integer; |
Возвращают координаты X и Y соответственно текущей позиции на экране относительно установленного графического окна. |
GraphResult : integer; |
Возвращает код последней графической операции и сбрасывает его в 0. |
TextHeight (TextString:string): word; |
Возвращает высоту строки в пикселях. Где: TextString–исходная строка. |
TextWidth (TextString:string):word; |
Возвращает длину строки в пикселях. Где: TextString–исходная строка. |
Задание: Построить график функции у=sin(x) (см. рис.1).
Program Grafik;
Uses {раздел описания библиотечных модулей}
Crt,Graph; {Graph-модуль работы в графическом режиме}
{Crt-работа с консолью для организации задержки}
Var {раздел описания переменных}
X0,Y0,i,j:word; {X0,Y0-координаты центра системы координат}
X,Y:real; {X,Y-текущие координаты}
Gd,Gm:integer; {Gd-код требуемого графического драйвера}
{Gm-код графического режима}
Gp:string; {Gp-путь к графическому драйверу}
Begin {начало программы}
Gd:=detect; {автоматическое определение типа графического} {драйвера}
Gp:='C:\Bp\Bgi'; {указан путь к графическому драйверу}
InitGraph(Gd,Gm,Gp); {инициализация графического режима}
if graphresult<>grOk then
begin {при неправильном включении графического режима}
{выдает сообщение об ошибке}
writeln('ошибка включения графического режима');
Halt;
end;
X0:=GetMaxX div 2; {абсцисса точки центра системы координат}
Y0:=GetMaxY div 2; {ордината точки центра системы координат}
SetBkColor(Blue); {установление текущего цвета фона экрана}
SetColor(White); {установление текущего цвета}
ClearDevice; {очистка графического экрана}
Line(X0,150,X0,GetMaxY-150); {рисование вертикальной оси координат}
Line(0,Y0,GetMaxX,Y0); {рисование горизонтальной оси координат}
for j:=0 to 10 do {цикл формирования графика функции}
begin
MoveTo(0,Y0); {перемещение указателя в точку с координатами(0,Y0)}
for i:=0 to GetMaxX do {перебор всех значений Х}
begin
X:=i*4*pi/GetMaxX;
Y:=sin(X);
LineTo(i,Y0-Round(Y*40)); {рисование графика функции}
end;
end; {график функции нарисован}
for i:=0 to 8 do {цикл формирования масштабных отрезков по оси Х}
begin
Line(i*80,Y0-3,i*80,Y0+3); {рисование масштабных отрезков по оси Х}
end;
for j:=0 to 2 do {цикл формирования масштабных отрезков по оси Y}
begin
Line(X0-3,200+j*40,X0+3,200+j*40); {рисование масштабных отрезков по} {оси Y}
end;
Line(X0-3,156,X0,150); {рисование левой части стрелки на}
{оси Y}
Line(X0+3,156,X0,150); {рисование правой части стрелки на} {оси Y}
Line(GetMaxX-6,Y0-3,GetMaxX,Y0); {рисование верхней части стрелки}
{на оси Х}
Line(GetMaxX-6,Y0+3,GetMaxX,Y0); {рисование нижней части стрелки}
{на оси Х}
OutTextXY (X0+6,150,'Y'); {вывод на экран надписи оси Y}
OutTextXY (GetMaxX-8,Y0-10,'X'); {вывод на экран надписи оси Х}
OutTextXY (GetMaxX-80,Y0+50,'y=sin(x)'); {вывод на экран надписи гра}
{фика функции}
OutTextXY (X0+5,Y0+5,'0'); {вывод на экран надпись центра}
{осей координат}
Delay(10500); {организация задержки изображения}
CloseGraph; {закрытие графического режима}
Readln;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.