Pascal программалау тіліндегі фрактальді графика
Қазақстан Республикасының Білім және Ғылым Министрлігі
Еуразия Академиясы
“Информатика және есептеу техникасы”
мамандығы деканаты
«Алгоритмдеу және программалау тілдері» пәнінен
КУРСТЫҚ ЖҰМЫС
Тақырыбы: “ Pascal программалау тіліндегі фрактальді графика”
Орындаған: «Ақпараттық жүйелер»
мамандығының сырттай оқу бөлімінің
ИС711 тобының студенті Салимова Б.А.
Тексерген: аға оқытушы Абдрахманова Д.Ж.
Орал, 2012
Мазмұны |
|
Кіріспе....................... |
3 |
1. 1. Паскаль программалау
тіліндегі фрактальді графика....................... |
5 |
1. 1 Базалық процедуралар
мен функциялар................ |
5 |
1. 2 Фрактальді графикалық
режимдегі экран мен терезелер. |
7 |
1. 3 Фрактальді графикада қарапайым
фигураларды шығару........................ |
8 |
1. 4 Графикалық процедуралар……………………………………………… |
13 |
1. 5 Graph модулі……………………………………………………………… |
17 |
1. 6 Мәтінмен жұмыс…………………………………………………………... |
|
2. Фрактальді графика мүмкіндіктерін программалауда жүзеге асыру. |
24 |
2. 1 Функцияның графигін тұрғызу……….................... |
24 |
2. 2 Графикадағы циклдер. Кездейсоқ процесстердiң құрастыру…................. |
26 |
2. 3 Жұлдызды аспан программасы................... |
28 |
Қорытынды..................... |
30 |
Қолданылған әдебиеттер.................... |
32 |
Кіріспе
Берілген курстық жұмыста Паскаль программалау тілінде түрлі графикалық обьектілерді құру мүмкіндіктері қарастырылған. Graph модулін пайдалана отырып оның түрлі сипаттағы функциялары мен процедуралары программалау кезінде қолданылды. Паскаль программалау тілінде графикалық жұмыстар екі режимде іске асады. Олардың бірі мәтіндік болса, екіншісі графикалық болып табылады. Мәтіндік режимде монитор экраны жолдар мен бағандарға бөлінген, яғни әрбір ұяшығында бір символдан орналасқан торды көрсетеді. Ал бұл кестенің өлшемі таңдалған режимге байланысты болып келетіндігін көрсетеді. Сондықтан да мәтіндік режимдегі графикалық суреттер символдардың үйлесімі арқылы жүзеге асады. Бұндай суреттерді кей жағдайда “псевдографика” деп те атайды.
Мәтіндік режимге қарағанда графикалық режимде монитордың экранында саны өте көп нүктелердің (пиксельдердің) үйлесімін көруге болады. Нүктелердің әртүрлі түстермен үйлесімі арқылы графикалық фигуралар құралады. Нүктелердің көлденең және тігінен орналасуына байланысты, экранның өлшемі бейнеадаптердің таңдалған режиміне сай келеді.
Курстық жұмысымды жазу кезіндегі негізгі мақсат: Паскаль программалау тіліндегі фрактальді графикамен таныс бола отырып, оның мүмкіндіктерін көрсету болатын. Программалауда график тұрғызудың маңызы өте зор, сонымен қатар түрлі фигураларды салу, олардың қозғалысын бейнелеу қызықты да, бейнетті іс деп айтуға болады, себебі көптеген суреттер және графикалар бұндай программалардың көмегінсіз жүзеге аспайтын еді. Функцияның графигін тұрғызу, не болмаса сурет салу қажетті мақсатқа қол жеткізіп қана қоймай, графикалық режимдегі процесті қызықты ете түседі, ал бұл қызығушылықтың арқасында программаны игеру де соғұрлым тезірек іске асады. Функцияның графигін тұрғызуда тек теориялық ережелерге ғана сүйеніп қоймай, практикаға да зор мән беру қажет. Программалау кезінде графикада алуан түрлі әрлеу жұмыстары жасалады, бұл процестерді жүзеге асыру үшін Graph модулі ең қажетті функция болып есептеледі.
Курстық жұмыстың негізгі міндеттері келесі қағидалардан тұрады:
- Паскаль программалау тіліндегі фрактальді графиканы игеру;
- Graph модуліндегі функциялар мен процедуралардың түрлерін тереңірек зерттеу;
- Функцияны зерттеу, сонымен қатар, функцияның графигін салу;
- Паскаль программалау тіліндегі обьектілерді салу жолын зерттеу;
- Graph модулін игеру мақсатында программалау тілінде толыққанды зерттеу жүргізу;
- Паскаль программалау тілінде Graph модуліне қатысты есептер шығару және программасын құру.
Геометриялық обьектілердің орны мен пішіні нүктенің координаталарымен берілетіндігі геометриядан белгілі. Өз кезегінде, графикалық қорытындыны программалау үшін графикалық обьектілердің координаталарын беруді үйрену қажет. Көптеген процедуралар мен функциялар экрандағы қадамын бағыттаушыны қолданады, оның ерекшелігі мәтіндік курсорға қарағанда көрінбейді.Бұл бағыттаушының орны экрандағы кез келген координата секілді сол жақ жоғарғы бұрышқа қатысты координаталарға ие болады. Осылайша экранның тігінен орналасқан координатасы солдан оңға қарай өседі, ал көлденең орналасқан координата жоғарыдан төменге қарай өседі. GetMaxX және GetMaxYфункциялары берілген режимде тігінен және көлденеңі бойынша экран координаталарының максималды мәндерін құрайды. SetViewPort процедурасы графикалық режимде тікбұрышты терезе құрады. ClearDevice процедурасы графикалық экранды тазартады. Осы процедураға жүгінгеннен соң бағдарша сол жақ жоғарғы бұрышқа орнығады, ал экран SetBkColor процедурасы арқылы берілген фонмен толтырылады. PutPixel процедурасы координатасы бойынша берілген нүктенің түсін шығарады. Жазылымы: Procedure PutPixel(X, Y: I eder; Color: word); X, Y – нүктенің координаталары, ал Color – нүктені түсі.
1. Паскаль программалау тіліндегі фрактальді графика
1. 1 Базалық процедуралар мен функциялар
Паскаль программалау тіліндегі дисплей экраны көп нүктеден құралған тіктөртбұрышты алаңды сипаттайды. Дисплей мәтіндік және графикалық режимдерде жұмыс істейді. Алайда мәтіндік режимге қарағанда графикалық режимде әрбір нүктенің түсін өзгертуге мүмкіндік бар.
Графикалық программалау процесін әсерлі ете түсу үшін Borland International компаниясы арнайы Graph (бұл кітапханалық модуль 79 графикалық процедура, функция, түрлі стандартты константалар мен берілген типтерден құралады) кітапханасын, түрлі монитор типтерімен жұмыс жасауға мүмкіндік беретін драйверлерді теру, графикалық экранға әр түрлі биіктіктегі және пішіндегі мәтіндерді шығару үшін қаріптерді теруді жасап шығарды.
Графиканың аппаратты қолдауы екі негізгі модульмен: видеомонитормен және видеоадаптермен қамтамасыз етіледі. Компьтерде қандай да болмасын адаптер орнатылғанымен, негізгі адаптерге соңғы күйге келтіру автоматты түрде орындалатындықтан Турбо Паскальдің графикалық процедуралары мен функцияларының арқасында сол бір терулерді қолдануға болады. Бұл күйге келтіруді графикалық драйверлер іске асырады.
Графикалық жүйеде қосылу мен жұмысын аяқтау келесі түрде жүзеге асады:
- Graph модулін қосу (графикалық процедуралар кітапханасын): normal">uses Graph;
- Графикалық режимді орнату:
- графикалық драйверлер мен мониторды анықтайтын айнымалылары сипаттау:
var gd, gm: integer;
gd:=Detect;(gm мәні gd:=detect командасынан кейін; автоматты түрде анықталады)
- графикалық режим инициализацияланады:
InitGraph(gd, gm драйверге жолды нұсқайды, дәлірек болған сайын жақсы)
Осы сәттен бастап қолданушыға барлық графикалық құрылғыларға қолжетімді болады.
3. Графикалық жүйедегі жұмысты аяқтау: CloseGraph;
Базалық процедуралар мен функциялар.
Экранға суретті тұрғызу үшін координаталар жүйесі қолданылады. Санау координаталары (0,0) болатын экранның сол жақ жоғарғы бұрышынан басталады. Х (баған) мәні солдан оңға қарай өседі, Y (жол) мәні жоғарыдан төмен қарай өседі. Суретті тұрғызу үшін бастапқы нүктені белгілеу керек. Мәтіндік режимде аталған нүктені экрандағы меңзер нұсқайды. Ал графикалық режимде көрінетін меңзер жоқ, бірақ көрінетін CP (Current Pointer) нұсқауы бар. Бұл дәл сол меңзер, алайда ол көрінбейді.
Кесте 1.
Graph модулі графиктік функциялар мен процедураларды
Процедура |
Формат |
Әрекет |
SetColor |
SetColor(a: word); |
Сурет салынатын түсті қояды |
SetBkColor |
SetBkColor(a: word); |
Экран фонының түсін қояды |
SetFillStyle |
SetFillStyle(a, b: word); |
Облысты бояудың түсі мен стилін қояды |
SetLineStyle |
SetLineStyle(a, b, c: word); |
Сызық стилін және қалыңдығын қояды |
SetTextStyle |
SetTextStyle(a, b, c: word); |
Текстің шрифтін, стиль және өлшемін қояды |
SetFillPattern |
SetFillPattern(Pattern: FillpatternType; Color: word); Pattern - маска |
Қолданушы анықтаған толтыру шаблонын таңдайды |
ClearDivice |
ClearDivice; |
Экранды тазалайды және ағымдағы бағыттауышты басына қояды |
SetViewPort |
SetViewPort(x1, y1, x2, y2: integer, Clip: boolean); |
Графиктік шығару үшін ағымдағы терезені қояды |
ClearViewPort |
ClearViewPort |
Терезені тазалайды |
PutPixel |
PutPixel(a, b, c: integer); |
Берілген түске боялған нүкте салады |
Line |
Line(x1, y1, x2, y2: integer); |
(x1, y1) ден (x2,y2) дейін сызық сызады |
Rectangle |
Rectangle(x1, y1, x2, y2: integer); |
(x1, y1) ден (x2, y2) дейін диоганалымен төртбұрыш сызады |
Bar |
Bar(x1, y1, x2, y2: integer); |
Боялған төртбұрыш салады |
Bar3D |
Bar3D(x1, y1, x2, y2, d: integer; a: boolean); |
Үш өлшемді жолақ салады (параллелепипед) |
Circle |
Circle(x, y, r: word); |
(x, y) нүктесінде радиусы r шеңбер салады |
Arc |
Arc (x, y, a, b, R: integer); |
Радиусы R шеңбер доғасын салады |
Ellipse |
Ellipse(x, y, a, b, Rx, Ry: integer); |
Эллипсті доға салады |
FillEllipse |
FillEllipse(x, y, Rx, Ry: integer); Rx, Ry – жарты осьтер |
Боялған эллипс салады |
MoveTo |
MoveTo(x, y: integer); |
Ағымдағы бағыттауышты жылжытады |
MoveRel |
MoveRel(x, y: integer); |
Берілген қашықтыққа горизонталь және вертикаль бойынша ағымдағы бағытауышты жылжытады |
OutText |
OutText(text: string); |
Ағымдағы бағыттауыштан мәтін шығарады |
OutTextxy |
OutTextxy(x, y: integer; text: string); |
(x, y) - тен мәтін шығарады |
Sector |
Sector(x, y, a, b, Rx, Ry: integer); |
Эллипс секторын салады және толтырады |
Кесте 2.
Graph модулінің қызметі
GetBkColor |
Ағымдағы фондық түсті қайтарады |
GetColor |
Ағымдағы түсті қайтарады |
GetX |
Ағымдағы позицияның X координатасын қайтарады |
GetY |
Ағымдағы позицияның Y координатасын қайтарады |
GetPixel |
(x, y)нүктесінің түсін қайтарады |
1. 2 Фрактальді
графикалық режимдегі экран
Анология бойынша графикалық экран мәтіндік режиммен біртұтас үлкен немесе өлшемі жағынан кіші терезе ретінде қарастырылуы мүмкін. Терезені орнатқаннан кейін экранның қалған ауданы бұрын болмағандай және барлық енгізу-шығарулар терезе арқылы іске асады. Әрбір сәтте тек бір ғана терезе жұмыс жасай алады. Егер терезелер саны бірнешеу болса, қажет емес терезеге енгізу-шығаруларды қосып отыруға программисттің жауап береді.
Негізінен терезе тұтас экранды алып тұрады, оның сол жақ жоғарғы және оң жақ төменгі бұрыштарының координаталары InitGraph процедурасының инициализациясымен автоматты түрде орнатылады.
Егер терезе құруға тура келсе, SetViewPort (x1, y1, x2, y2 : integer, Clip:boolean) процедурасын қолднаған жөн; мұндағы x1, y1 – сол жақ жоғарғы бұрыштың координаталары, x2, y2 – оң жақ төменгі бұрыштың координаталары. Clip параметрі сурет терезенің сыртына шығып кеткен жағдайда қиылысадыма (Clip:= True) әлде жоқпа (Clip:=False), соны анықтайды. Терезе құрылғаннан кейін координатасы (0, 0) болатын терезенің сол жақ жоғарғы бұрышындағы нүкте санаққа кіріседі.
Толық экранның координаталар жүйесін қайта қалпына келтіруге болады, негізінен ClearDevice немесе процедураға терезенің орындалуын жүктеген кезде максимальді мүмкін мәндерге SetViewPort( 0, 0, GetMaxX, GetMaxY, true) жатады.
Мәтіндік терезеге қарағанда графикалық терезеде SetBkColor фонымен процедураны орнатқан кезде және ClearViewPort көмегімен тазарту нәтижесінде экранның бүкіл фонымен бірге фоны ауысып кететіндігін есте сақтау қажет. Сондықтан графикалық терезенің фонын SetFillStyle немесе SetFillPattern процедураларының көмегімен орнатқан жөн.
- 3 Фрактальді графикада қарапайым фигураларды шығару
Нүктені шығару.
Экранға қандай да болмасын бейнені шығармаса да, олардың барлығы нүктелерден құралған, кез келген бейнені экранның керекті жеріне белгілі бір түстегі нүктелерден тұрғызу арқылы теориялық тұрғыда құруға болады. Graph кітапханасында нүктені шығару келесі процедура арқылы іске асады:
PutPixel (x, y: integer, color:word);
Мұндағы х, у – нүктенің орналасу координаталары; color – түсі.
Color мәнінің мүмкіндіктері кестеде көрсетілген.
Кесте 3.
Түстік шкала
Түс |
Код |
Түс |
Код |
Black – қара |
0 |
DarkGray – қоңырқай сұр |
8 |
Blue – көк |
1 |
LightBlue – көгілдір |
9 |
Green – жасыл |
2 |
LghtGreen – ашық жасыл |
10 |
Gyan – бирюзовый |
3 |
LightGyan – ашық-бирюзовый |
11 |
Red – қызыл |
4 |
LightRed – ашық қызыл |
12 |
Magenta – малина түсті |
5 |
LightMagenta – ашық малина түсті |
13 |
Brown – қоңыр |
6 |
Yellow –сары |
14 |
LightGray – ақшыл сұр |
7 |
White – ақ |
15 |
Мысалы
PutPixel(320, 240, 4); ü
ý - экранның центріне қызыл нүктені шығарады.
PutPixel(320,240, Red);þ
Сызықты шығару.
Сызықтар (түзулер қимасынан) нүктелерден тұрғызылады. Мұны келесі процедураның көмегімен жүзеге асыруға болады
Line (x1, y1 , x2,y2 :integer);
Мұндағы x1, y1 – сызықтың бастапқы нүктесінің координатасы, x2,y2 – сызықтың соңғы нүктесінің координатасы, Мысалы Line(1,1,600,1);
Line процедурасында түсті белгілеуге арналған параметр жоқ. Бұл жағдайда түс SetColor (түсі: word) процедурасымен орындалады; бұл кестедегі 1 түс болып табылады. Мысал үшін:
SetColor(Gyan);
Line(1,1,600,1);
Сызықты салу үшін тағы да екі процедура қолданылады: LineTo және LineRel. LineTo (x,y: integer) процедурасы берілген нүктені орнынан х, у координаталы нүктеге бағытталған сызықты салады. LineRel (dx,dy: integer) процедурасы берілген (х, у) нүктесіні координатасы x+dx, y+dy нүктесіне бағытталған сызықты жүргізеді.
Турбо Паскаль әр түрлі стильдегі сызықтарды: жіңішке, жуан, штрихталған, пунктирлі және тағы басқаларын сызуға мүмкіндік береді. Стильді орнату SetLineStyle(a,b,c: word) процедурасының көмегімен іске асады, мұнда мәндер 2 кестеде келтірілген жолдың типі, b – үлгісі, с – кесте 3-те көрсетілген тұрақтымен анықталған сызықтың қалыңдығы. Егер стандартты стильдердің бірі қолданылса, b-ның мәні 0-ге тең. Егер өзіндік стильді енгізетін болса, онда b=4 болады. Қолданушы өз қалауымен үлгі арқылы сызықты неден құрау керек екенін анықтайды.
Мысалы:
SetLineStyle(1,0,1);
Line(15,15, 150,130);
немесе
SetLineStyle(UserBitLn,$5555,
Line(15,15, 150,130);
Кесте 4.
Сызықтың стильдері
Тұрақты |
Мәні |
Сипатталуы |
SolidLn |
0 |
Үзіксіз сызық |
DottedLn |
1 |
Нүктеден құралған сызық |
CenterLn |
2 |
Сызықша мен нүктеден құралған сызық |
DashedLn |
3 |
Штрихталған сызық |
UserBitLn |
4 |
Қолданушының типі |
NormWidth |
1 |
Жай қалыңдығы (1 пиксель) |
ThickWidth |
3 |
Қалың сызық (3 пиксель) |
Экран центрінде үшбұрышты қызыл сызықпен сызып шығатын программаны құру керек.
Program treug;
uses graph; {графических процедуралар кітапхансын қосу}
var gd,gm: integer; {графикалық драйвер мен мониторды анықтайтын айнымалыларды сипаттау}
begin
gd:=detect; {ПК-ның таңдауымен айнымалылардың мәнін сипаттау}
initgraph(gd, gm, ‘ c/bp’); { графикалық режимді инициализациялау }
SetColor(4); {сызықтың түсін беру}
SetLineStyle(1,0,3); {сызықтың стилін беру}
Line(320, 240, 320, 180);
Line(320, 240, 390, 240);
Line(390, 240, 320, 180);
end.
Көпбұрыштарды және тіктөртбұрыштарды тұрғызу.
Тікбұрышты фигураларды тұрғызу кезінде бірнеше процедура қолданылады. Олардың алғашқысы – бірөлшемді тіктөртбұрышты сызу: Rectangle (x1, y1 , x2, y2:integer ), мұндағы x1, y1 – тіктөртбұрыштың сол жақ жоғарғы бұрышының координаталары, x2, y2 – тікбұрыштың оң жақ төменгі бұрышының координаталары. Тіктөртбұрыштың іші боялмаған, сондықтан да ол фонның түсімен сәйкес келеді.
Қабылдауға әсерлі тіктөртбұрышты боялған тіктөртбұрышты салатын Bar (x1, y1 , x2, y2:integer) процедурасының көмегімен салуға болады. SetFillStyle көмегімен боялу түсі анықталады. Тағы да бір әсерлі процедура ретінде үшөлшемді боялған тіктөртбұрышты (параллелепипед) шығаратын Bar3D (x1, y1 , x2,y2, d: integer, a:boolean) процедурасы қолданылады. Сонымен қатар SetFillStyle көмегімен орнатылған боялу түсі мен типі анықталады. d параметрі үшөлшемді контур тереңдігін білдіретін пикселдер санын көрсетеді. Көп жағдайда оның мәні тіктөртбұрыштың төрт төбесіне ( d:= (x2 - x1) div 4 ) тең болады. Ал а параметрі тіктөртбұрыштың төбелерін салу керек пе (а:=True) әлде жоқ па (a:=False) соны анықтайды.
Қолдану мысалдары:
1. SetColor(Green);
Rectangle (200, 100, 250,300);
2. SetFillStyle(1,3);
Bar(10,10,50,100);
3. SetFillStyle(1,3);
Bar3D(10,10,50,100,10,True);
Line процедурасының көмегімен көпбұрыштарды әр түрлі тәсілмен салуға болады. Алайда Турбо Паскальда берілген түстегі, стильдегі және қалыңдықтағы сызық арқылы кез келген көпбұрыштарды салуға мүмкіндік беретін DrawPoly прцедурасы бар. Ол DrawPoly( a: word, var PolyPoints) форматымен анықталады. PolyPoints параметрі көпбұрыштағы әрбір қиылысудың координаталарын құрайтын типталмаған параметр болып есептеледі. а параметрі PolyPoints-тағы координата санын береді.
N төбелері бар тұйық фигураны салу үшін DrawPoly N+1 процедурасы кезінде координата беру керек екендігін есте сақтау қажет, ал мұндағы N нөмірлі төбенің координатасы 1-ге тең төбенің координатасымен тең болуы керек.
Мысал ретінде сипаттағанда:
program tr; { Экран центрінде үшбұрышты қызыл сызықпен сызып шығатын программа}
uses crt, graph;
var gd, gm: integer;
pp: array[1..4] of PointType;
xm, ym, xmaxD4, ymaxD4:word;
begin
gd:= detect;
Initgraph(gd, gm, ‘ c/bp’);
xm:=GetmaxX; ym:=GetmaxY;
xmaxD4:=xm div 4;
ymaxD4:= ym div 4;
{төбелердің анықталған координатасы}
pp[1].x := xmaxD4;
pp[1].y := ymaxD4;
pp[2].x := xm - xmaxD4;
pp[2].y := ymaxD4;
pp[3].x := xm div 2;
pp[3].y := ym - ymaxD4;
pp[4] :=pp[1];
SetColor(4); {сызуға арналған түс}
DrawPoly(4,pp); {4 – қиылысу саны +1}
readln;
CloseGraph
end.
Жұмыстың нәтижесінде экранның қара фонона қызыл үшбұрыш шығады. Үшбұрыштың ішіндегі фонды FillPoly(a: word, var PolyPoints) процедурасымен өзгертуге болады. Параметрлердің мәні DrawPоly процедурасындағыдай қалады. Қозғалыстары да анологиялық тұрғыда болады, алайда үшбұрыш ішіндегі фон боялады. Оған мысал ретінде экранның сол жақ жоғары бөлігіне жасыл түсті төртбұрышты жұлдызды салуға болады.
program g;
uses crt, graph;
const
Star: array[1..18] of integer = (75, 0, 100, 50, 150, 75, 100, 100, 75, 150, 50, 100, 0, 75, 50, 50, 75, 0);
var
gd, gm: integer;
begin
gd:= detect;
initgraph(gd, gm, ‘ c/bp’);
SetFillStyle(1,2);
FillPoly(9,Star); {9 – қиылысу саны + 1}
CloseGraph;
end.
Доға мен шеңберді тұрғызу.
Берілген түстегі шеңберді сызу келесі форматта жүзеге асады:
Cicrle(x, y, r: word), мұндағы х, у – шеңбер центрінің координаталары, r – оның радиусы.
Мысалға келесі программа фрагменті радиусы 50 пикселден тұратын және центріндегі нүкте (450, 100) тең болатын ашық жасыл түсті шеңберді шығару керек:
SetColor(LightGreen);
Circle(450, 100, 50);
Доғаларды Arc(x, y: integer, a, b, R:integer) процедурасының көмегімен сызуға болады, мұндағы a, b - градустағы бастапқы және соңғы бұрыштар, R – радиусы. Бұрыштарды белгілеу үшін полярлы координаталар жүйесі қолданылады.
Сызу үшін қажетті түс SetColor процедурасы арқылы беріледі. a=0 және b=360 жағдайында, толық шеңбер салынады.
Мысалы 0 мен 90° аралығындағы Circle(450, 100, 50) болып шеңбер күйінде сызылған қызыл түсті доғаны салу керек:
SetColor(Red);
Arc(450, 100, 0, 90,50);
Элипстік доғаларды салуда Ellipse (x, y: integer, a, b, Rx, Ry: integer) процедурасы қолданылады, мұндағы х, у – элипс центрі, ал Rx, Ry: горизонтальді и вертикальді осьтер. a=0 және b=360 жағдайында толық элипс салынады. Мысалы толық элипс тұрғызу керек:
SetColor(9);
Ellipse(100, 100, 0, 360, 50,50);
Элипстің ішіндегі фон экран фонымен сәйкес ке леді. Боялған элипсті салу үшін арнайы FillEllipse (x, y: integer, Rx, Ry: integer) процедурасы қолданылады. SetFillStyle (a, b: word) процедурасының көмегімен элипстің боялуы іске асады, мұндағы а- боялу стилі (кесте 4), b – боялатын түс (кесте 1).
Мысалы жасыл түсті сирек нүктелермен толтырылған алқызыл түсті элипсті салу керек, ол үшін төмендегі процедуралар орындалады.
SetFillStyle(WideDotFill, Green); { толтыру стилін орнату}
SetColor(12); {эллипстің сызылу түсі}
FillEllipse(300, 150, 50, 50);
Турбо Паскальдағы графикалық мүмкіншіліктерді толық пайдалану үшін uses сипаттау блогына Graph графикалық модулін қосу керек.
Модуль графикалық функциялар мен процедуралардың тізбегін құрайды.
- 4 Графикалық процедуралар
Arc (x,y: integer; St,En,R: word); {доғаны салу, мұндағы x,y – доға центрінің координатасы, R - радиусы, St, En – бастапқы және соңғы бұрышы}.
Сурет 1. Доға
ClearDevice; {экранды тазалау}
Circle (x,y: integer; R: word); {шеңбердің радиусыR
(x,y) центр нүктелері }
CloseGraph; {графиканың жабылуы}
InitGraph (gd,gm: integer; Path: string); { графиканың инициализациясы, мұндағы
gd - графикалық драйвер,
gm - графикалық режим,
Path – файлды .bgi кеңейтілуімен орналастыру жолы}
Line (x1,y1,x2,y2: integer); {координаталары(x1,y1) және (x2,y2) болатын екі нүкте арқылы өтетін сызық сызу}
LineRel (dx,dy: integer); {сызықтарды салу: dx, dy – координатаның курсордың берілген координатасына өсуі}
Сурет 2. LineRel процедурасының сипатталуы
LineTo (x,y: integer); {меңзердің берілген позициясынан және координатасы (x,y) болатын нүкте арқылы өтетін сызықты салу}
Moveto (x,y: integer); {берілген нүктенің координатасы}
OutText (T: string); {берілген нүктеге мәтін шығару}
OutTextXY (x,y: integer; T: string); {координатасы х, у нүктеге мәтін шығару}
Rectangle (x1,y1,x2,y2: integer); {тіктөртбұрышты салу: (x1,y1) және (x2,y2) – қарама-қарсы төбелерінің координатасы}
PutPixel (x,y: integer; c: word); {түсі с болатын (х, у) координаталы нүктені шығарады}
Сурет 3. Дисплей экранының координаталары
Графикалық функциялар
GetMaxX – х осі бойынша экранның максивальді өлшемін анықтайды.
GetMaxY - у осі бойынша экранның максивальді өлшемін анықтайды.
GetX - х осі бойынша берілген позицияның координатасы.
GetY - у осі бойынша берілген позицияның координатасы.
Машиналық координаталар
Машиналық координата жүйесінің басы, осьтің бағыттары, сонымен қатар монитордың координаталарының максимальді мәндері суретте көрсетілген.

- Pascal программалау тілінде “Шашка” ойынының программасын құру
- Passato Remoto - время, говорящее о делах давно минувших
- Patstāvīgais darbs
- Paзpaбoткa кoнвepтopa нa языкe Си для пepeвoдa пpoгpaмм нa языкe Пaскaль
- Paзвитиe гeндepныx иccлeдoвaний в лингвистике
- Paзвитиe индуcтpии гocтeпpиимcтвa в Poccии
- Paзвитиe индуcтpии гocтeпpиимcтвa в Poccии
- Oцeнкa удoвлeтвoрeннocти клиeнтoв кaчecтвoм прeдocтaвляeмых уcлуг
- Oценка инженерно-геологических условий строительства
- Oценка финансовой устойчивости предприятия
- Oценка эффективности функционирования производственной логистики
- Pacпpeдeлeниe oбязaннocтeй пo дoкaзывaнию в гpaждaнcкoм пpoцecce
- Pasažieru maršruta aprēķins
- Pascal. Массивы