Турбо Паскальдағы графикалық обьектілер

Мазмұны

Кіріспе 3

1. Объектілер 6
1.2 Объектілерді құру 6
1.3 Объектілердің қолданылуы 8

2. Турбо Паскальдағы графикалық обьектілер 9
2.1 Турбо Паскальдағы графикалық обьектілердің қажеттілігі 18

3. Мультипликация 19

4. Жазықтықтағы суреттерді бейнелеу 21

Қорытынды 23

Қолданылған әдеиеттер 26

Қосымша 27
Кіріспе
Менің курстық жұмысым программисттердің басым көпшілігі қолданатын Паскаль тілінің графикалық мүмкіндіктеріне арналған. Бұл курстық жұмыста Паскаль тілінің графикалық мүмкіндіктеріне: объектілерге, мультипликацияға тоқталдым. 4-ші бөлімде өзімнің құрған программама тоқталдым. Мұнда программаның не туралы екенін және программа кодының сипаттамасын беріп кеттім. Оған қоса жұмыстың нәтижесін көрсеттім.
Программа құруға ыңғайлы тамаша тілдердің бірі- Паскаль тілі. Оны оқып үйрену,түсіну және логикалық ойлау өте қара- пайым,әрі жеңіл. Паскаль программалаудың структуралық тәртібін және программалаудың басқа тілдерге қарағанда мысалы,Бейсик тіліне қарағанда әлдеқайда жақсы дамығанын айқындады. Оның қызықты рекурсивтік мүмкіндіктері,сонымен қатар әділ жөн сілтеу технологиясы да қолдау жасап отыр.
Енді бірер ауыз сөз тілдің тарихына тоқталатын болсақ алгоритімдік тіл АЛГОЛ 1950-1960 жылдары өңделді. Паскаль АЛГОЛ-дың ұрпағы болып саналады. Оны өңдеген швециялық,жоғары техникалық училищесінің профессоры Никлаус Вирт болды. Ол бұл тілді дүние жүзінде алғаш есептеу машинасын жасаған ұлы француз ғалымы Блез Паскальдың құрметіне «Паскаль» деп атаған. Паскальдың туған уақыты 70 жылдардың басы болатын. АЛГОЛ-мен салыстырғанда Паскаль түсінікті әрі өте жеңіл. АЛГОЛ-да жоқ болған нәрселердің барлығы Паскальда бар. Онда көптеген жақсы өңделген мәліметтер және қорытылып жаңа үлгіде тұрғызылған процедуралары бар.
Турбо Паскаль Borland фирмасының кеңейтілген стандартты тілі болып табылады,сонымен қатар интегралдау ортасын жеңілдету және тездету процесінде өңдеу программасын қалыпты сақтайды. Турбо Паскаль 7.0 пайда болғанша,бұл программалық өнім жеті версиядан өтті.
Графика IBM/PC – бұл пиксельді графика; біз енді осы жайында әңгіме қозғаймыз. «Вектор» термині екі машиналық сөз деп түсіндіріледі, онда бағдарламаның адресі жазылған. Ол өңдеудің аяқталуына әкеледі; бұл жерде «вектор» тік сызық деген мағына береді. Бірінші де, екінші де интерпретация математикалық параллельдер терминін береді, оларды біз алда кездестірмейміз. Бұл жердегі маңызды нәрсе терминдерді араластырмау керек.
Экран дисплейіне кескінді құру кезінде векторлық графика құрылғылары тек тік сызықты ғана қолданады.
Бұл жағдайда машиналық бағдарлама тік сызықтың екі шеткі нүктелеріне негізделеді, ал дисплейдің өзі солардың аралығына тік сызық жүргізеді. Егер қарапайым экран дисплейін алатын болсақ, мейлі ол телевизор немесе компьютердікі болсын, онда растровты сканерлеу кезіндегі электрондық сәуле стандартты шаблонда кескін жылжиды да, барлық экранды толтырады. Ал векторлық графика принципімен жұмыс жасайтын дисплейде электрондық сәуленің жылжуын бұйрық негізінде жүзеге асырылады.
Векторлық сканерлеу жүйесіндегі электрондық бұлттың жылжуын берілген траектория жағдайында жүре алады, тек бір рет және соңына дейін қондырылған шаблонмен ғана емес.
Векторлық графиканың көптеген артықшылықтары бар – ол өте жоғары дәлдікте, салыстырмалы жоғары дәрежеде жылдам әрекетті. Бұлардың бәрі инженерлік графиктер аясында, оны ең тиімді етеді, әсіресе қиын және дәл графикалық дисплейлерде құру кезінде. Дегенмен, векторлы-графикалық жүйелер тік сызықтарды сызу үшін ғана қолданылады.
Қазіргі уақытта шығарылатын компьютерлер IBM фирмасында фирмасында жасалынған адаптерлермен немесе соған ұқсастандырылған түрлерімен жабдықталған. Олардың барлығы дерлік тек 13 тарауда көрсетілген MDA монохромды адаптерінен басқасы графикалық режимде жұмыс жасайды. Бұл режимде экран дисплейі біріне-бірі өте жақын орналасқан нүктелер – пиксельдердің біркелкілігіне байланысты, олардың жарықтандыруымен басқаруға болады.
Нақты адаптердің графикалық мүмкіндіктеріне байланысты анықталады, дәлірек айтқанда пиксельдердің мөлшерімен, сондай-ақ түстер санымен анықталады. Сонымен қатар көптеген адаптерлер бір уақытта бірнеше графикалық беттермен жұмыс жасай алады. Графикалық бет дегеніміз – экранның «картасын» жасап шығаруға, яғни әр пиксельдің түсі туралы ақпарат сақтайтын оперативті жадының ауданы. Әрі қарай әрбір адаптерлер туралы жеке мағлұматтар береміз.
CGA адартері (Color Graphics Adapter – түлі-түсті графикалық адаптер) 5 графикалық режимі бар. Оның төртеуі төмен мүмкіндікті экранға тән (320 пиксель көденеңінен және 200 тігінен, яғни 320*200) және онда түстердің жиынтығы - палитрасы бар.
Әрбір палитра үш түстен тұрады. Әрбір палитра үш түстен тұрады, ал егер жарықтанбайтын қара түсті санасақ – төрт түстен тұрады: палитра 0 (ашық жасыл, қызғылт, сары), палитра 1 (ашық көгілдір, таңқурай түстес, ақ), палитра 2 (жасыл, қызыл, сұры) және палитра 3 (көгілдір, фиолет, ашық сұр).
Бесінші режим 640*200 жоғарғы мүмкіндікке сәйкес, бірақ әрбір пиксель бұл жағдайда ол жарықтанып немесе қандай-да бір алдын-ала дайындалған немесе барлығына бірдей пиксельдермен, бұл режимнің палитрасы 2 түсті түзеді. CGA адаптері графикалық режимде тек қана бір бетті пайдаланады. ЕGA адаптері CGA адаптерінің графикалық режимін толығымен орындай алады. Сонымен қатар онда мынадай режимдер бар: төменгі рұқсаттылық (640*220, 16 түс, 4 бет) және жоғарғы рұқсаттылық (640*350, 16 түс, бір бет). Кейбір өзгерістерде монохромды режим қолданылады. МCGA адаптері CGA адаптерімен сәйкес келеді және онда тағы бір 640*480, 2 түсті, бір бет – режим бар.
Қолданылған әдеиеттер
1. Б.Бөрібаев. Информатика және компьютер. Алматы, 1995ж.
2. Г.Григас. Бағдарламалау негіздері. Москва, 1987.
3. А.И.Гусева. Тurbo Раsсаl 7.0-де бағдарламалау. Москва, 1996 ж.
4.Ж.Динисламов. Turbo Pascal тілі ортасында бағдарламалау,2002 ж.
5. О.Камардинов. Есептеуіш техника және бағдарламалау. Алматы, 1997ж.
6. В.Б. Попов. Turbo Pascal, оқушылар үшін. Москва, 2001 ж.
7. Қ.Сарыбасов. Бағдарламалау курсы. Алматы, "Мектеп" 1989ж.
8. В.В.Фаронов. Turbo Pascal. Москва, 1999ж.
9. В.Э.Фигурнов. IBM PC пайдаланушылар үшін. Москва, 1996ж.
        
        Мазмұны
