Турбо-паскальдағы графикамен жұмыс



Мазмұны

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...3

І Graph стандарттық модулі ... ... ... ... ... ... ... ... ... ... ... ... ... ..4
1.1 Процедуралар мен функциялар ... ... ... ... ... ... ... ... ... ... ..5
1.2 Координаттар, терезелер, беттер ... ... ... ... ... ... ... ... ... ... .7
1.3 Көпбұрыштар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .8
1.4 Доғалар, шеңберлер, эллипстар ... ... ... ... ... ... ... ... ... ... ..9
1.5 Тексті шығару ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...9

ІІ Графикалық координаталар жүйесі ... ... ... ... ... ... ... ... ... ...10
2.1Графикалық экран мен элементтердің параметрлерін қою процедуралары ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .11
2.2 Графикалық элементтерді бейнелеу процедуралары ... ... ... ...12
2.3 Графикалық экран мен элементтердің параметрлерін қою функциялары ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...12

ІІІ Есептің берілгені ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .14
3.1 Программаның баяндалуы ... ... ... ... ... ... ... ... ... ... ... ...15
3.2 Енгізілген мәліметтер және шыққан графика ... ... ... ... ... ... 17

Қортынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..18

Қолданған әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...19
Кіріспе
Дисплей экраны нүктелер жиыны болып табылатын төртбұрышты аймақ болып табылады. Ол графикалық және мәтіндік режімдерде жұмыс атқара алады. Графикалық режімде экранның әрбір нүктесін түрлі түске бояп, сол түстер арқылы сызық, мәтін және әр түрлі бейнелер кескіндеуге болады.
Графикалық программалау процесі тиімділігін арттыру мақсатында Borland International фирмасы GRAPH арнайы программалар кітапханасын жасап шығарған болатын, онда қазіргі кездегі мониторлардың барлық типтерімен жұмыс істейтін, экранға түрлі мөлшердегі қаріптер шығара алатын драйверлер жиыны бар.
Экранға мәлімет шығаруды аппараттық жағынан сүйемелдеу екі модуль – бейнеадаптер және бейнемонитор арқылы қамтамасыз етіледі. Бейнемонитор- немесе дисплей- мәтін және графикалық бейнелер шығарылатын құрылғы, ол электрондық сәулелік түтікшеден немесе сұйық кристалды тақтадан тұрады. Дисплей теледидар сияқты жұмыс істеп, экрандағы бейне секунд сайын 25 рет жаңаланып отырады. Адамның көзі бейнелердің мұндай жиілікпен ауысуын байқай алмайды да, мониторда сол бейне қозғалмай тұрғандай болып көрінеді. Экрандағы бейнелер кішкене нүктелерден (пиксельдерден) тұратын қатарларға біріктірілген. Сондықтан экранның басқарылатын ең кіші элементі пиксель (pixel) болып табылады. Экрандағы кез келген бейне осы пиксельдер арқылы салынады. Графикалық режімде экран тіктөртбұрышты пиксельдер жиынынан құралады да, мұнда оның кез келген пикселінің түсін әр түрлі етуге мүмкіндік бар.
Graph модулінің жалпы сипаттамасы
Graph модулі ІВМ – типтес дербес компьютерлердің графикалық адаптерлерімен жұмыс істеуіне есептелінген, графикалық процедуралар мен функциялардың, тұрақтылардың, айнымалылар мен типтердің қуатты кітапханасы болып табылады. TurboPascal-7.0 ортасын қолданатын Паскаль тілінде программалауда Graph модулінің 132 тұрақтысы, 7 қосымша типі, 2 айнымалысы, 57 процедурасы және 22 функциясы пайдаланылады.Турбо
Қолданылған әдебиеттер

1. Бурин Е.А “Программирование на языке Турбо Паскаль” А.,2000.
2. Досмайлов Т.К. “Программалау тілі Паскаль” А.,1996
3. Нақысбеков Б., Халыкова Б. “Паскаль тілінің негіздері” А.,1998
4. Новикав В.С., Парфилова Н.Н., “Паскаль” М.,1994
5. Семалико Г.Л., Салтыков Г.Л., “Программирование на языке Турбо Паскаль” М., 1994
6. Фаронов В.В Turbo Pascal 7.0 – Москва, издат. «Нолидж», 2000 г.
7. Гусаева А.И - Учимся программировать Pascal 7.0. Задачи и методы их решения – М.Диалог – Мифи, 1998.

