АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Графический модуль

Читайте также:
  1. I. 2.1. Графический метод решения задачи ЛП
  2. II БИБЛИОГРАФИЧЕСКИЙ СПИСОК (ДОПОЛНИТЕЛЬНЫЙ)
  3. БИБЛИОГРАФИЧЕСКИЙ СПИСОК
  4. Библиографический список
  5. Библиографический список
  6. Библиографический список
  7. Библиографический список
  8. Библиографический список
  9. Библиографический список
  10. БИБЛИОГРАФИЧЕСКИЙ СПИСОК
  11. Библиографический список
  12. Библиографический список

Unit Gra1;

INTERFACE

uses Dos,graph;

 

var gd,gm,i,j,CX,CY,NewX,NewY:integer;

X_0,Y_0,Dx,Dy:real;

Otr,MasX,MasY:real;

St:string[7];

First:boolean;

procedure FirstRis;

procedure Coordos(X0,Xk:real;Nx:integer;Y0,Yk:real;Ny:integer;StrX,StrY:string);

procedure ris(x,y:real;p1:integer);

IMPLEMENTATION

procedure FirstRis;

begin

First:=true;

end;

function CoorX(Xtek:real):integer;

begin

CoorX:=70+round(MasX*(Xtek-X_0));

end;

function CoorY(Ytek:real):integer;

begin

CoorY:=GetMaxY-100-round(MasY*(Ytek-Y_0));

end;

procedure CoordOs(X0,Xk:real;Nx:integer;Y0,Yk:real;Ny:integer;StrX,StrY:string);

begin

gd:=detect;

InitGraph(gd,gm,'C:\BP\bgi');

{Определение графического окна}

SetViewPort(0,0,GetMaxX,GetMaxY,ClipOn);

ClearViewPort;

SetBkColor(0);

SetColor(11);

X_0:=X0;Y_0:=Y0;

Dx:=(Xk-X0)/Nx;

MasX:=(GetMaxX-120)/(Xk-X0);

Dy:=(Yk-Y0)/Ny;

MasY:=(GetMaxY-150)/(Yk-Y0);

{Вывод сетки и надписей по осям}

SetColor(11);

for i:=0 to Nx do

begin

Otr:=X0+i*Dx;

CX:=CoorX(Otr);

Line(CX,50,CX,GetMaxY-100);

Str(Otr:6:2,St);

OutTextXY(CX-40,GetMaxY-90,St);

end;

for j:=0 to Ny do

begin

Otr:=Y0+j*Dy;

CY:=CoorY(Otr);

Line(70,CY,GetMaxX-50,CY);

Str(Otr:6:0,St);

OutTextXY(15,CY-5,St);

end;

OutTextXY(GetMaxX-40,GetMaxY-105,Strx);

OutTextXY(60,30,Stry);

end{CoordOs};

procedure Ris(x,y:real;p1:integer);

begin

SetColor(p1);

SetLineStyle(0,1,1);

Newx:=CoorX(x);

Newy:=CoorY(y);

if First then

begin

MoveTo(NewX,NewY);

First:=false;

end

else

LineTo(NewX,NewY);

end{Ris};

end.

 

 

Результат расчета по приведенной программе приведен на рис. 4.

Рис. 4

 


1 | 2 | 3 | 4 | 5 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.)