214
SetFillStyle(LtSlashFill,Yellow);
Bar3D (300, 50, 340, 150, 15, TopOn);
if ReadKey=#0 then d:=ord(ReadKey);
CloseGraph;
end
end.
FillPoly процедурасы тұйық көпбұрыштың шекарасын сызып,
бояйды. Тақырыбы:
Procedure FillPoly (N: Word; var Coords);
мұндағы N – тұйық көпбұрыштың төбелерінің саны; Coords –
төбелер координатасы жазылған, PointType типті айнымалы.
Төбелер координатасы Integer типті екі мəн арқылы беріледі:
біріншісі көлденең, екіншісі тік координатасы. Олар үшін мо-
дульде анықталған келесі типтерді қолдануға болады:
type
PointType = record
х,у: Integer
end;
Шекара сызығының стилі жəне түсі SetLineStyle жəне SetColor
процедураларында беріледі, бояу типі жəне түсі – SetFillStyle про-
цедурасымен.
Келесі мысалда экранға кездейсоқ боялған көпбұрыштар са-
лынады.
uses Graph, CRT;
var
d,r,e: Integer;
p: array [1..6] of PointType; n,k: Word;
begin
{Графиканы іске қосамыз}
d:=Detect; InitGraph(d,r,’’);
e:=GraphResult;
if e <> grOk then
WriteLn(GraphErrorMsg(e))
else
begin
{Экран ортасында терезе саламыз}
d:=GetMaxX div 4;
215
r:=GetMaxY div 4;
Rectangle(d,r,3*d,3*r);
SetViewPort(d+l,r+l,3*d-l,3*r-
l,ClipOn);
{Боялған кездейсоқ көпбұрыштарды шығару циклі}
repeat
{Кездейсоқ түс пен өрнекті таңдаймыз}
SetFillStyle(Random(12),Random(succ(GetMaxCol
or)));
SetColor
(Random(succ(GetMaxColor)));
{Кездейсоқ координаталарды белгілейміз}
n:=Random (4) + 3;
for k:=1 to n do with p[k] do
begin
x:=Random (GetMaxX div 2);
у:=Random (GetMaxY div 2)
end;
FillPoly (n, p)
{Шығарып бояймыз}
until KeyPressed;
if ReadKey=#0 then k:=ord(ReadKey);
CloseGraph
end
end.
FillEllipse процедурасы эллипс шекарасын салып бояйды.
Тақырыбы:
Procedure FillEllipse(X, У,RX,RY: Integer);
мұндағы X, Y – центр координатасы; RX, RY – эллипстің
пикселмен берілген көлденең жəне тік радиусы.
Эллипс SetLineStyle жəне SetColor процедураларында берілген
сызықпен сызылып, SetFillStyle процедурасында орнатылған па-
раметрлер көмегімен боялады.
Sector процедурасы эллипстің секторын сызып, ішін бояйды.
Тақырыбы:
Procedure Sector (X,Y: Integer; BegA,EndA,RX,RY: Word);
мұндағы BegA, EndA – сəйкесінше эллипстік сектордың бас-
216
тапқы жəне соңғы бұрыштары. Басқа параметрлер FillEllipse про-
цедурасының параметрлеріне сəйкес.
Келесі программада кездейсоқ боялған эллипстер мен сек-
торлар салады. Программадан шығу үшін кез келген пернені
басыңыз.
uses Graph, CRT;
var
d,r,e: Integer;
begin
{Графиканы іске қосамыз}
d:=Detect; InitGraph(d,r,'');
e:=GraphResult;
if e <> grOk then
WriteLn(GraphErrorMsg(e));
else
begin
{Экран ортасында терезе саламыз}
d:=GetMaxX div 4;
r:=GetMaxY div 4;
Rectangle(d,r,3*d,3*r);
SetViewPort(d+1,r+1,3*d-1,3*r-
1,ClipOn);
{Шығару циклы}
repeat
SetFillStyle(Random(12),Random(succ(GetMaxCol
or)));
SetColor(Random(succ(GetMaxColor)));
Sector(Random(GetMaxX div),Random(GetMaxY div 2),
Random(360),Random(360),Random(GetMaxX
div 5),Random(GetMaxY div 5));
FillEl.lipse (Random (GetMaxX div 2),
Random(GetMaxY div 2),Random(GetMaxX
div 5),
Random(GetMaxY div 5))
until KeyPressed;
217
if ReadKey=#0 then d:=ord(ReadKey);
CloseGraph
end
end.
PieSlice процедурасы дөңгелек секторын салып, оның ішін
бояйды. Тақырыбы:
Procedure PieSlice(X,Y: Integer; BegA,EndA,R: Word);
Sector процедурасынан ерекшелігі тек бір көлденең ради-
ус R көрсетіледі, қалған параметрлер Sector процедурасының
параметрлеріне сəйкес .
Сектор SetLineStyle жəне SetColor процедураларында көр-
сетілген сызықпен сызылады да, SetFillStyle процедурасында
орнатылған параметрлер бойынша боялады . Процедураны дөң-
гелек диаграмма салғанда қолданған ыңғайлы, мысалы, келесі
программадағыдай (7.10-сурет).
7.10-сурет. PieSlice процедурасының көрінісі
uses Graph, CRT;
var
d,r,e: Integer;
begin
{Графиканы іске қосамыз}
d := Detect;
InitGraph(d, r, ‘’);
e := GraphResult;
15–1618
218
if e <> grOk then
WriteLn(GraphErrorMsg(e))
else
begin
{Кішкене сектор саламыз}
SetFillStyle(WideDotFill, White);
PieSlice(GetMaxX div 2+5,GetMaxY div
2+4,270,360,100);
{ Үлкен сектор саламыз }
SetFillStyle (SolidFill, Red);
PieSlice (GetMaxX div 2,GetMaxY div
2, 0,270,100).;
{Жазулар шығарамыз}
OutTextXY (GetMaxX div 2+90,GetMaxY
div 2+70, ‘25%’);
OutTextXY(GetMaxX div 2-50,GetMaxY
div 2-20, ‘75%’);
{Кез келген перненің басылуын
күтеміз}
if ReadKey=#0 then d := ord(ReadKey);
CloseGraph
end
end.
7.5 Графикалық режимде мəтін шығару
Төменде сипатталатын стандарт процедуралар мен функция-
лар графикалық режимде мəтін шығаруды қолдайды. Бұл Write
немесе WriteLn процедураларын қолданудан ерекше. Себебі,
графикалық режимде түрлі қаріптермен, көлденеңінен немесе
тігінен, қаріп мөлшерін өзгерте отырып, экранға мəтін шығара-
тын арнайы процедуралар бар. Бірақ Borland фирмасының
графикалық режимде экранға шығарылатын стандартты қаріп-
терінің ішінде орыс қаріптері жоқ. Сол себепті, орысша мəтінді
экранға шығару мүмкін емес.
Төменде Graph модулінің мəтін шығаруға арналған стандарт-
ты құралдары сипатталады.
219
QutText процедурасы курсордың ағымдағы орнынан бастап
мəтіндік жолды шығарады. Тақырыбы:
Procedure OutText(Txt: String);
мұндағы Txt – шығарылатын жол.
Мəтін көлденеңінен шығарылғаннан кейін көрсеткіш мəтін
соңында орналасады, ал егер мəтін тігінен шығарылса, көрсеткіш
бастапқы орнында қалады. Жол алдын ала орнатылған стиль жəне
туралау параметрлері бойынша шығарылады. Егер мəтін экран
шекарасынан шығып кетсе, штрихтық қаріптерді қолданғанда
шекарадан шыққан қаріптер кесіп тасталынады, ал стандартты
қаріптер мүлде шығарылмайды.
OutTextXY процедурасы көрсетілген орыннан бастап мəтін
шығарады. Тақырыбы:
Procedure OutTextXY (X,Y: Integer; Txt: String);
мұндағы X, Y – мəтін шығару нүктесінің координатасы;
Txt – шығарылатын жол. OutText процедурасынан тек шығару
нүктесінің координатасымен ғана ерекшеленеді. Көрсеткіш өз
орнын өзгертпейді.
SetTextStyle процедурасы экранға шығарылатын мəтін стилін
орнатады. Тақырыбы:
Procedure SetTextStyle(Font,Direct,Size: Word);
мұндағы Font – қаріп коды (нөмірі); Direct – бағытталу коды;
Size – қаріп мөлшерінің коды.
Қаріп кодын көрсету үшін төмендегідей алдын ала анықталған
тұрақтыларды қолдануға болады:
const
DefaultFont = 0;{Нүктелік қаріп 8x8}
TriplexFont = 1;{Үш еселенген қаріп TRIP.CHR}
SmallFont = 2;{Кішірейтілген қаріп LITT.CHR}
SansSerifFont = 3;{Тік қаріп SANS.CHR}
GothicFont = 4;{Готикалық қаріп GOTH.CHR}
Бұл тұрақтылар 4.0, 5,0, 5.5 жəне 6.0 версиялар үшін барлық
қаріптерді анықтайтындығын еске сала кетеміз. 7.0 версия-
да қаріптер саны əлде қайда кеңейген, алайда жаңа қаріптер
үшін мнемоникалық тұрақтылар қарастырылмаған. Бұл версия-
да, SetTextStyle процедура
сында келесі қаріптер нөмірін қол-
дануыңызға болады:
220
Нөмір
Файл
Қысқаша сипаттамасы
5
scri.chr
«Қолжазба» қаріп
6
simp.chr Courier типті бірштрихты қаріп
7
tscr.chr
Times Italic типті қисайтылған қаріп
8
Icom.chr Times Roman типті қаріп
9
euro. chr Courier типті үлкейтілген қаріп
10
bold.chr
Үлкен екіштрихты қаріп
DefaultFont қаріпі Graph модуліне кіреді жəне оған кез кел-
ген уақытта қол жеткізуге болады. Бұл жалғыз матрицалық
қаріп, оның символдары 8x8 пиксел матрица арқылы салынады.
Қалған қаріпердің барлығы векторлық: олардың элементтері
бағыты жəне көлемі арқылы сипатталатын векторлар жиынығы
арқылы құрастырылады. Векторлық қаріптер бейнелену мүм-
кіндіктерінің кеңдігімен ерекшеленеді. Ал, олардың басты ерек-
шелігі қаріп мөлшерінің бейнелену сапасын төмендетпей, өте
жеңіл өзгеруінде. Қаріптердің əрқайсысы жеке дискілік файлда
орналасады. Егер Сіз қандай да бір векторлық қаріпті қолданатын
болсаңыз, ол қаріп алдын ала сіздің каталогыңызға жазылып
қойылуы тиіс. Таңдап алынған қаріп каталогта жоқ болса, оның
орнына стандартты қаріп шығарылады.
DefaultFont қаріпі графика іске қосылған кезде шығарыла-
тын мəтін сарапталып, графикалық драйвермен жасалынады.
Сондықтан, егер сіздің компьютеріңіз мəтіндік режимде орыс
əріптерін шығара алатын болса, онда осы қаріптің көмегімен
графикалық режимде де орысша мəтін шығара аласыз. Басқа
қаріптерді тек модификациялаудан кейін ғана шығаруға болады.
Шығарылатын мəтін бағытын беру үшін келесі тұрақтыларды
қолдануға болады:
const
HorizDir = 0;{солдан ңға қарай}
VertDir = 1;{Төменнен жоғары қарай}
Стандартты OutText жəне OutTextXY процедуралары мəтінді
тек екі бағытта ғана шығара алады. Векторлық қаріптердің
құрылымын біле отырып, мəтінді кез келген бағытта шығаратын
221
жеке шығару процедураларын құрастыру қиын емес (F_GrText
модулінің OutString процедурасы).
Əр қаріп өз өлшемін он есе өзгерте алады. Шығарылатын
символ көлемі 1-ден 10-ға дейінгі аралықта өзгеретін Size па-
раметрімен беріледі (нүктелік қаріп – 1 мен 32 диапазонында).
Егер параметр мəні 0 болса, нөмірі 1 көлем орнатылады, егер 10
үлкен болса – 10 - нөмірлі көлем орнатылады. Экрандағы барлық
мүмкіндіктерді көруді жүзеге асыратын қаріптің ең кіші көлемі -
4 (нүктелік қаріп үшін –1) болады.
Келесі программада əртүрлі қаріптер шығарылады (7.11-су-
рет). Олардың көлемдері жолдың биіктіктері бірдей болатындай
етіп таңда
лып алынған. Программаны орындауға жіберер ал-
дында .CHR кеңейтілімі бар барлық қаріп файлдарын ағымдағы
каталогқа көшіріп алу керек.
uses Graph, CRT;
const
FontNames: array [1..10] of String[4] =
('TRIP','LITT','SANS','GOTH', 'SCRI',
'SIMP', 'TSCR', 'LOOM', 'EURO','BOLD');
Tabl=50;
7.11-сурет.
222
Tab2=150;
Tab3=220;
var
d,r,Err, {Графиканы іске қосатын айнымалы-
лар}
Y,dY,{Шығару ординатасы жəне оның өсімшесі}
Size,{Символдар өлшемі}
MaxFont,{Ең үлкен қаріп нөмірі}
k: Integer;{Қаріп нөмірі}
NT, SizeT, SynibT: String;{Шығарылатын жол}
c: Char;
{-------------------}
Procedure OutTextWithTab ( S1, S2, S3, S4:
String);
{Таb1..ТаbЗ табуляция позициясын ескере оты-
рып, S1..S4 жолдарын шығарады}
begin
MoveTo((Tab1-TextWidth(Sl)) div2,Y);
OutText (S1);
MoveTo(Tabl+(Tab2-Tabl-TextWidth(S2))
div2,Y);
utText (S2);
MoveTo(Tab2+(Tab3-Tab2-TextWidth(S3)) div
2,Y);
OutText(S3);
if S4='Symbols' then
{Symbols бағанының тақырыбы}
MoveTo((Tab3+GetMaxX-TextWidth(S4)) div
2,Y)
else {Қалған жолдар}
MoveTo(Tab3+3,Y);
OutText(S4)
end;
{------------}
begin
{Графиканы іске қосамыз}
InitGraph(d,r,'');
223
Err:=GraphResult;
if ErrogrOk then
WriteLn(GraphErrorMsg(Err))
else
begin
{Қаріптер санын анықтаймыз:}
{$IFDEF VER70'}
MaxFont:=10;
{$ELSE}
MaxFont:=4;
{$ENDIF}
SetTextStyle(l,0,4);
Y:=0;
OutTextWithTab('N','Name',Size','Symbo
ls');
{Тақырыптың Y сызығының биіктігін анықтаймыз}
Y:=4*TextHeight('Z') div3;
Line(0,Y,GetMaxX,Y);
{Кестенің Y сызығының басын жəне əр жолдың dY
биіктігін анықтаймыз}
Y:=3*TextHeight('Z') div 2;
dY:=(GetMaxY-Y) div (MaxFont);
{Символдар жолын дайындаймыз}
SymbT:='';
for с:='a' to 'z' do
SymbT:=SymbT+c;
{Кесте жолдарын шығару цикл}
for k:=1 to MaxFont do
begin
Size:=0;
{Жол биіктігі dY тең болғанша өлшемді
үлкейтеміз}
repeat
inc(Size);
SetTextStyle(k,0,Size+1);
until (TextHeight('Z')>=dY) or
224
(Size=10) or (TextWidth(FontNames[k])>(Tab2-
Tab1));
{Қаріптің NT нөмірін жəне и SizeT өлшемін дай-
ындаймыз}
Str(k,NT);
Str(Size,SizeT);
{Кесте жолын шығарамыз}
SetTextStyle(k,HorizDir,Size);
OutTextWithTab(NT,FontNames[k],SizeT,Sy
mbT);
inc(Y,dY)
end;
{Рамка сызықтарын саламыз}
Rectangle(0,0,GetMaxX,GetMaxY);
Line(Tab1,0,Tabl,GetMaxY);
Line(Tab2,0,Tab2,GetMaxY);
Line(Tab3,0,ТаЬЗ,GetMaxY);
{Тұтынушы əрекетін күтеміз}
ReadLn;
CloseGraph
end
end.
SetTextJustlfy процедурасы енгізілетін мəтінді курсордың
ағымдағы орнына қарай немесе берілген координаталарға байла-
нысты туралануды тағайындайды. Тақырыбы:
Procedure SetTextJustify(Huri2,Vert: Word);
мұндағы Horiz – көлденең туралау; Vert – тігінен туралау.
Туралау мəтіннің қалай орналасатындығын – көрсетілген
орыннан солға немесе оңға қарай, жоғары, төмен не ортаға ту-
раланатындығын анықтайды. Мұнда келесі тұрақтыларды қол-
дануға болады:
const
LeftText = 0; {Көрсеткіш мəтіннің сол жағында }
CenterText= 1; { Симметриялы солға жəне оңға, жоғары жəне
төмен}
RightText = 2; { Көрсеткіш мəтіннің оң жағында }
BottomText= 0; { Көрсеткіш мəтіннің төменгі жағында }
225
TopText = 2; { Көрсеткіш мəтіннің жоғарғы жағында }
Келесі программа мəтінді графикалық экранның центріне бай-
ланысты əртүрлі орналастыру тəсілдерін бейнелейді (7.12-сурет).
uses Graph, CRT;
var
d,r,e: Integer;
begin
{Графиканы іске қосамыз}
d:=Detect; InitGraph(d,, r, ' ');
7.12-сурет.
e:=GraphResult;
if e <> grOk then
WriteLn(GraphErrorMsg(e))
else
begin
{Экран ортасында қилысқан сызықтар саламыз}
Line(0,GetMaxY div 2,GetMaxX,GetMaxY div 2);
Line(GetMaxX div 2,0,GetMaxX div 2,GetMaxY);
Мəтінді центрдің оң жəне жоғарғы жағына орна-
ластырамыз}
SetTextStyle(TriplexFont,HorizDir,3);
SetTextJustify(LeftText,BottomText);
OutTextXY (GetMaxX div 2, GetMaxY div
2, 'LeftText,BottomText');
{Мəтінді сол жəне төменгі бөлікке орналастыра-
мыз}
SetTextJustify (RightText, TopText);
OutTextXY (GetMaxX div 2, GetMaxY div 2,
'RightText, TopText');
if ReadKey=#0 then d := ord(ReadKey);
226
CloseGraph
end
end.
SetUserCharSize процедурасы берілген пропорциялар бойын-
ша енгізілетін символдар мөлшерін өзгертеді. Тақырыбы:
Procedure SetUserCharSize(XI,X2,Y1,Y2: Word);
мұндағы XI...Y2 – көлденең жəне тік пропорцияларды
анықтайтын Word типті өрнек.
Процедура тек векторлық қаріптерге қолданылады. Про-
порциялар қаріптің ені мен биіктігінің стандартты мəннен
неше есе өсетіндігін көрсететін масштабтық коэффициентті бе-
реді. Көлденең коэффициент X1-дің Х2-ге қатынасы ретінде
беріледі, тігінен –Y1-дің Y2-ге қатынасы ретінде беріледі. Мы-
салы, символдардың енін екі есе өсіру үшін Х1=2 жəне Х2=1 деп
беру керек. Символдардың стандартты мөлшері SetUserCharSize
про
цеду
ра
сының алдыңғы параметрлерін алып тастайтын
SetTextStyle процедурасы арқылы беріледі.
Келесі мысалда кішірейтілген қаріптің пропорцияларының
өзгеруін көреміз.
uses Graph, CRT;
var
d, r, e: Integer;
begin
{Графиканы іске қосамыз}
d:=Detect; .InitGraph (d, r, '');
e:=GraphResult;
if e <> grOk then
WriteLn(GraphErrorMsg(e))
else
begin
MoveTo (0, GetMaxY div 2);
SetTextStyle (SmallFont, HorizDir, 5);
SetTextJustify (LeftText,
BottomText);
{Стандартты 5 биіктікпен мəлімет шығарамыз}
OutText ('Normal Width,');
{Қаріптің енін екі еселейміз}
227
SetUserCharSize (2, 1, 1, 1);
OutText (' Double Width, ');
{Биіктігін екі есе өсіріп, стандартты енді
береміз}
SetUserCharSize (I, 1, 2, 1);
OutText ('Double Height,');
SetUserCharSize (2, 1, 2, 1);
OutText (' Double Width and Height');
if ReadKey=#0 then d := ord(ReadKey);
CloseGraph
end
end.
TextWidth функциясы енгізілетін жолдың пикселмен берілген
ұзындығын қайтарады. Тақырыбы:
Function TextWidth(Txt: String): Word;
Енгізудің ағымдағы стилі мен сəйкесінше SetTextStyle жəне
SetUserCharSize процедураларымен берілген символдардың
мөлшерінің өзгеру коэффициентін ескереді.
TextHeight функциясы енгізілетін жолдың пикселмен берілген
биіктігін қайтарады. Тақырыбы:
Function TextHeight(Txt: String): Word;
GetTextSettings процедурасы мəтіннің ағымдағы стилі мен
турала нуын қайтарады. Тақырыбы:
Procedure GetTextSettins(var Textlnfo: TextSettingsType);
мұндағы Textlnfo – Graph модулінде төмендегідей анықталған
TextSettingsType типті айнымалы:
type
TextSettingsType = record
Font : Word; {Қаріп нөмірі}
Direction: Word; {Бағыты}
CharSize : Word; {Мөлшер коды}
Horiz : Word; {Көлденең туралау}
Vert : Word; {Тігінен туралау }
end;
InstallUserFont функциясы программаға стандартты емес
вектор лық қаріпті қолдануға мүмкіндік береді. Тақырыбы:
228
Function InstallUserFont(FileName: String): Integer;
мұндағы FileName – векторлық қаріп жазылған файл аты.
InstallUserDriver функциясы BGI – драйверлер жүйесіне
стандартты емес графикалық драйверді қосады. Тақырыбы:
Function InstallUserDriver(FileName: String; AutoDetectPtr:
Pointer): Integer;
мұндағы FileName – драйвер программасы жазылған файл
аты; AutoDetectPtr – дисплей түрін автоматты түрде анықтайтын
арнайы процедураға кіру нүктесінің адресі, басқа процедуралар
сияқты драйвер құрамында болуы тиіс.
Бұл функция стандартты графикалық драйверлер тобын ке-
ңейтеді жəне көбіне аппараттық құралдарды программалау үшін
қажет.
Көп есептердің нəтижесін график түрінде берген дұрыс. Гра-
фик тұрғызу есептерінің бастапқы берілуі алуан түрлі. Мəселен,
бір немесе бірнеше функция графигі бір немесе бірнеше мас-
штабта керек болуы мүмкін. Функциялар аналитикалық тəсілмен
немесе кесте түрінде берілгенде функцияны іштей буындау (ин-
терполяция) қажет болуы мүмкін. Графикті қарапайым түрде не-
месе логарифмдік масштабпен, координаталық өстерді қосып не-
месе қоспай салуға болады. Алайда график тұрғызудың негізгі
принциптері өзгеріссіз қалады.
Функция графигін салу үшін, экранда графиктің əр нүкте-
сіне сəйкес нүкте қою керек. Экрандағы нүктелер координата-
сы график ауданына қатысты, масштабты жəне өстің экранда
төмен бағытталғандығын ескере отырып анықталады. Х жəне У
өстерінің масштабы экрандағы график ауданына жəне мəндер ин-
тервалына байланысты алынады.
График нүктелерінің координатасы төмендегідей түрде
анықта лады:
kx
i
= int(x
ima
– x
i
) · m
x
n + kx
n
,
ky
i
= int(y
max
- y
i
) · m
y
n + ky
n
,
мұндағы int – санның бүтін бөлігін алу дегенді білдіреді.
График барлық есептелген нүктелер арқлы өтетін сызықтар
немесе сынық сызықтар жиынтығы ретінде салынады.
Координаталық сетканы салу координаталары дəл осылай
анықталады.
229
7.1-мысал. y=cos(x+2)/2 функциясының графигін салатын
программа жазыңыз. Алдымен берілген интервалдағы нүктелер
саны анықталады жəне графикке координаталық сетка салынады.
Төменде, осы есептің программа мəтіні берілген.
Program Gr;
Uses Crt,
Graph;
Const
n=5; {сан жазылатын позиция саны }
m=2; {мəн шығардағы мантисса мөлшері}
k=100; {нүктелер саны}
nx=5; ny=5; {
x жəне y бойынша сеткадағы
түзулер саны}
kxn=60; kxk=600;
kyn=45; kyk=350; {терезе параметрі}
Type arr=array[1..100] of real;
ari=array[1..100] of integer;
Var
gd,gm,i:integer; {адаптер типі жəне режимі}
x,y:arr; {аргумент жəне функция мəні үшін
жиымдар}
kx,ky:ari; {
x жəне y координатаық нүктелері
үшін жиым}
ymin,ymax:real; {
у экстремалды мəні}
dx,dy:real; {графиктегі
x жəне y бойынша сетка
қадамы}
dkx,dky:integer; {экрандағы
x жəне y бойынша
сетка қадамы}
mx,my:real; {масштаб коэффициенті}
st:string[5]; {жұмыс жолы}
h,xn,xk:real; {қадам,
х өсі бойынша интервал}
Begin
ClrScr;
Write(‘Интервалдың бастапқы жəне соңғы мəнін
енгізіңіз:’);
ReadLn(xn,xk);
h:=(xk-xn)/(k-1);{
х өсі бойынша қадамды
анықтаймыз}
|