Turbo Pascal бағдарламасындағы графикалық режим


Жұмыс түрі: Материал
Тегін: Антиплагиат
Көлемі: 13 бет
Таңдаулыға:
Мазмұны:
I. КІРІСПЕ
ІI. НЕГІЗГІ БӨЛІМ4-8
2. 1 Графикалық режимді тағайындау және одан шығу.
2. 2 Графикалық режимдерге қолданылатын процедуралар
2. 3. Графикалық информацияны шығару командалары
ІІI. ЕСЕПТІҢ ҚОЙЫЛЫМЫ9-16
2. 1. Есептің берілгені
2. 2. Есептің алгоритмі
2. 3. Программалау бөлімі
2. 4. Программа жауабы
ІV. ҚОРЫТЫНДЫ . . . 17
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР . . . 18
Кіріспе
Turbo Pascal- жоғары деңгейлі программалау жүйесі. Оның тұңғыш нұсқасын 1970 жылы Швейцария физигі Никлаус Вирт (Niklaus Wirth) ұсынған. Автор тілді алғашқы арифметикалық есептеу машинасын жасаған француздың ұлы ғалымы Блез Паскальдың құрметіне Паскаль деп атап, тіл атауын үнемі бас әріппен жазылуын сұраған.
Қазіргі дербес компьютерлердің пайда болуына байланысты тілдің Турбо Паскаль деп аталатын нұсқасы жасалды. Қазіргі уақытта бұл жүйенің бірнеше нұсқалары бар, соңғы жасалған ең қуаттысы 7. 0 нұсқасы болып табылады, бірақ, программалау бастамасын жүйенің 5. 5 нұсқасынан бастап үйренген дұрыс.
Сондықтан да қазіргі кезде Паскаль тілі кез келген саладағы күрделі есептерді шешу үшін пайдалануға болатын, кеңінен таралған стандартты программалау тіліне аналды.
Қазіргі дербес компьютерлердің графикалық информацияларды енгізу, шығару және өңдеуге арналған техникалық құрылғылары бар. Графикалық информацияны енгізу үшін сканер, ал шығару үшін дисплей экраны және плоттер пайдаланылады. Стандартты Паскальдың графикалық информациямен жұмыс істейтін командалары жоқ.
Турбо Паскаль жүйесіндегі графикалық информациялармен жұмыс істеу үшін GRAPH. TPU модулі пайдаланылады. Бұл модульде графикалық процедуралар мен функциялардың программасы машиналық тілде жазылған.
Турбо Паскальда әр типтегі тапсырмалардың жобасын құруға болады: бұлар есептелетін тапсырмалар, файлмен жұмыс істеу тапсырмалары, мәліметтер базасын жөндеу және т. б. Одан да тиімдісі және қызықтысы әртүрлі логикалық ойындарды модульдеу тапсырмасы болып табылады. Олар қолданушылардың назарын өзіне айударады және программа тілдерін оқып-үйренуге тұрақты қызығушылықты қалыптастырады.
Берілген курстық жұмыстың мақсаты Турбо Паскаль ортасында осындай ойындардың біреуін құру болып табылады. Ойынның аты «Жұмыс істеп тұрған сағат бейнесін шығару». Ойыншы тек сандарды емес сурет көріністерімен де жұмыс істейді.
І. НЕГІЗГІ БӨЛІМ
2. 1 Графикалық режимді тағайындау және одан шығу.
Графиктермен жұмыс істеу үшін алдында оған сәйкес келетін монитор режимін орнату қажет. Жалпы алғанда, компьютерде негізгі екі экран режимінің жұмысы-символдық және графикалық экран режимдері пайдаланылады. Компьютерді қосып, Турбо Паскаль жүйесін шақырғанда текстік режимде жұмыс істейді. Графикалық режимді алу үшін GRAPH. TPU модулін (UsesGRAPH - пен бірге ) қосып, керекті графикалық режим INITGRAPH процедурасымен инициализация жасалуы қажет. Режимді инициализациялау дегеніміз - дисплей адаптерінің жұмысын берілген графикалық режимнің күйіне келтіру, яғни физикалық экранды осы режимнің жұмысына көшіру. GRAPH модулі іске қосылысымен оның ішіндегі процедуралар мен функцияларды пайдалана беруге болады.
Графикалық режимді іске қосу:
INITGRAPH(Var Driver, Mode: integer; Path: string) ;
Мұндағы Driver - графикалық режимді анықтайтын параметр;
Mode - орнатылған драйверге байланысты берілетін графиктік режим параметрі;
Path - графиктік драйвер файлының атауы және жолы.
Driver мәні GRAPH модулінде хабарланған тұрақтылар жиынымен шектеледі. Осы режимді тағайындағаннан кейін GRAPH модулінің барлық командаларын пайдалануға болады.
Графикалық режимнен шығу үшін Closegraph процедурасы пайдаланылады. Графикалық режимді инициализациялау INITGRAPH (<драйвер>, <режим>, <жолы>) операторымен орындалады; мұндағы <драйвер> - графикалық драйверге арналған integer типті айнымалы; <режим> - адаптердің жұмыс режиміне арналған integer типті айнымалы (тағайындалатын графикалық режимнің номері) ; <жолы> - графикалық драйвердің файлына баратын жолды көрсететін string типті өрнек.
Ескерту . 1. Драйвердің типі адаптердің типіне сәйкес келуі тиіс. 2. Драйвердің параметрі әдетте detect функциясымен беріледі; яғни драйверді автоматты түрде анықтау, - оны GRAPH модулінің тұрақтысымен беруге болады, мысалы, VGA немесе 9. Detect функциясын пайдаланғанда жоғары мүмкіндікті режим тағайындалады. 3. Егер драйвер сол қалыпта болатын болса, Турбо Паскаль жүйесінің файлдары орналасқан каталогта болса, онда бос жол деп, яғни ‘ ‘-2 апострофпен көрсетуге болады.
Графикалық режимнің тағайындалуының нәтижесі екі функция модулінің мәндерінен көрінеді. GRAPHresult : integer, аргументсіз, инициализация нәтижесінің коды үшін және GRAPH error (<қате коды>) : string - инициалицазия қатесінің себебін ағылшын тілінде хабарлау үшін.
GRAPHresult функциясы кез келген функция немесе процедура модульдерінің орындалуындағы қатенің кодын береді. Код мәтіндері: 0…14. Егер код нолге тең болса, онда орындалуда қате жоқ. GRAPHresult = 0 графикалық режимнің дұрыс тағайындалғандығын көрсетеді, яғни қатесіз тағайындау ; код - 3 - BGI графикалық драйверінің табылмағандығын көрсетеді. Көпшілік жағдайда тағайындаудағы қате - GRAPH модулінің немесе драйвер файлының активті каталогта орналаспағандығынан болады.
Тілді жаңадан үйренушілер үшін графикалық режимді төмендегідей тағайындауды ұйымдастырған дұрыс:
1) Турбо Паскаль жүйесінің файлдары орналасқан каталогта GRAPH. TPU, TURBO. TPL және BGI драйвер файлының бар екендігіне көз жеткізу қажет. Егер қандай да бір файл болмаса, онда оны сол каталогқа көшіріп жазу қажет.
Программада инициализация жасау үшін мынадай операторлар мен сөйлемдерді жазу қажет.
Uses GRT, GRAPH;
Var driver, regim, error: integer;
s: char;
…
driver:= detect;
INITGRAPH (driver, regim, ‘ ‘) ;
error:= Graphresult;
if error <> 0 then
begin
writeln(‘ Графикалық режимде қате бар!’) ;
writeln (‘tokta!’) ;
S:=readkey
end;
…
Ескерту . GRT модулін іске қосу компьютердің жұмысын басқару саймандарын және графикалық режимдегі экран жұмысын басқаруға мүмкіндік береді. Мысалы, Readkey, Keypressed функцияларымен DELAY процедуралары тәрізді. Осындай инициализациядан кейін, driver-драйвердің типін, номерін алады; ал regim - жоғары мүмкіндік режимін алады. Егер VGA адаптері мен EGAVGA. BGI драйвері пайдаланылса, онда, driver =9, ал regim =2 болады.
GRAPH. TPU модулі
Графикалық режимді тағайындағаннан кейін пайдаланушы өзінің жұмысы үшін әртүрлі команда пайдаланады. Бұл командалар қызметі бойынша төмендегідей топталады:
- графикалық экранды басқару үшін;
- графикалық информацияны өңдеу және шығару үшін;
- графикалық режимде текст шығару үшін.
Графикалық экранды басқару командалары:
- пайдаланылған адаптер мен драйвер туралы информация алу;
- графикалық режимдердің мөлшерін және сипаттамаларын білу;
- графикалық экранның жұмысына қажетті режимді тағайындау;
- экранның графикалық беттерін басқару,
- графикалық информациямен шығаруға арналған терезені іске қосу және ажырату;
- графикалық информациямен шығару және фон түстерін басқару;
- экранды графикалық курсормен басқару;
- экранды немесе терезені тазарту жатады.
Графикалық информациямен енгізу және шығару командалары:
- графикалық экранға нүкте, кесінді, тіктөртбұрыш, қисық сызық, шеңбер, эллипс, доға, эллипс және шеңбер секторларын шығару процедуралары;
- динамикалық жадыға графикалық экранның бөліктерін бейнелермен сақтау және оны қайтадан экранға шығару;
- экрандағы тұйықтарды берілген түстермен бояу немесе штрихтау.
Графикалық режимде экранға текст шығару командалары-графикалық экранға string типті текст жолын шығаруға мүмкіндік береді.
GRAPH модулінің командалары графикалық экранда кез келген бейнені тұрғызуға мүмкіндік береді.
2. 2 Графикалық режимдерге қолданылатын процедуралар
Бұл командалардың кейбіреуі жоғарыда айтылады.
- INITGRAPH- графикалық режимді тағайындау;
- DETECT- графикалық драйверді автоматты түрде анықтау
- CLOSEGRAPH- графикалық режимді жабу;
- SETGRAPHMODE- жаңа графикалық режимді тағайындау;
- SETGRAPHMODE<режим>, мұндағы режим-код немесе режим номері;
- CLEARDevice-процедурасы - графикалық экранды тазалайды; форматы: CLEARDevice; бұл процедура орындалғанда экранның барлық түзетулері, бастапқы қалыпқа келтіріліп, курсор экранның 0, 0 нүктесіне келеді.
SetViewPort процедурасы тіктөртбұрыш терезені тағайындайды. Форматы: SetViewPort (x1, y1, x2, y2, <қиық>) ; мұндағы x1, y1, x2, y2 - тіктөртбұрыштың сәйкес сол жақ жоғары және оң жақ төменгі координасы, типі: integer; <қиық>- типі: boolean , егер true мәнін қабылдаса, терезе шекарасымен өтеді; ал false мәнін қабылдаса, керісінше.
ClearViewPort процедурасы - терезені тазалайды; форматы :
ClearViewPort;
GetMaxX және GetMaxY функциясы - тағайындалған графикалық режиде экранның x және y осьтері бойынша ең үлкен координатасының мәнін анықтайды. Типі: integer , форматы: GetMaxX, GetMaxY.
Графикалық курсорды басқару
MoveTo процедурасы курсорды көрсетілген координатаға орналастырады; форматы: MoveTo(x, y) ;
GETS және GETY функциялары курсордың ағымдағы координатасын анықтайды. Форматы:
GETS және GETY
2. 3. Графикалық информацияны шығару командалары
Графикалық экранға шығарудағы негізгі жасалатын әрекет графикалық нүкте шығару операциясы болып табылады. Экрандағы кез келген бейне керекті түске боялған графикалық нүктелердің жиынтығынан құралады. Графикалық экранға жиі пайдаланылатын графикалық обьектілерді шығаруды жеңілдету үшін кесінді, сынық, тіктөртбұрыш, шеңбер, эллипс, доға, шеңбер және эллипс секторларын тұрғызатын процедуралар GRAPH модулінде қолданылады. Бұл процедуралар пайдаланушының осы обьектілерді тұрғызуды программалаудан босатады(құтқарады) . Бірақ модульде бір ғана графикалық нүктенің экрандағы еркін бейнесін шығаратын PutPixel процедурасы бар.
Графикалық экранға нүкте шығару
PutPixel процедурасы экранға нүктені көрсетілген координатасымен және түсімен шығарады.
Форматы: PutPixel (x, y, C) ; мұндағы x, y - типіWord, нүктенің координатасы, C-түсі, типі.
GetPixel функциясы - координатасы көрсетілген экранның графикалық нүктесінің түсін анықтайды. Форматы: GetPixel(x, y, C) ; мұндағы x, y - типіWord, нүктенің координатасы.
ІІ. ЕСЕПТІҢ ҚОЙЫЛЫМЫ
2. 1. Есептің берілгені
Программа құрастыру, яғни « Секунд және минут стрелкалары бар және жүріп тұрған сағат бейнесін экранға шығару ». Паскаль программалау ортасында құрастыру.
2. 2. Есептің алгоритмі
2. 2. 1. Программа бөлімін құру.
2. 2. 1. 1. Vector procedure қосалқы программасын құру.
2. 2. 1. 1. LineTo қосалқы процедурасын құру.
2. 2. 2. Негізгі процедура программасын құру.
2. 2. 2. 1. Графикалық режимді іске қосу.
2. 2. 2. 2. GraphResult функциясы.
2. 2. 2. 3. Circle қосалқы процедурасын құру.
2. 2. 2. 4. SetFillStyle қосалқы процедурасын құру.
2. 2. 3. Repeat Until қайталауды шартты аяқтау циклі.
2. 2. 3. 1. Move To қосалқы процедурасын құру.
2. 2. 3. 2. SetColor қосалқы процедурасын құру.
2. 2. 3. 3. OutTextXY қосалқы процедурасын құру.
2. 2. 4. CloseGraph процедурасын құру.
2. 2. 5. Программаны орындау
2. 2. 1. Программа бөлімін құру.
2. 2. 1. 1. Vector procedure қосалқы программасын құру.
Жалпы жазылу түрі:
procedure Vector(а: integer; l: integer) ; OX осімен вектор арасындағы бұрыш.
Бұрыштың градустық шамасын радианға алмастырып есептейтін коэффициент енгіземіз. Сол үшін оны тұрақтылар бөлімінде сипаттап кетеміз. Яғни:
const
GRAD=0. 0174532;
GetX =0;, GetY=0; деп ағымдағы нүктенің тік және көлденең координаталар мәндері экранның сол жақ жоғарғы бұрышынан нөлден басталып есептеледі.
2. 2. 1. 1. LineTo қосалқы процедурасын құру.
LineTo ағымдағы орыннан бастап берілген координатаға дейін түзу тұрғызу процедурасы.
Процедураның жазылуы :
Procedure LineTo (X, Y : Integer) ;
Мұндағы X және У - нүкте координаталары.
Түзудің түсі SetColor процедурасының көмегімен беріліп, қалыңдығы және бейнелену түрі SetLineStyle процедурасының көмегіменен анықталады.
2. 2. 2. Негізгі процедура программасын құру.
2. 2. 2. 1. Графикалық режимді іске қосу.
Айнымалылар бөлімінде grDriver және grMode параметрлерінің типтерін сипаттап кетеміз. Мұндағы Driver графикалық режимді анықтайтын параметр; Mode орнатылған драйверге байланысты берілетін графиктік режим параметрі.
Осыдан кейін сағаттың орталық координаталарын және циферблатаның диаметрін сипаттаймыз. Уақытты, минут және секунд санын анықтап, енгіземіз. Минут пен секунд тілдерінің бұрыштық бұрылуының типін сипаттаймыз. Жолдар арқылы минут пен секундтың санын сипаттаймыз.
2. 2. 2. 2. GraphResult функциясы.
GraphResult; Графиктік процедурамен соңғы байланыс жасағанда қате болмаса GrOk кодының мәні 0 болса, бағдарлама ары қарай орындалуға жіберіледі. Әйтпесе (-1-ден -14-ке дейін ) қате кодын береді. Қатенің кодын ErrCode := GraphResult; деп меншіктеп кетеміз. Егер ErrCode= GrOk деп шарт беретін болсақ, GrOk тұрақтысының анықтамасы бойынша қате жоқ деп теңестірдік. Осыдан соң программа ары қарай орындалуға мүмкіндік алады.
Сағаттың орталық координаталарын және циферблатаның диаметріне мән береміз. Бастапқы жағдайдағы тілдер : тіл мен ОХ осінің арасындағы бұрыш 90° болып есептелінеді.
2. 2. 2. 3. Circle қосалқы процедурасын құру
Circle шеңбер салу процедурасы. Circle процедурасы - ағымдағы түспен, көрсетілген центр және радиус бойынша шеңбер сызады. Процедураның жалпы жазылу түрі : procedure Circle(Х, У : integer; Rad : Word) ;
Мұндағы Х, У - шеңбердің центрінің координатасы; типі integer;
Rad - типі Word болып келген шеңбердің радиусы.
Мысалы, Turbo Pascal көмекші файлынан алынған бірінен соң бірі орналасқан бес шеңберді салу программасын қарастырайық :
Program grafica;
Uses Graph;
Var
Gd, Gm : Integer;
Radius : Integer;
Begin
Gd : = Detect;
InitGraph(Gd, Gm, “) ;
If GraphResult <> grOk then
Halt (1) ;
for Radius : =1 to 5 do
Circle (100, 100, Radius * 10 ) ;
Readln;
CloseGraph;
End.
2. 2. 2. 4. SetFillStyle қосалқы процедурасын құру.
SetFillStyle процедурасы шаблонның коды мен тұйық номері бойынша толтыру стилін тағайындайды.
Форматы : SetFillStyle (шаблон коды, С)
SetFillStyle (Fill, Color : Word) ; процедурасы штрихтау үлгісі мен түсін қояды.
0 тұтас тағайындалған түс
- толық боялады
- тор сызық ≡
- ·\·\·\·\·\
2. 2. 3. Repeat Until қайталауды шартты аяқтау циклі.
Бұл оператор көп жағдайларда қайталаудың саны белгісіз болған жағдайда пайдаланылады. Оның жазылу түрі :
Repeat
қайталау денесі (серия) ;
Until <шарт>;
Мұндағы Repeat - қайтала, Until - соған дейін қызметші сөздері. Оның орындалуы: қашан шарттың мәні ақиқат болғанша циклдің денесі қайталана береді.
Алгоритмдік тілде бұл қайталануды «Цикл - дейін» дейді, оның «Цикл- әзір» ден өзгешелігі мұнда қайталанатын командалар сериясы ceалдымен циклдың денесі орындалады да, одан соң шарт тексеріледі.
Оператордың соңы Until қызмет сөзімен бітетін болғандықтан, мұнда операторлық ашылатын және жабылатын жақшалар орнына жазылатын Begin және End қызметші сөздері арқылы жазылмайды.
Егер қайталау денесінде көшіру операторы болып, ол циклдың сыртындағы оператордың белгісіне басқаруды берсе, онда циклдың орындалуы ары қарай жалғаспайды.
... жалғасы2. 2. 3. 1. Move To қосалқы процедурасын құру.
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz