Процедураға ауысқаннан кейін




Курстық жұмыс
Тақырыбы
«Турбо Паскальда графиканы құру»
Жоспар
I.Кіріспе...............................................................................................................
II.Негізгі бөлім.
1.Graph модулі....................................................................................................
2.Бейнелердің сақталуы мен берілуі.................................................................
3.Координаттар,терезелер,беттер......................................................................
4.Сызықтар мен нүктелер...................................................................................
5.Көпбұрыштар....................................................................................................
6.Доға,шеңберлер,элипстер................................................................................
7.Бояулар,политра,толықтырулар......................................................................
III.Қорытынды......................................................................................................
Қолданғанәдебиеттер...........................................................................................
Кіріспе
Бұл курстық жұмыста Турбо Паскальдің графикалық
Монитордың тексттік немесе графикалық жұмыс кестесінің
Графикалық режимде минималды объект, бағдарламашы басқара
Мысалы:320х200;640х450;800х600;1024х758;1280х1024; және т.б.
Функциялар мен процедуралар
(Бөлімдер мен әдістер)
Graph модулі.
Graph Турбо Паскаль модулінде графикалық экранға
Uses Graph.модульдің негізгі бөлімін графикалық элементтердің
Graph Error функциясы.
String типінің мағынасын қайтарады.Онда көрсетілген код
Бастама.
Fanctional GraphError.Msg(Code:Integer):String;
Мұнда Code-қатенің коды;
Graph Result-функциясына қайтарылған қатенің коды.
Close Graph фунциясы.
Экран жұмысының текстік режимін қарастырады.Және адаптердің
1.2 Бейнелердің сақталуы мен берілуі.
ImageSize функциясы.Байттағы есте-сақтаудың мөлшерін қайтарады,олар бейненің
Function ImageSize (Х1,Y1,X2,Y2:Integer:Word);
Мұнда Х1...X2 сол жақ кооррдинаталарын бұрыштардың
GetImage процедурасы бейненің тік бұрышты фрагментінің
Buf өлшемі Х1...X2 координаттарымен ImageSize функциясы
Put Image(Х,Y:Integer;var Buf;Mode:Word);
Мұнда Х,Y-бейнелеу фрагменті сақталатын орынның экрандағы
Buf-бейненің алыну орны; mode-сақтау әдісі.
Көріп тұрғанымыздай оң жақ төмен бұрыштардың
1.3 Координаттар,терезелер,беттер.
Кез-келген бейне қарапайым геометриялық фигуралардан құрастырылады.
Көптеген графикалық процедуралар мен функциялар экрандағы
Get Max х және Get Max
SetViewPort процедурасы графикалық экранда тік бұрышты
Тақырыпша.
Procedure SetViewPort(X1,Y1,X2,Y2:Integer;ClipOn:Boolean);
Мұнда Х1...Х2—сол жақ жоғарғы координата(Х1,Y1) және
ClearDevice процедурасы.Графикалық экранды тазалайды.Процедураға ауысқаннан кейін
1.4 Сызықтар мен нүктелер.
PutPixel процедурасы.Нүктеге көрсетілген координаталар бойынша түс
Procedure PutPixel (X1,Y1,X2,Y2:Integer;Color:word);
Мұнда X,Y—нүктелер координатасы;Color-нүктенің түсі.
Line процедурасы.Басымен соңын көрсетілген координаталар бойынша
Procedure Line(X1,Y1,X2,Y2:Integer);
Мұнда X1... Y1-сызықтың басы(X1,Y1) мен соңының
Procedure SetLineStyle(Type,Pattern,Thick:word);
Мұнда Type,Pattern,Thick –сәйкесінше тип,үлгі және сызықтың
Const
SolidLn=0;(тегіс сызық)
DottedLn=1;(нүктелі сызық)
CenterLn=2;(штрих-пункті сызық)
DashedLn=3;(пункті сызық)
UserBitLn=4;(қолданушының анықтаған сызықтық өрнегі).
1.5 Көпбұрыштар.
Rectangle процедурасы.Көпбұрышты бұрыштардың көрсетілген көрсетілген координаталары
Procedure Rectangle(Х1,Y1,X2,Y2:Integer);
Мұнда Х1...Y2-сол жақ жоғарғы бұрыштың координаталары(X1,Y1)
1.6 Доғалар,шеңберлер,элипстер.
Circle процедурасы.Шеңбер сызады.
Procedure Circle(Х,Y:Integer;R:Word);
Мұнда Х,Y—центрдің координаталары.
R-Пиксельдердегі радиус.
Шеңбер ағымдағы түс арқылы шығарылады.Сызықтың қалыңдығы
Arc процедурасы.Доғал шеңбер сызу.
Тақырыпша:
Procedure Arc(Х,Y:Integer;BegA,EndA,R:Word);
BegA,EndA-сәйкесінше доғаның бастапқы және соңғы бұрыштары,
R-радиусы.
Бұрыштар сағат тіліне қарама-қарсы бағытта және
Шеңбердің доғасын сызған кезде Circle процедурасындағы
Ellipse процедурасы.
Procedure Ellipse(Х,Y:Integer;BegA,EndA,RX,RY:Word);
Мұнда Х,Y—центрдің координаталары, BegA,EndA-сәйкесінше доғаның бастапқы
1.7 Бояулар,толықтырулар,палитралар.
SetColor процедурасы.Шығарылатын сызықтармен бейнелер үшін ағымдағы
Тақырыпша:
Мұнда Color-ағымдағы түс.
SetBkColor-процедурасы фонның түсін қалыптастырады.
Тақырыпша:
Procedure SetBkColor(Color:Word);
МұндаColor-фонның түсі;
Фонның түсі тек қана қара түсті
Егер де сіздің ПК-ң түрлі түсті-экран
Тақырыпша:
Procedure SetFillStile(Fill,Color:Word);
Мұнда Fill-толықтырудың түрлері, Color-толықтырудың түсі.
Толықтырудың көмегімен қандай да бір бейненің
FloodFill процедурасы жабық фигураны толықтырады,мұнда толықтыру
Тақырыпша:
Procedure FloodFill(Х,Y:Integer;Border:Word);
Мұнда Х,Y-ішінде сақталған фигураның кез-келген нүктесінің
Программаның листингі.
Program Brodvey;
Uses Graph,Crt;
Var i,a,y,x: integer;
Procedure init;
Var gD, gM, EC: integer;
Begin gD:=detect;
Init Graph(gD,gM,’’);
end;
begin init;
Set Color(1);
Line(520,0,0,192);
Line(530,0,0,210);
SetFillStyle(1,8);
FloodFill(525,0,1);
Line(550,0,0,450);
Line(565,0,0,600);
SetFillStyle(1,0);
FloodFill(540,0,1);
SetFillStyle(1,10);
FloodFill(555,0,1);
Line(800,0,0,1700);
SetFillStyle(9,10);
FloodFill(555,0,1);
SetFillStyle(1,8);
FloodFill(570,0,1);
SetFillStyle(9,2);
FloodFill(630,400,1);
Line(0,100,90,100);
Line(90,100,90,158);
SetFillStyle(1,4);
FloodFill(2,120,1);
Line(5,105,20,105);
Line(5,105,5,115);
Line(20,105,20,115);
Line(5,115,20,115);
SetFillStyle(1,14);
FloodFill(7,110,1);
Line(40,105,55,105);
Line(40,105,40,115);
Line(55,105,55,115);
Line(40,115,55,115);
SetFillStyle(1,14);
FloodFill(45,110,1);
Line(70,105,85,105);
Line(70,105,70,115);
Line(85,105,85,115);
Line(70,115,85,115);
SetFillStyle(1,14);
FloodFill(80,110,1);
Line(5,130,20,130);
Line(5,130,5,140);
Line(20,130,20,140);
Line(5,140,20,140);
SetFillStyle(1,14);
FloodFill(7,135,1);
Line(40,130,55,130);
Line(40,130,40,140);
Line(55,130,55,140);
Line(40,140,55,140);
SetFillStyle(1,14);
FloodFill(45,135,1);
Line(70,130,85,130);
Line(70,130,70,140);
Line(85,130,85,140);
Line(70,140,85,140);
SetFillStyle(1,14);
FloodFill(75,135,1);
Line(0,60,40,60);
Line(40,60,40,100);
SetFillStyle(1,5);
FloodFill(5,65,1);
Line(5,70,15,70);
Line(5,70,5,80);
Line(15,70,15,80);
Line(5,80,15,80);
SetFillStyle(1,14);
FloodFill(10,75,1);
Line(25,70,35,70);
Line(35,70,35,80);
Line(25,70,25,80);
Line(25,80,35,80);
SetFillStyle(1,14);
FloodFill(30,75,1);
Line(0,15,55,15);
Line(55,15,55,100);
SetFillStyle(1,6);
FloodFill(10,20,1);
Line(5,40,15,40);
Line(5,40,5,55);
Line(15,40,15,55);
Line(5,55,15,55);
SetFillStyle(1,14);
FloodFill(10,45,1);
Line(25,40,35,40);
Line(25,40,25,55);
Line(35,40,35,55);
Line(25,55,35,55);
SetFillStyle(9,8);
FloodFill(30,45,1);
Line(45,40,55,40);
Line(45,40,45,55);
Line(55,40,55,55);
Line(45,55,55,55);
SetFillStyle(1,14);
FloodFill(50,45,1);
Line(60,45,70,45);
Line(60,45,60,60);
Line(70,45,70,60);
Line(60,60,70,60);
SetFillStyle(1,14);
FloodFill(65,50,1);
Line(90,45,100,45);
Line(90,45,90,60);
Line(100,45,100,60);
Line(90,60,100,60);
SetFillStyle(1,14);
FloodFill(95,50,1);
Line(90,80,90,90);
Line(90,90,105,90);
Line(105,80,105,90);
Line(90,80,105,80);
SetFillStyle(1,14);
FloodFill(95,85,1);
Line(70,80,70,90);
Line(70,80,55,80);
Line(55,80,55,90);
Line(55,90,70,90);
SetFillStyle(9,8);
FloodFill(59,85,1);
Line(120,90,120,110);
Line(120,110,135,110);
Line(135,110,135,90);
Line(120,90,135,90);
SetFillStyle(1,14);
FloodFill(125,95,1);
Rectangle(155,90,170,110);
SetFillStyle(1,14);
FloodFill(165,95,1);
Rectangle(190,60,200,70);
SetFillStyle(1,14);
FloodFill(195,65,1);
Rectangle(210,60,220,70);
SetFillStyle(1,14);
FloodFill(215,65,1);
Rectangle(230,60,240,70);
SetFillStyle(1,14);
FloodFill(235,65,1);
Rectangle(190,80,200,90);
SetFillStyle(1,14);
FloodFill(195,85,1);
Rectangle(210,80,220,90);
SetFillStyle(1,14);
FloodFill(215,85,1);
Rectangle(230,80,240,90);
SetFillStyle(1,14);
FloodFill(235,85,1);
Rectangle(205,30,230,35);
SetFillStyle(1,14);
FloodFill(210,32,1);
Rectangle(240,30,255,35);
SetFillStyle(9,8);
FloodFill(245,32,1);
Rectangle(265,30,290,35);
SetFillStyle(1,14);
FloodFill(270,32,1);
Rectangle(300,30,325,35);
SetFillStyle(1,14);
FloodFill(310,32,1);
Rectangle(265,40,290,45);
SetFillStyle(1,14);
FloodFill(270,42,1);
Rectangle(300,40,325,45);
SetFillStyle(9,8);
FloodFill(310,42,1);
Rectangle(265,50,290,55);
SetFillStyle(1,14);
FloodFill(270,52,1);
Rectangle(300,50,325,55);
SetFillStyle(1,14);
FloodFill(310,52,1);
Rectangle(300,60,325,65);
SetFillStyle(1,14);
FloodFill(310,62,1);
Rectangle(265,60,290,65);
SetFillStyle(1,14);
FloodFill(270,62,1);
Rectangle(360,50,365,55);
SetFillStyle(9,8);
FloodFill(362,52,1);
Rectangle(360,40,365,45);
SetFillStyle(1,14);
FloodFill(362,42,1);
Rectangle(370,45,375,40);
SetFillStyle(1,14);
FloodFill(372,42,1);
Rectangle(360,30,365,35);
SetFillStyle(1,14);
FloodFill(362,31,1);
Rectangle(370,30,375,35);
SetFillStyle(1,14);
FloodFill(372,32,1);
Rectangle(390,25,395,30);
SetFillStyle(9,8);
FloodFill(392,28,1);
Rectangle(390,15,395,20);
SetFillStyle(1,14);
FloodFill(392,17,1);
Rectangle(375,15,380,20);
SetFillStyle(1,14);
FloodFill(378,17,1);
Rectangle(405,30,410,35);
SetFillStyle(1,14);
FloodFill(407,32,1);
Rectangle(415,30,420,35);
SetFillStyle(1,14);
FloodFill(418,32,1);
Rectangle(405,20,410,25);
SetFillStyle(9,8);
FloodFill(408,22,1);
Rectangle(415,20,420,25);
SetFillStyle(1,14);
FloodFill(418,22,1);
Rectangle(435,10,450,15);
SetFillStyle(1,14);
FloodFill(445,12,1);
Rectangle(435,20,450,25);
SetFillStyle (1,14);
FloodFill(440,22,1);
Line (55,30,110,30);
Line (110,30,110,150);
SetFillStyle (1,9);
FloodFill(60,35,1);
Line (75,10,125,10);
Line (125,10,125,72);
Line (75,10,75,32);
SetFillStyle (1,11);
FloodFill(110,25,1);
Line (110,70,180,70);
Line (180,70,180,125);
SetFillStyle (1,13);
FloodFill(125,85,1);
Line (180,55,250,55);
Line (180,55,180,70);
Line (250,55,250,100);
SetFillStyle (1,6);
FloodFill(185,65,1);
Line (165,70,165,15);
Line (165,15,130,15);
Line (350,15,350,62);
SetFillStyle (1,12);
FloodFill(205,65,1);
Line (300,10,300,15);
Line (300,10,335,10);
Line (335,10,335,15);
SetFillStyle (1,10);
FloodFill(325,12,1);
Line (350,25,380,25);
Line (380,25,380,52);
SetFillStyle (1,4);
FloodFill(370,26,1);
Line (370,10,370,25);
Line (370,10,400,10);
Line (400,10,400,45);
SetFillStyle (1,15);
SetFillStyle (1,15);
Line (400,15,430,15);
Line (430,15,430,34);
SetFillStyle (1,9);
FloodFill(425,25,1);
Line (415,15,415,5);
Line (415,15,470,5);
Line (470,5,470,19);
SetFillStyle (1,6);
FloodFill(425,8,1);
Line (470,2,485,2);
Line (470,2,470,5);
Line (485,2,485,12);
SetFillStyle (1,10);
FloodFill(478,4,1);
Line (290,360,290,210);
Line (290,212,410,120);
Line (290,300,410,170);
Line (410,120,410,170);
SetFillStyle (1,3);
FloodFill(300,250,1);
SetFillStyle (1,3);
FloodFill(291,298,1);
Line (400,300,440,170);
Ellipse (425,194,55,120,27,28);
Ellipse (345,376,53,125,95,95);
Line (400,300,400,360);
Ellipse (345,375,12,158,58,58);
SetFillStyle (1,9);
FloodFill(295,310,1);
Line (440,170,440,200);
Ellipse (430,210,36,87,15,15);
SetFillStyle (1,9);
FloodFill(438,180,1);
SetFillStyle (1,3);
FloodFill(420,180,1);
Line (0,290,60,260);
Line (100,240,150,215);
Line (200,190,260,160);
Line (290,148,333,128);
Line (370,100,400,85);
Line (420,73,440,63);
Line (470,45,790,35);
SetFillStyle (10,15);
FloodFill(400,2,1);
Line (280,112,330,90);
Ellipse (335,110,350,100,20,20);
Ellipse (294,150,110,150,40,40);
Line (355,115,350,120);
Circle (342,125,110);
SetFillStyle (9,8);
FloodFill(342,125,1);
Line (260,130,240,140);
Line (260,130,280,130);
Line (280,130,335,105);
Line (280,130,285,120);
Line (285,120,266,120);
Line (285,120,333,98);
Arc(332,102,270,90,4);
Line (240,150,270,150);
Line (240,140,270,140);
Line (270,140,353,102);
SetFillStyle (1,5);
FloodFill(338,102,1);
Ellipse (248,152,165,23,8,8);
SetFillStyle (9,8);
FloodFill(248,154,1);
Circle (280,152,10);
SetFillStyle (9,8);
FloodFill(280,152,1);
Arc(240,145,90,270,5);
SetFillStyle (1,7);
FloodFill(240,145,1);
SetColor(6);
Line (435,230,370,240);
Line (440,215,390,230);
Line (435,230,435,300);
Line (425,240,370,260);
Line (425,240,425,300);
Line (425,300,435,300);
Line (435,295,440,295);
Line (440,215,440,295);
Line (391,230,351,185);
Line (328,200,355,185);
Ellipse (365,210,160,290,33,50);
Line (340,185,340,193);
Circle (340,178,10);
SetFillStyle (1,6);
FloodFill(340,178,6);
Line (352,188,390,135);
Line (355,190,390,140);
Line (390,140,390,135);
Line (335,200,288,210);
Line (335,205,288,215);
SetFillStyle (8,1);
FloodFill(353,189,6);
SetFillStyle (1,1);
FloodFill(380,152,6);
Line (288,210,280,178);
Line (288,215,275,185);
Line (275,185,280,178);
SetFillStyle (1,1);
FloodFill(277,185,6);
SetColor(0);
Ellipse (395,200,0,360,5,3);
Line (390,200,390,210);
Line (400,200,400,210);
SetFillStyle (9,6);
FloodFill(395,200,0);
Arc(395,208,150,0,5);
SetFillStyle (1,7);
FloodFill(395,208,0);
SetColor(1);
Line (500,100,500,400);
Line (520,100,520,400);
Ellipse (510,100,0,200,10,10);
Ellipse (510,396,200,0,10,10);
SetFillStyle (1,6);
FloodFill(513,105,1);
Ellipse (485,130,10,160,25,25);
Ellipse (535,115,19,160,25,25);
Ellipse (460,138,10,170,16,16);
Ellipse (460,138,160,8,15,8);
SetFillStyle (1,14);
FloodFill(463,140,1);
Begin
Ellipse (560,122,10,170,16,16);
Ellipse (560,122,160,8,15,8);
SetFillStyle (1,14);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,0);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,14);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,0);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,14);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,0);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,14);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,0);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,14);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,0);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,14);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,0);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,14);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,0);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,14);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,14);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,0);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,14);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,0);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,14);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,0);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,14);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,0);
FloodFill(562,125,1);
Delay(30000);
SetFillStyle (1,14);
FloodFill(562,125,1);
Delay(30000);
repeat until keypressed;
closegraph;
end;
end.
Қорытынды.
Берілген курстық жұмысымда әр түрлі процедуралар
Сіздің көрсеткен әр түрлі процедуралар мен
Берілген программаны жазу арқылы автор Турбо
Курстық жұмысымды ұсына отырып өте жақсы
Қолданылған әдебиеттер:
1.Информатика (базовый курс) С.В.Семенович.С.П б:Питер 2001г.
2.Основы языка Турбо Паскаль (Учебный курс),П.И
3.Основы программирования в задачах и примерах,
4.Программирование. С.Симонович. Г.Евсеев, Москва: АСТ ПРЕСС
5.Практика программирование, Ю.Кетков. А.Кетков СП б:
6.Турбо Паскаль С.А.Немнюгин.-СП б: издательство «Питер»,
7.Турбо Паскаль: учитесь программировать, О.А.Меженный, Москва:
2





Ұқсас жұмыстар

Турбо паскальда графиканы құру
Процедурада регистрлерді сақтау
Клавиатура буферін тазарту
Функцияларды баяндау
Аммиак және аммоний тұздарын алу.
Турбо паскаль жүйесінде процедураларды ұйымдастыру технологиясы
Турбо Паскаль жүйесінде қосалқы программаларды ұйымдастыру технологиясы
Пернетақтаны басқару
Процедуралар және түрлерімен сипаты
Асқазан-ішек жолдарының секрециясын зерттеу әдістері