Турбо-Паскальдағы графикамен жұмыс

Мазмұны

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...3

І Graph стандарттық модулі ... ... ... ... ... ... ... ... ... ... ... ... ... ..4
1.1 Процедуралар мен функциялар ... ... ... ... ... ... ... ... ... ... ..5
1.2 Координаттар, терезелер, беттер ... ... ... ... ... ... ... ... ... ... .7
1.3 Көпбұрыштар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .8
1.4 Доғалар, шеңберлер, эллипстар ... ... ... ... ... ... ... ... ... ... ..9
1.5 Тексті шығару ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...9
ІІ Графикалық координаталар жүйесі ... ... ... ... ... ... ... ... ... ...10
2.1Графикалық экран мен элементтердің параметрлерін қою
процедуралары ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .11
2.2 Графикалық элементтерді бейнелеу процедуралары ... ... ... ...12
2.3 Графикалық экран мен элементтердің параметрлерін қою
функциялары ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...1 2
ІІІ Есептің берілгені ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .14
3.1 Программаның баяндалуы ... ... ... ... ... ... ... ... ... ... ... ...15
3.2 Енгізілген мәліметтер және шыққан графика ... ... ... ... ... ... 17
Қортынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..1 8
Қолданған әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...19

Кіріспе

Дисплей экраны нүктелер жиыны болып табылатын төртбұрышты аймақ болып
табылады. Ол графикалық және мәтіндік режімдерде жұмыс атқара алады.
Графикалық режімде экранның әрбір нүктесін түрлі түске бояп, сол түстер
арқылы сызық, мәтін және әр түрлі бейнелер кескіндеуге болады.
Графикалық программалау процесі тиімділігін арттыру мақсатында Borland
International фирмасы GRAPH арнайы программалар кітапханасын жасап шығарған
болатын, онда қазіргі кездегі мониторлардың барлық типтерімен жұмыс
істейтін, экранға түрлі мөлшердегі қаріптер шығара алатын драйверлер жиыны
бар.
Экранға мәлімет шығаруды аппараттық жағынан сүйемелдеу екі модуль –
бейнеадаптер және бейнемонитор арқылы қамтамасыз етіледі. Бейнемонитор-
немесе дисплей- мәтін және графикалық бейнелер шығарылатын құрылғы, ол
электрондық сәулелік түтікшеден немесе сұйық кристалды тақтадан тұрады.
Дисплей теледидар сияқты жұмыс істеп, экрандағы бейне секунд сайын 25 рет
жаңаланып отырады. Адамның көзі бейнелердің мұндай жиілікпен ауысуын байқай
алмайды да, мониторда сол бейне қозғалмай тұрғандай болып көрінеді.
Экрандағы бейнелер кішкене нүктелерден (пиксельдерден) тұратын қатарларға
біріктірілген. Сондықтан экранның басқарылатын ең кіші элементі пиксель
(pixel) болып табылады. Экрандағы кез келген бейне осы пиксельдер арқылы
салынады. Графикалық режімде экран тіктөртбұрышты пиксельдер жиынынан
құралады да, мұнда оның кез келген пикселінің түсін әр түрлі етуге
мүмкіндік бар.
Graph модулінің жалпы сипаттамасы
Graph модулі ІВМ – типтес дербес компьютерлердің графикалық
адаптерлерімен жұмыс істеуіне есептелінген, графикалық процедуралар мен
функциялардың, тұрақтылардың, айнымалылар мен типтердің қуатты кітапханасы
болып табылады. TurboPascal-7.0 ортасын қолданатын Паскаль тілінде
программалауда Graph модулінің 132 тұрақтысы, 7 қосымша типі, 2 айнымалысы,
57 процедурасы және 22 функциясы пайдаланылады.Турбо Паскальда графикалық
драйверлер деп аталатын арнайы программалар (BGI-файлдар)
видеоадаптерлерінің қалыпты жұмысын басқарады:
драйверлер видеоадаптерлер
CGA.BGI CGA, MCGA
EGAVGA.BGI EGA, VGA
HERC.BGI Hercules (монохромды)
ATT.BGI AT&T 6300 (400 жол)
PC3270.BGI 3270PC
IBM8514.BGI IBM-8514