Кіріспе 3
1. Объектілер 6
1.2 Объектілерді құру 6
1.3 ... ... 8
2. ... ... ... ... ... Турбо Паскальдағы графикалық обьектілердің қажеттілігі ... ... ... ... ... ... ... 23
Қолданылған әдеиеттер 26
Қосымша 27
Кіріспе
Менің курстық жұмысым программисттердің басым ... ... ... ... ... ... Бұл курстық жұмыста
Паскаль тілінің графикалық мүмкіндіктеріне: ... ... 4-ші ... ... ... ... ... Мұнда
программаның не туралы екенін және ... ... ... ... Оған қоса ... нәтижесін көрсеттім.
Программа құруға ыңғайлы тамаша тілдердің бірі- Паскаль тілі. Оны
оқып ... және ... ... өте ... ... ... ... структуралық тәртібін және программалаудың басқа тілдерге
қарағанда мысалы,Бейсик ... ... ... жақсы дамығанын
айқындады. Оның қызықты рекурсивтік ... ... әділ ... ... да қолдау жасап отыр.
Енді бірер ауыз сөз ... ... ... ... тіл ... ... жылдары өңделді. Паскаль АЛГОЛ-дың
ұрпағы болып саналады. Оны өңдеген швециялық,жоғары техникалық училищесінің
профессоры Никлаус Вирт ... Ол бұл ... ... ... алғаш есептеу
машинасын жасаған ұлы француз ғалымы Блез Паскальдың құрметіне ... ... ... ... ... 70 жылдардың басы болатын. АЛГОЛ-мен
салыстырғанда Паскаль түсінікті әрі өте ... ... жоқ ... ... Паскальда бар. Онда көптеген жақсы өңделген мәліметтер
және қорытылып жаңа үлгіде тұрғызылған процедуралары ... ... Borland ... ... ... тілі болып
табылады,сонымен қатар интегралдау ... ... және ... ... ... ... сақтайды. Турбо Паскаль 7.0 пайда
болғанша,бұл программалық өнім жеті версиядан өтті.
Графика IBM/PC – бұл ... ... біз енді осы ... ... ... термині екі машиналық сөз деп ... ... ... ... Ол өңдеудің аяқталуына әкеледі; бұл жерде
«вектор» тік сызық ... ... ... Бірінші де, екінші де интерпретация
математикалық параллельдер ... ... ... біз ... Бұл ... ... нәрсе терминдерді араластырмау керек.
Экран дисплейіне кескінді құру кезінде векторлық графика құрылғылары
тек тік сызықты ғана қолданады.
Бұл жағдайда машиналық бағдарлама тік ... екі ... ... ал ... өзі ... ... тік сызық жүргізеді. Егер
қарапайым экран дисплейін алатын ... ... ол ... ... болсын, онда растровты сканерлеу кезіндегі электрондық
сәуле стандартты шаблонда кескін жылжиды да, ... ... ... ... графика принципімен жұмыс жасайтын дисплейде электрондық сәуленің
жылжуын бұйрық негізінде ... ... ... жүйесіндегі электрондық бұлттың жылжуын берілген
траектория жағдайында жүре алады, тек бір рет және соңына дейін қондырылған
шаблонмен ғана ... ... ... ... бар – ол өте ... салыстырмалы жоғары дәрежеде жылдам әрекетті. Бұлардың бәрі
инженерлік графиктер аясында, оны ең тиімді етеді, ... қиын және ... ... құру ... Дегенмен, векторлы-графикалық жүйелер
тік сызықтарды сызу үшін ғана қолданылады.
Қазіргі уақытта шығарылатын компьютерлер IBM ... ... ... немесе соған ұқсастандырылған түрлерімен
жабдықталған. Олардың ... ... тек 13 ... ... MDA
монохромды адаптерінен басқасы графикалық режимде жұмыс жасайды. Бұл
режимде ... ... ... өте ... орналасқан нүктелер –
пиксельдердің ... ... ... ... ... ... ... мүмкіндіктеріне байланысты анықталады,
дәлірек айтқанда пиксельдердің мөлшерімен, сондай-ақ түстер ... ... ... ... ... бір ... бірнеше
графикалық беттермен жұмыс жасай алады. Графикалық бет дегеніміз – экранның
«картасын» жасап шығаруға, яғни әр пиксельдің түсі ... ... ... жадының ауданы. Әрі қарай әрбір адаптерлер ... ... ... ... (Color Graphics Adapter – ... графикалық
адаптер) 5 графикалық режимі бар. Оның төртеуі төмен мүмкіндікті экранға
тән (320 пиксель көденеңінен және 200 ... яғни 320*200) және ... ... - палитрасы бар.
Әрбір палитра үш түстен тұрады. ... ... үш ... ... ... ... қара түсті санасақ – төрт түстен тұрады: ... ... ... ... ... ... 1 ... көгілдір, таңқурай түстес,
ақ), палитра 2 (жасыл, ... ... және ... 3 (көгілдір, фиолет, ашық
сұр).
Бесінші режим 640*200 жоғарғы мүмкіндікке ... ... ... бұл жағдайда ол жарықтанып немесе қандай-да бір алдын-ала
дайындалған немесе ... ... ... бұл ... ... ... түзеді. CGA адаптері графикалық режимде тек қана бір ... ЕGA ... CGA ... ... ... толығымен
орындай алады. Сонымен қатар онда мынадай режимдер бар: төменгі рұқсаттылық
(640*220, 16 түс, 4 бет) және жоғарғы ... ... 16 түс, ... ... өзгерістерде монохромды режим қолданылады. МCGA адаптері CGA
адаптерімен сәйкес келеді және онда тағы бір 640*480, 2 ... бір бет ... ... ... ... ... әрќашан жүргізуші ой жатады,осы тіл
арќылы ойластырылған стильге ... ... ... тарихи пікір бойынша процедураның құрылымды программаларда,
бағдарламалаушы өзінің ... ... ... ... ... де ең ... ... іске асыруы
керек.Бұл пікірдің пайда болуына себеп болған,алгоритмдік,прогрммалаушы
тілдер ... ... ... ... бірі – ... ... ... ретінде жатќызуға
болады.Содан кейінгі қолдануларда бұл ... ... ... ... себеп болды.Бұл ... ... ... 67 ... ... жаңа ... ... болды.Ол
объектілі бағытталған бағдарламалау.Бұл тіл берілген ... ... ... ... ... ... ... мінездемесі берілгенімен алгоритмдердің өңделуінің инкапсуляциясы болып
табылады.Осының нәтижесінде берілгендер де,процедураларда көп ... ... ... ... бағдарламалауды модуьдік
бағдарламалаудың жаңа сатысы деп қарастыруға болады.
1.2 Объектілерді ... ... ... ... үшін ... сөздер
бар:object,constructor,destructor және де үш ... ... ... ... object сөзі ... сипаттау үшін қолданылады.Объектіні
сипаттау типтері сипаттау бөлімінде орналасуы тиіс:
Type
My object = ... ... ... ... ... бір түп ... ... болса,онда түп негіз аты
жай жақшаға алынып object ... ... ... = object ... келген объектте бірнеше тармақ болуы ... ... бір ... ... керек.
Біздің оқу тапсырмамызда ТGraphObject түпнегіз ... ... әдіс пен өріс ... ... = ... (Объект өрістері пайдаланушыдан жасырулы болады)
X,Y : integer;(реперлік нүктенің координатасы)
Color : word;(фигура ... ... ... ... ... ... Init(aX,aY: Integer;aColor: Word); (Объектінің көшірмесін
құрады)
Proсedure Draw(aColor: Word); Virtual;( Түстердің берілген объектісін
сызады)
Proсedure Show; (Берілген түспен объектіні береді)
Proсedure ... ... – оның ... ... MoveTo ... мен ... объектіде басқаша орналасады X+dX и Y + ... ... ... ... ... қолданылуы
Инкапсуляция тұжырымын графикалық объектілерде ғана емес,алгоритмдерде
қолдануға,сонымен қатар барлық бағдарламаларда.Объекті бағдарламаны құру
үшін бізге ешбір зат кедергі ... және ... ...... ... ... Run және соңы ... кезеңінде экран
графикалыќ режимге көшеді және графикалық ... ... ... 100 ... ... ... ... және
суреттеледі және бір біреуден TLine,TCircle,Trect құрылады. Run кезеңінде
сканерлеу және графикалық объектілердің ... ... ... Done
кезеңінде экран текстік режимге көшіріледі және бағдарламалаудың ... ... ... ... ... атын ... ... оны орналастырамыз.
Unit GraphApp;
interface
type
TGraphApp = object
Procedure Init;
Proсedure Run;
Destructor Done;
end;
implementation
procedure TGaphApp. Init
. . .
. . .end;
. . .
. . ... ... ... шекті және қарапайым болып келеді.
program Graph Objects;
uses GraphApp;
var
App:TGraphApp;
begin
App.Init;
App.Run;
App.Done;
end.
Біз TGrahpApp бағдарламасында App объектісінің ең жалғыз данасын
құрамыз және оның 3 ... аса ... ... бір ... ... данасын жасау объектінің өз данасын
жасаудан еш айырмашылығы ... ... ... біз ... ... атын ... TGraphApp;
GraphApp модулінің қажетті варианттары қарастырылған.
2. Турбо Паскальдағы графикалық обьектілер
ПК PS/2 сериялары да осындай адаптерлермен жабдықталған. Бұл ... ... VGA – ... ... ... ... VGA адаптері CGA мен ЕGA адаптер режимдері тәрізді жоғары
рұқсаттылықты (640*480, 16 түс, 1 бет) ... ... ... ... және одан да артық, 256 және одан да көп түстерді қолданатын супер
– VGA деп аталатын адаптерлер шықты.
Қазірде олар кең ... ... ... ... ... Graph
кітапханасында драйверлер жоқ. SVGA VGA-мен ұқсас ... ... ... ... үшін ... драйверін қолданады және
салыстырмалы қарапайым мүмкіндіктермен шектеледі. ... ... ... ... ... бар. HGS ... мүмкіндігі бар, оның пиксельдері бір ... ғана ... ... ... ... ... яғни ол ... адаптер. Адаптер
HGС+ басқаларымен салыстырғанда жетік, ал НІСС ... ... ... Енді ... ... ойлап көріңіз:
Сізге PASCAL тілінде компьютердің мүмкіндіктерін пайдалана отырып
бағдарлама жазу ... Егер Сіз ... ... белгілі адаптері бар
компьютерді пайдалансаңыз – жақсы.
Оның тек бір ғана жолы бар. Егер бізге ... типі ... ... ... кез-келген адаптермен жұмыс жасаса, онда InitGraph-
қа драйверді автоматты ... ... үшін ... ... Ол ... ... ... ауыспалы Graph Driver-ге detect мәнін береміз. Бұл
кезде компьютер қажетті ... ... ең ... ... таңдап
береді.
Монитор экранындағы кез келген мәлімет графикалық режимде жұмыс
жасағанда жарықтанатын ...... ... ... ... мен ... ... бетінің қай бұрышында орналасқаны жөнінде
мәлімет береді. Ағымдағы ... ... ... ... ... үшін Get MaxX GetMaxY стандартты функцияларын қолданамыз. Ол үшін ... ... ... мәтіндік режимнен айырмашылығы онда фонның
түсі тек ... ... ... графикалық режимде ол кез-келген түсте болуы
мүмкін, жаңа фон енгізу ... ... ... ... өзгертеді. Бұл
екі участокта әр түрлі түс болса, онда кескінді салуға ... ... ... ... мүмкіндіктегі адаптерге фон
түсін енгізгенде өзгертуге болады.
Ескерте кететін бір жайт, фон түсін 0 (black) ... ... ... өзгертуге болады, оны тек сіздер қара түс ... ғана ... ол ... түсі ... қала ... ... graph модулінің
процедуралары 0 нөмірлі түсті фонның түсі ретінде қабылдайды. Бұл ... қара ... ... ... айтады. Егер сіздің компьютеріңізде
түрлі түсті экран болса, онда келесі бағдарлама ... ... ... ... 10 ... шығарады, содан соңфон
түсі өзгереді. Бағдарламадан шығу үшін кез ... ... ... келген фигураларды салмастан бұрын экранның түсін және салынатын
фигура жиегін анықтайтын процедуралармен танысайық.
    
1.     SetBkColor(Color)     -  экранның ... ... ... color-
түсі.
2.     SetColor(Color)         -  фигура жиегінің түсін білдіреді,  color-
түсі.
 
Енді фигураларды салу процедураларына тоқталайық.
3.  PutPіxel(X,Y,Color)    -  боялған нүкте салу, мұндағы (X,Y) � ... Color  -  ... ... -  түзу салу ... мұндағы Х1,Y1 �
түзудің бастапқы нүктесінің координатасы, ал X2,Y2  -  соңғы нүктесінің
координатасы.
1.     Rectangle(X1,Y1,X2,Y2) -  тіктөртбұрышты салу процедурасы,
мұндағы, Х1,Y1 � ... сол жақ ... ... ... ал X2,Y2  -  оң жақ ... ... ... Cіrcle(X,Y,R)  -  шеңберді сызу процедурасы, мұндағы (X,Y)-шеңбер
центрінің нүктесі, R-радиусы.
   
    1-мысал. Сары түсті экранға қызыл түзу, жасыл ... ... және ... шеңбер салу программасын жаз.
    1-сурет.
 
  
 
 
Программасы:
Program  Сурет-1;
Uses Graph,  Crt;
Var GraphDrіver,
      Graphmode: іnteger;
Begіn
       Clrscr;
       GraphDrіver := 0;
       ІnіtGraph (GraphDrіver, ...... Іf  ... 0 then
    Begіn
         Wrіteln;
         Wrіteln;
         Halt;      End;
   SetBkColor(14);                     {Экранды сары түспен бояу}
   SetColor(4);                          {Жиегі қызыл болатын
   ... 180, 240, ... түзу ... ... ... көк ... ... 260, 320, 360);     тіктөртбұрыш салу}
   SetColor(2);                          {Жиегі жасыл болатын
   Lіne(380, 100, 380, ... ... 100, 600, ... ... салу}
   Lіne(380, 220, 600, 220);
   SetColor(6);                          {Жиегі қоңыр болатын
   Cіrcle(480, 280, ... ... ... Readln; ... процедуралардан кейін тұйық облыстардың ішін қалай бояуға болады екен
деген сұрақ тууы ... ... тік ... ... ... ... екі ... жүзеге асырылады:
 
7. SetFіllStyle(Pattern, Color)  -  мұндағы Pattern-бояудың типтері, Color-
түсі.
8.FloodFіll(X,Y, Color)         -  ... ... ... ... ... ... ... Color-түсі.
Тұйық облыстың іші дұрыс боялуы үшін ең алдымен оның кез ... ... ... ... және SetColor мен ... ... ... бірдей алынуы керек.
2-мысал. Ақшыл көк түсті экранға боялған тік ... ... ... ... мен ... ... программасын құрайық.
Program  Сурет-2;
Uses Graph,  Crt;
Var GraphDrіver,
      Graphmode: іnteger;
Begіn
       Clrscr;
       GraphDrіver := 0;
       ІnіtGraph (GraphDrіver, GraphMode, ‘ ‘);
    Іf  GraphResult 0 ... ... ... ... ... ... SetBkColor(9); setcolor(4);
    Lіne(60, 60, 480, 30);   Lіne(480, 30, 480, ... ... 400, 60, 400); ... 400, 60, ... ... ... FloodFіll(460, 60, 4);
    SetColor(5);
    Cіrcle(200, 230, 85);    ... ... ... ... SetColor(2);
    Lіne(200, 160, 280,230); Lіne(280, 230, 165, 280);   Lіne(165, 280,
200, 160);
    SetFіllStyle(2, 1);     FloodFіll(200, 170, 2);
Readln; ... ... ... ... ... ... толықтырып жаз.
 Uses Graph,  Crt;
Var GraphDrіver,
      Graphmode: іnteger;
Begіn
       Clrscr;
       GraphDrіver := 0;
       ІnіtGraph (GraphDrіver, GraphMode, ‘ ... ... ... 0 ... ... ... ... Halt; End;
 
                                  Setbcolor(2); Setcolor(4);
                                  Cіrkle(250,150,50);
                                  Setfіll style(1,3); floodfіll(250,210,2);
                                  Setcolor(14);
                                  Lіne(250,50,175,225); lіne(175,75,325); 
                               ... ... Uses Graph,  ... Var ... Graphmode: іnteger;
                                         Begіn    Clrscr;
                                         GraphDrіver := 0;
                                        ІnіtGraph (GraphDrіver, GraphMode,
‘ ‘);
                                         Іf  ... 0 ... ... Wrіteln; Wrіteln; Halt;
                                       Setcolor(14); setbcolor(6);
   Lіne(150,100,170,300);lіn(150,100,350,300);
   Setbkcolor(5); 
Cіrcіe(250,200,50);Flooclfіll(250,200,5)                                  
Srtfіllstyle(3,4);
readln;end;                                                     
                                                                            
                                          
Uses Graph,  Crt;
Var GraphDrіver,
      Graphmode: іnteger;
Begіn
       Clrscr;
       GraphDrіver := ... ... ... ...... Іf  ... 0 ... Begіn   Wrіteln; Wrіteln; Halt;
                                 setcolor(1);Setcolor(15);
                                  Lіne(250,50,475,200);
Lіne(200,50,25,300);
                                  Setcolor(3);
                                 Cіrcle(250,200,100);
                                 Setfіll style ... Readln; ... ... ... программа құр.
     
1                         2                       3
 
 
3-деңгей.
1. Боялған тең бүйірлі үшбұрыштың ішіне ... ... ал ... ... ... ... программа құр.             
2.Боялған тікбұрышты үшбұрышқа боялған іштей және сырттай шеңберлерді
салуға программа ... ... тең ... ... ... ... ал оның ішіне тең қабырғалы
үшбұрыш салуға программа құр.
 
 Доға, сектор, эллипс, эллипстік доға және ... ... ... ... ... ... ... тіліне қарсы сызылады.
9.Arc(X,Y,M,L,R)-доға салу. Мұндағы (X,Y)-доға шеңберінің центрі, M-доғаға
тірелетін ... ал ... ... ... ... ... �сектор салу. Мұндағы (X,Y)- сектор шеңберінің
центрі, M-секторға тірелетін бастапқы, ал L-соңғы осьтік бұрыштары, R-
радиусы.
11.Ellіpse(X,Y,M,L,RadX,RadY) � эллипстік доға салу. ... ... ал L � ... ... ... RadX-көлденең, RadY-тік
осьтері. 
                             
12.FіllEllіpse(X,Y,RadX,RadY) � боялған эллипс салу. Мұндағы (X,Y)-центрі,
RadX және ... ... және тік ... ... және ай ... ... Uses
Graph,  Crt;
                                                                   Var
GraphDrіver,
                                                                  
Graphmode: іnteger;
                                                                   Begіn
                                                        Clrscr;
                                                        GraphDrіver := 0;
                                                        ІnіtGraph
(GraphDrіver,                                                    
GraphMode, ‘ ... Іf  ...
0 ... ... ... Halt;
                                                        End;
    SetBkColor(4);
    Setcolor(1);
Pіeslіce(350, 150,0,180,150); Setfіllstyle(1,1); Floodfіll(350,150,1);
SETcolor(5);Rectangle(305,150,375,350); Setfіllstyle(1,5);
Floodfіll(308,160,5);
SETcolor(14);Arc(6,150,300,60,147); arc(50,150,280,79,130);
 Setfіllstyle(1,14); Floodfіll(167,150,14);
Readln; closegraph; End.
2-мысал. ... ... Graph,  ... ... Graphmode: іnteger;
                            Begіn    Clrscr;
                            GraphDrіver := 0;
                            іnіtGraph (GraphDrіver, GraphMode, ‘ ‘);
                            Іf  ... 0 ... ... ... ... Halt; End;
Setbkcolor(2);
Setcolor(1);
Cіrlcle(350,200,150); setfіllstyle(1,14); floodfіll(350,200,1);
Setcolor(5); arc(350,250,195,350,65);setcolor((1); arc(195,195,70,294,20);
setfіllstyle(2,1); floodfіll(180,195,1);
arc(500,195,266,97,20);setfіllstyle(2,1); floodfіll(505,195,1);
Setcolor(4); cіrcle(300,160,10); setfіllstyle(1,4); floodfіll(300,160,4);
cіrcle(390,160,10);
setfіllstyle(1,4); floodfіll(390,160,4);
2.1 Турбо Паскальдағы графикалық обьектілердің ... ... ... ... мен функциялар графикалық
режимінде мәтіндік хабарламаның ... ... ... Ол ... writeln ... ... ... емес.
Ол графикалық процедураларға арнайылап жасалынған, хабарлама
шығарылымын ... ... әр ... ... және т.б. үшін жасалынған.
Write ... writeln ... ... кейін жадының екінші
жартысында белгі ... ... ... ... қолданылуы
туралы хабарлама шығады, бірақ арнайы процедуралардың күшті мүмкіндіктеріне
ие емес. Түрлі-түсті графикалық адаптер екі режимді шығарылымды болады, ... ... ... ... ... Бұл ... нүктелердің толық
адресациясы деп аталады, себебі бұл режимдер ... ... ... ... ... ... алады. Ол нүктелердің әрқайсысының
төрт түстің біреуін ғана алуға мүмкіндік бар. Бұл әрбір ... ... 2 бит ... ... ... ... ... әрбір байтында
төрт нүкте немесе пиксель ... Егер сіз ... ... тік ... одан соң ... ... ... бөлсеңіз ол байттағы нүкте саны
болып есептеледі, ортаңғы мүмкіндіктегі үшін режим 16 000 байт ... ... ... ... түрлі түсті платаға 16К көлемде жады
қажет. Қос бит 6 және 7 ... бір ... (0) ... ... ал 0 және
1 биттер байттағы соңғы нүкте (3) ретінде көрінеді. Біріншіден, ... 80 ... 320 ... жолы 0 жады ... ... ... сөзі жылжып тұратын бейнелер деген мағынаны білдіреді.
Экран бетімен бейненің жылжуын жасау өте ... Бұл үшін ... ... ... ... соң оны ... жаңа жерден қайта шығару керек.
Төмендегі программаны солдан оңға ... ... ... ... ... Graph, ... y, r: integer;{центр, координата, шеңбер радиусы}
Dx: integer; {шеңбер жылжуының қадамы}
Dt: integer; {жаңа жерден салуға ұстап қалу}
grDriver: integer; ... integer; { ... ... ... string; { ... орналасуы }
ErrCode: integer; {графиктік режимнің инициализациялау нәтижесі}
Begin
grDriver:=detect;
grPath:= ‘c:\bgi’; {драйвер, файл, EGAVGA BGI, ... ... ... grMode, ... ErrCode < > grOk ... ... режимнің инициализациялау қатесі’);
Writeln (‘жұмысты аяқтау үшін басыңыз’);
Readln;
Halt (l);
End;
X:=0; {шеңбердің ... ... ... ... ... қадамы}
Dt:=1000; {ұстап қалу}
While x < 639 do
Begin
{шеңбер салу}
SetColor (yellow);
Circle (x, y, r);
{ұстап қалу}
Delay ... ... ... (x, y, ... центрінің орналасуын өзгерту}
x:=x + dx;
End;
Write (‘жұмысты аяқтау үшін басамыз’);
CloseGraph;
End.
4. Жазықтықтағы суреттерді бейнелеу
Мен бұл курстық жұмысыма мысал ... ... ... ... Үйдің
суретіне Паскаль тілінің сурет салуға ... ... ... ... Бұл ... ... сиппатайық:
program gr_1;
uses crt,graph; (*бұл жерде суретпен және текстпен жұмыс жасайтын
модулдерді іске қостық*)
var ... ... ... ... ... ... ... (*граф модулін іске қосу*)
setbkcolor(1); (*фонның түсін келтіру*)
rectangle(200,200,500,450); (*үйдің қаңқасын жасау*)
(*үйдің ьұрыштарын салу*)
line(350,50,500,200);
line(350,50,200,200);
(*терезелерді салу*)
setcolor(1); (*терезенің түсі*)
setlinestyle(0,0,3);
setfillstyle(1,8);
(*терезені ... ... ... ... ... ... кез-келген пернені басуын күту*)
readkey;
(*граф модулін жабу*)
closegraph;
end. (*программаның соңы*)
Жұмыстың нәтижесі төменде ... ... ... ... жұмыстың мақсаты ... ... ... ... ... Менің ізденістерімнің нәтижесінде осындай
нәтижеге ... ... ... ... ... компьютердің
барлық мүмкіндіктерін қолданады. Бұл жүйені өткен ғасырдың 80-шы жылдарында
ойын жасауға қолданған болатын.
Алдыңғы шығарылған басқа жүйелер ... VGA –да ... ... ... көрсетеді. Бірақ VGA-ның режим мөлшері одан ... Оның ... саны 17. ... ... жәнк ... ... ... деңгейі әртүрлі. Графикалық режимдегі түрлі-түсті
кескінді жасауға кететін мүмкіндік 640*480 пиксельге ... ... ... ... ... 16 түстен жасалынады. Мұндай деңгей
монохромды ... үшін де ... ... ... 640*480 ... ... көшукескіннің нақтылығын көрсетті. VGA стандарты кескінді
түстің көп гаммасын пайдалана отырып ... ... Тік ... (4:3) ... ... ... фактор туындайды. Жаңа
стандарт экранда бір мезгілде 256 түсті қабылдауға мүмкіндігі бар. Ол ... түс ... ... ... жылдан бастап CGA-ның кемшіліктері көріне бастады. Ол кең
ауқымда таратылғаннан ... ... ... Қиын ... ... мен
қисынсыз графика көзге түсетін ауыртпалықтарды күшейтіп көздің көруін
төмендете бастады. Сол кемшіліктерге жауап ретінде ЕGA – күшті графикалық
адаптері ... ... ... ... болды: рұқсаттылық мүмкіндіктің көбеюі,
монохромды экранның графикалық мүмкіндігі, ... ... түсі де ... ең қарапайым жолмен де байқауға болады. Рұқсаттылық мүмкіндігі
640*350 пиксельге дейін өсті. Символ ... 8*14 ... ие ... Ең
негізгісі жоласты және жолүсті элементтеріне кеңістіктің бөлінуі. Осыған
байланысты аралас ... ... ... ... ... кескіні
монохромдыныкі тәрізді жақсы ... ... ... ... ... ... ... ІВМ адаптерлерінің бұрынғы графикалық режимдерін де
толық қамтамасыз етіп ... Бұл ... ... ... ... ... көрсетеді.
ЕGA-дағы түстер палитрасы 64 түске дейін өсті. Сонымен қатар ... жады ... ... ... ... ... ие екенін көрсетті.
АРА басқа режимі жолдың 640 нүктесі мен 200 жолды береді. Бұл ... ... бір ... ... ... Егер бит 0 ... онда ... қара
түсті; түс регистр көмегімен таңдалады. Әдетте бұл регистр қара- ала ... ... 1111В (ақ) ... мәлімет береді. Сіз кез-келген түсті таңдай
аласыз. Үлкен ... бит ... ... ал 0 ...... ... ... жол да 80 байтқа тең, жұп жолдар дисплей буферінің басында
орналасады. BIOS бейнебағдарламасы ... ... ... онда ... ... да ... ... 11-ге тең етіп қойылады, бағдарлама ... ... ... ... Бұл ... ... анықталған түстер платасының
палитрасы емес, шын палитралармен ... ... етіп ... ... ... 320*200 шын палитрасына ие болса, онда бұл әрбір
нүктеге төрт түс сәйкес келетіндей етіп ... ... ... ... ... ... ... фон түсі осылай жасалынады. 0 түсінің
ішінен фон түсі ретінде кез-келген ... ... ... ... ... таңдайды. Осы функция ... ... ... ... ... ... екі бағдарлама графикалық экранның нақты нүктелерін жазып ... ... салу ... әрі кез ... ... ... бұл функцияларға көп уақыт кетеді. Себебі экранға әрбір нүктені
шығару үшін бағдарлама ВIOS-ты шақырып ... ... ... мүмкіндіктегі
режим кезінде бағдарлама BIOS –ты 128 000 шақыруы керек, сонда әрбір нүкте
орнын тауып, дұрыс орналасады. Бірақ BIOS ... тез ... ... мен ... ... ... ... сайын буфердің адресін анықтап отырады.
Бұл үшін көбейту, қосу амалдары орындалады және соған уақыт кетеді.
Жалпы ... ... ... ... орнының көмегімен графикті
жазып алады және оның салыстырмалы орнын ауысуын орындайды. Бұл алгоритм
бойынша ... өзі ... ... ... ... ал ... ... буфердің ағымдағы адресі бойынша анықтайды.
Қолданылған әдеиеттер
Б.Бөрібаев. Информатика және компьютер. Алматы, 1995ж.
Г.Григас. Бағдарламалау негіздері. Москва, 1987.
А.И.Гусева. Тurbo Раsсаl 7.0-де ... ... 1996 ... Turbo Pascal тілі ... ... ж.
О.Камардинов. Есептеуіш техника және бағдарламалау. Алматы, 1997ж.
В.Б. Попов. Turbo Pascal, оқушылар үшін. Москва, 2001 ... ... ... ... "Мектеп" 1989ж.
В.В.Фаронов. Turbo Pascal. Москва, 1999ж.
В.Э.Фигурнов. IBM PC пайдаланушылар үшін. Москва, 1996ж.
Қосымша
Delay (ұстап қалу) шеңберді сызу мен ... ... үшін ... ... қалайша жүзеге асады? Шеңберді өшіру үшін шеңбердің түсі
экранның түсімен боялады.
Program titan;
Uses Graph crt;
Const
Dx=5;
Dy=5;
Var
grDriver: integer; {драйвер}
grMode: integer; { ... ... ... string; { ... ... ... integer; ... режимнің инициализациялау нәтижесі}
x,y: integer {кеме координаталары}
Color: word; {кеме түсі}
BkColor: word; ... ... ... Titanik (x, y: integer; color: ... ... ... ... word;
Begin
SetColor (color);
Line (x+10*dx, y-5*dy, x+10*dx, y-10*dy);
{негіз}
Moveto (x+17*dx, y-3dy);
Lineto (x+10*dx, y-10*dy);
Lineto (x, ... ... ... (x,y);
LineTo (x, y-2*dy);
LineTo (x+10*dx, y-2*dy);
LineTo (x+11*dx, y-3*dy);
LineTo (x+17*dx, y-3*dy);
LineTo (x+14*dx, y);
LineTo (x,y);
{құру}
MoveTo (x+3*dx, ... (x+4*dx, ... (x+4*dx, ... ... y-4*dy);
LineTo (x+13*dx, y-3*dy);
Line (x+5*dx, y-3*dy, x+9*dx, y-3*dy);
{капитан ... (x+8*dx, y-4*dy, x+11*dx, ... (x+7*dx, y-4*dy, x+8*dx, ... ... ... y-2*dy, Trunc ... detect;
GrPath:=‘c:\bgi’: {драйвер, файл EGAVGA.bgi, c:\bpi каталогында
орналасады}
InitGraph (grDriver, grMode, grPath);
Evecode:= ... EveCode < > grOk then Halt ... ... ... ... (x, y, white); ... салу}
Delay (1000);
Titanik (x, y, blue); {кеме ізі}
Until (x>500);
OutTextXY (10, 10, ‘Сапар аяқталады!’);
Readln;
CloseGraph;
End.
Бұл программада базалық нүкте әдісі қолданылды. ... ... ... y0). ... ... ... осы нүктеден саналады. Кеменің
салынуы мен өшіруін Titanik процедурасы орындайды. Егер ... ... ... ... ... айырмашылығы болса, онда прцедура
кемені “салады”, егер сәйкес болса-“өшіреді”. Titanik процедурасында dx пен
dy тұрақтылары бар, олар ... ... ...

Пән: Информатика
Жұмыс түрі: Курстық жұмыс
Көлемі: 22 бет
Бұл жұмыстың бағасы: 500 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
Турбо паскаль программалау тілінде графикалық объекттерді құру12 бет
Паскаль програмалау тілі туралы түсінік29 бет
Turbo Pascal бағдарламасындағы графикалық режим9 бет
Turbo Pascal жүйесіндегі графиканы ұйымдастыру технологиясы21 бет
Turbo pascal программалау тілі туралы8 бет
Ойындар10 бет
Паскаль тіліндегі модульдер29 бет
Турбо паскаль графикалық режимі30 бет
Турбо Паскальда графикалық процесстерді қолдану25 бет
Ханой мұнарасы10 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь