|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Графический модуль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
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.) |