Көптеген видеоадаптерлер монитордың көрсету мүмкіндіктерін өзгерте
алатын бірнеше графикалық режимде жұмыс жасай алады. Мәтіндік режимде
экранда 40(80) х 25 символ бейнелеуге болатын болса, графикалық режимде
онда бейнеленетін ең кіші объект-графикалық нүкте- пиксел деп аталынады.
Мысалы: көп қолданылатын VGA адаптерінің қалыпты режимінде экранда 640 х
480 пиксел көрінеді және олардың 16 түсін айыруға болады.
• Uses Graph операторын программа басына орналастырғанда ғана Graph
модулінің қызметін толық пайдалануға мүмкіндік бар.
• Init Graph(Gd, Gm, `c:\TP7`) процедурасы дербес компьютерге қойылған
видеодаптерді автоматты түрде тауып, сәйкес графикалық драйверді
іске қосады және оны графикалық режимге көшіреді.
Мұнда `c:\TP7` - драйвер файлына апаратын жол. Графикалық драйверлерді
анықтау (Gd) және олардың жұмыс режидерін қою (Gm) тұрақтылары (тәжірибеде
жиі пайдаланылатын режимдер) төмендегі кестеде берілген:

Gd Gm
Detect EGALo =0 {640x200; 16түс; 4 бет}
=0
CGA =1EGAHi =1 {640x350; 16түс; 2 бет}
MCGA =2 EGA64Lo =0 {640x200; 16түс; 1 бет}
EGA =3EGA64Hi =1 {640x350; 4түс; 1 бет}
EGA64 =4 EGAMonoHi=3 {640x350;64K: 1 бет; 256K: 2 бет }
EGAMono =5 VGALo =0 {640x200; 16түс; 4 бет}
IBM8514 =6 VGAMed =1 {640x350; 16түс; 2 бет}
HereMono =7 VGAHi =2 {640x480; 16түс; 1 бет}
ATT400 =8 PC3270Hi =0 {720x350; 1бет}
VGA =9IBM8514Lo =0 {640x480; 256 түс }
PC3270 =10 IBM8514Hi =1 {1024x768; 256 түс}

