Pascal программалау тіліндегі фрактальді графика

Автор работы: Пользователь скрыл имя, 28 Апреля 2014 в 01:25, курсовая работа

Описание работы

Берілген курстық жұмыста Паскаль программалау тілінде түрлі
графикалық обьектілерді құру мүмкіндіктері қарастырылған. Graph модулін
пайдалана отырып оның түрлі сипаттағы функциялары мен процедуралары
программалау кезінде қолданылды. Паскаль программалау тілінде графикалық
жұмыстар екі режимде іске асады

Содержание работы

Кіріспе....................................................................................................................
1. 1. Паскаль программалау тіліндегі фрактальді графика........................
1. 1 Базалық процедуралар мен функциялар.......................................................
1. 2 Фрактальді графикалық режимдегі экран мен терезелер...........................
1. 3 Фрактальді графикада қарапайым фигураларды шығару...........................
1. 4 Графикалық процедуралар………………………………………………….
1. 5 Graph модулі…………………………………………………………………
1. 6 Мәтінмен жұмыс………………………………………………………….....
2. Фрактальді графика мүмкіндіктерін программалауда жүзеге асыру.
2. 1 Функцияның графигін тұрғызу……….........................................................
2. 2 Графикадағы циклдер. Кездейсоқ процесстердiң құрастыру….................
2. 3 Жұлдызды аспан программасы......................................................................
Қорытынды...........................................................................................................
Қолданылған әдебиеттер....................................................................................

Файлы: 1 файл

Фрактальді графика.doc

— 351.50 Кб (Скачать файл)

Қазақстан Республикасының Білім және Ғылым Министрлігі

Еуразия Академиясы

 

 

 

“Информатика және есептеу техникасы”

мамандығы деканаты

 

 

 

 

 

 

 

«Алгоритмдеу және программалау тілдері» пәнінен

КУРСТЫҚ ЖҰМЫС

 

 

 

 

Тақырыбы: “ 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 графикалық процедура, функция, түрлі стандартты константалар мен берілген типтерден құралады) кітапханасын, түрлі монитор типтерімен жұмыс жасауға мүмкіндік беретін драйверлерді теру, графикалық экранға әр түрлі биіктіктегі және пішіндегі мәтіндерді шығару үшін қаріптерді теруді жасап шығарды.

Графиканың аппаратты қолдауы екі негізгі модульмен: видеомонитормен және видеоадаптермен қамтамасыз етіледі. Компьтерде қандай да болмасын адаптер орнатылғанымен, негізгі адаптерге соңғы күйге келтіру автоматты түрде орындалатындықтан Турбо Паскальдің графикалық процедуралары мен функцияларының арқасында сол бір терулерді қолдануға болады. Бұл күйге келтіруді графикалық драйверлер іске асырады.

Графикалық жүйеде қосылу мен жұмысын аяқтау келесі түрде жүзеге асады:

  1. Graph модулін қосу (графикалық процедуралар кітапханасын): normal">uses Graph;
  2. Графикалық режимді орнату:
  • графикалық драйверлер мен мониторды анықтайтын айнымалылары сипаттау:

 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); 
a –бояу стилі, b - түс

Облысты бояудың түсі мен стилін қояды

SetLineStyle

SetLineStyle(a, b, c: word); 
а –сызық стилі, b- сызықтың салыну үлгісі, с-сызық қалыңдығы

Сызық стилін және қалыңдығын қояды

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); 
a, b- градуспен өрнектелген бастапқы және соңғы бұрыштар

Радиусы 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); 
a, b, - градуспен өрнектелген бастапқы және соңғы бұрыштар

Эллипс секторын салады және толтырады




 

Кесте 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 процедураларының көмегімен орнатқан жөн.

 

  1. 3 Фрактальді графикада қарапайым фигураларды шығару

 

Нүктені шығару.

Экранға қандай да болмасын бейнені шығармаса да, олардың барлығы нүктелерден құралған, кез келген бейнені экранның керекті жеріне белгілі бір түстегі нүктелерден тұрғызу арқылы теориялық тұрғыда құруға болады. Graph кітапханасында нүктені шығару келесі процедура арқылы іске асады:

Информация о работе Pascal программалау тіліндегі фрактальді графика