• GraphResult функциясының нолден өзге мәні (қателік коды) режимге көшу
қателігін көрсетеді.
• CloseGraph процедурасы графикалық драйверді жадтан шығарып,
видеодаптердің мәтіндік режимін қалпына келтіреді.
Graph стандарттық модулі
Компьтердің қосылуы кезінде және Turbo Pascal ортасында программаны
жіберу кезіндегі экранның стандартты күйітекстік режимде жұмыс істеуін
сай келеді. Сондығтан, компьютердің графиктік мүмкіншіліктерін пайдалану
үшін дисплей адаптерінің жұмысын графиктік режимге инициализациялау керек.
Программа жұмысының жұмысының аяғында компьютер текстік режимге қайта
көшеді.
Графиктік процедуралардың әрбір нақты адаптермен жұмыс істеуі – керекті
драйверлерді қосу арқылы жүзеге асады. Графиктік драйвер – дисплей
адаптерінің жұмысын графиктік режимде басқарады. Borland фирмасының
барлық адаптер түріне арналған графиктік драйверлері бар. Бұл драйверлер
BGI каталогында орналасқан. Әрбір адаптердің мүмкіншіліктері – нүктелер
санымен және түстер санымен сипатталады.
Графикалық режимде жұмыс істеуге арналған барлық процедуралар мен
функциялар Graph модулінде орналасқан. Сондықтан программаның басы Uses
Graph болуы керек. Графиктік режимге көшу үшін Init Graph процедурасы
орындалуы қажет.
Егер программаның бірінші жолы Uses Graph деп жазылса, онда экранда
әртүсті нүктелерді, түзулерді, кесінділерді, шеңберлерді және
тіктөртбұрыштарды салатын Graph модулі Паскальға процедуралар мен басқа
құралдар Graph қолдануға мүмкіндік береді. Осы бөлімге мысал ретінде
қолданған программалар текстері [7]-ден алынды.
Графикалық режимге ауысу және текстік режимге қайту.
Дербес компьютерді қосқаннан кейін, Турбо Паскаль ортасынан іске қосылған
программа экранның текстік режимінде жұмыс істейді. Сондықтан графикалық
жабдықтарды пайдаланатын әрбір программа дисплей адаптерінің жұмысын
графикалық режимге ауыстыру қажет.
Жұмыс аяқталғаннан кейін компьютер текстік режимге қайта оралады.
Дисплей адаптерлерінің графикалық режимде жұмыс істеуі.
Белгілі бір адаптер арқылы графикалық процедураларды баптау керекті
графикалық драйверді қосу арқылы орындалады.
Драйвер – компьютердің техникалық құрылғыларын басқаруға мүмкіндік
беретін арнаулы программа.
Графикалық драйверлер графикалық режимде дисплей адаптерін басқарады.
Олар дискінің жеке BGI қосалқы каталогінде BGI кеңейтілуімен (Borland
Graphics Interface – Borland фирмасының графикалық интерфейсі( файл
түрінде орналасқан. Олардың графикалық режимде жұмыс істеуге мүмкіндігі
бар. Бұл режимде экран дисплейі тығыз орналасқан нүктелердің – пикселдердің
жиынтығы ретінде қарастырылады, онымен қатар оларды программа көмегімен
басқаруға болады.
Қазіргі кезде көбінесе 800х600, оданда үлкен шешу қабілеті бар, 256 және
оданда үлкен түстер реңкі бар супер – VGA адаптерлері (SVGA) қолданылады.
Бірақта Graph кітапханасында олар үшін драйверлер жоқ. Сондықтан
мүмкіндіктері аса көп емес egavga.bgi драйверін қолданады.

Процедуралар мен функциялар

InitGraph процедурасы. Адаптер жұмысын графикалық режимге аударады.
Процедура тақырыбы:
Procedure InitGraph (var Driver, Mode: integer; Path: string);
Мұнда Driver – integer типті айнымалы, графикалық драйвердің типін
анықтайды;

Mode – сол типті айнымалы, графикалық адаптердің жұмыс жасау режимін
береді;

Path – драйвер файлының аты және оны іздеу маршруты бар string типті
өрнек.
Көп адаптерлер әр түрлі режимдерде жұмыс істей алады. Адаптерге керекті
жұмыс режимін көрсету үшін, Mode айнымалысын қолданады. Мысалы:
Const
{Адаптер VGA:}
VGAHi=2 {640х480}
Егер компьютер адаптерінің типі белгісіз немесе программаның жұмысы кез
келген адаптермен істелетін болса, автоматтық түрде драйвер типін анықтау
процедурасы шақырылады:
Driver:= Detect; {Немесе Driver:= 0}
InitGraph (Driver, Mode, (D:\Lang Tpascal.71\BGI();
Сонда, бірнеше режимде жұмыс жасай алатын адаптерлерге максимал санмен
кодталған жоғарғы режим таңдалады.
CloseGraph процедурасы. Адаптер графикалық режимдегі жұмысын аяқтап,
текстік режимдегі жұмысына көшеді.
Процедура тақырыбы:
Procedure CloseGraph;
Келесі программа графикалық режимнен текстік режимге көшуді және қайтуды
бейнелейді:
Program pr1 (output);
Uses Graph;
Var Driver, Mode, Error: Integer;
Begin
{Графикалық режимді қою }
Driver:= Detect;
InitGraph (Driver, Mode, (D:\Lang Tpascal.71\BGI();
Error:= Graph Result; {Нәтижені еске сақтау }
if Error grOK then {Қатені тексереміз}
Writeln (Graph Error Msg (Error)) {Қате бар}
Else
{Қателер жоқ}
begin
Writeln ((Бұл графикалық режим();
Writeln (( (Enter-ді(шертіңіз...(:20);
Readln;
{Текстік режимге көшеміз}
Restore CRT Mode;
Writeln ((Бұл текстік...();
Readln;
{Графикалық режимге қайтамыз}
Set Graph Mode (Cet Graph Mode );
Writeln ((Тағыда графикалық режим...();
Readln;
Close Graph
End;
End.
Компьютер мен монитор текстік және графикалық екі режимде жұмыс істей
алады. Бір режимнен екінші режимге көшуі программа арқылы орындалады.
Қарапайым фигураларды салу
Монитордаң графикалық режимі экранды көлденеңнен 640 пиксел мен тігінен
480 пикселге бөлген болсын делік. Режим басқадай болса, оны оңай ауыстыруға
болады.
Координаттар, терезелер, беттер
Графикалық процедуралар мен функциялар экранда көрінбейтін ағымды
позицияны беретін ағымды көрсеткіш (текущий указатель) қолданады. Осы
көрсеткіштің орны экранның 0,0 координатты жоғарғы сол жақ бұрышы арқылы
беріледі.
GetMaxX және GetMaxY функциялары. Экранның горизотальді және
вертикальді координаттарының максимал өлшемдерін қайтарады (береді).
GetMaxX және GetMaxY функциясы. Көрсеткіштің горизонталь және
вертикаль координаттарының ағымды өлшемдерін Integer типімен қайтарады.
Set View Port процедурасы. Графикалық экранды төртбұрышты терезе
орнатады. Тақырып:
Procedure Set View Port (x1,y1,x2,y2: integer; Clipon: Boolean);
Мұнда x1... y2 – терезе бұрышының жоғарғы сол жақ (х1,y1) және оң жақ
төменгі (х2,y2) бұрыштарының координаттары; Clipon – суреттің терезеге
сипайтын бөлігін кесіп тастауын беретін Boolean типті өрнек. Осы параметрді
басқару үшін қолданатын константа:
Const
Clip on = True; {Қиюды қосу- включить отсечку}
Clip off = False;{ Қиюды қоспау- Не включать отсечку }
Clip on параметрінің жұмысын келесі программа бойынша салынған сурет
көрсетеді.

Clip on бойынша терезедегі суретті қию.
Program pr2 (output);
Uses Graph, CRT;
Var x,y,e: Integer; k: integer;
x11, y11, x12, y12, {терезенің координаттары}
r, {бастапқы радиус}
begin
Direct Video:= False; {графикалық редимді қосу}
x:=0; Init Graph (x,y, (D:\Lang( (s \Lang Tpascal.71\BGI();
{нәтижесін тексеру}
e:= Graph Result; if e grOK then
Writeln (Graph Error Msg(e)) {қателік}
Else {қате жоқ}
Begin
{экранның шешу қабілетін еске ала отырып, коор-ды есептеу}
x11:= GetMaxX div 60; x12:= GetMaxX div 3;
y11:= GetMaxY div 4; y12:= 2*y11;
r:= (x12-x11) div 4;
{терезе сызу}
Writeln ((Clipon:( :10);
Rectangle (x11, y11, x12, y12);
{терезеде төрт шеңбер салынады}
Set View Port (x11, y11, x12, y12, Clipon );
For k:=1 to 4 do
Circle (0,y11,R*k); {перне басуды күтеміз}
If Read Key =#0 then k:= ord (Read Key);
Close Graph
End; end.
MoveTo процедурасы. Көрсеткіштің жаңа ағымды орнын береді. Тақырып:
Procedure MoveTo (x,y: integer);
Мұнда x,y – көрсеткіштің горизонталь және вертикаль бойынша жаңа
координаттары.
MoveRel процедурасы. Көрсеткіштің салыстырмалы коор-динаттардағы жаңа
орнын береді.
Procedure MoveRel (dx,dy: integer);
Мұнда dx,dy –горизонталь және вертикальдағы көрсеткіштің жаңа координаттар
бойынша өсімшелері.
Clear Device процедурасы. Графикалық экранды тазартады. Осы процедура
экранды SetBkColor процедурасы бойынша берілген фонмен толтырады.Тақырып:
Procedure Clear Device;
Clear View Port процедурасы. Графикалық терезе немесе барлық экранды
тазартады. Терезені тазартқанда ол ағымды палитрадан 0 номерлі түспен
алынады. ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
VGA графикасы, үшөлшемді бағдарламау және динамикалық бейнелеу
Турбо паскаль графикалық режимі
Паскаль программалау тілінің негізі операторлары
Turbo Pascal-дағы графика y=f(x) функциясының графигін салу
Алгоритмдеу, қасиеттері, негізгі құрылымдары. Паскаль бағдарламалау ортасы
Реттік мәліметтер типтері
Турбо Паскальдағы бір өлшемді масивтер
Паскаль тілінде сызықтық программалармен жұмыс
Тілдің алфавиті
Турбо Паскальда тест дайындау
Пәндер