Экранды тазарту
Жоспар:
Кіріспе..................................................................................................3
1. Графиктік режимге көшу адаптері.....................................................4-6
2. GRT Модуліндегі адаптерлердің мәтіндік мүмкүндіктері..............7-12
3. Графикалық процедуралар мен функциялар....................................13-17
4. Геометриалық обьектілерді құру процедуралары............................18-24
5. Графикалық режимде мәтін жазу процедуралары............................25-26
Қортынды және ұсыныстар.................................................................27
Қолданылған әдебиеттер тізімі...........................................................28
Кіріспе
Қазіргі заманда компьютерсіз өмір сүру және жалпы барлық
Компьютер барлық жағдайларда адамға ең керектісі, яғни жұмыс
Программалар компьютердің негізі, компьютерде жұмыс жасауға деген негізгісі
Менің курстық жұмысымның тақырыбы «Графикалық режімдегі процедуралар мен
Бұл бағдарлама графикалық режімде процедуралар мен функцияларды қолдану
Қазіргі жаңа технологиялардың жоғарғы сипатта жылдам дамуы
компьютерлік бағдарламалардың жалпы жұмыс атқаруы күрделі, ал қолданушыға
Менің курстық жұмысым жүйелі түрде осы аталған бағдарламаны,
1. Графикалық режимге көшу адаптерлері.
Экранға мәлімет шығаруды аппараттық жағынан сүйемелдеу екі модуль-бейнеадаптер
Экран бетіндегі қатарлар саны және бір қатардағы нүктелердің
Жалпы бейнеадаптер екі бөліктен-электрондық-сәулелік түтікше контроллерінен және бейне
IBM PC тәрізді компютерлерде адаптерлердің бірнеше стандарты пайдаланылады,
Адаптерлердің типі Экранның жұмыс режимі Нүктелер саны
GGA(Color Graphics Adapter - түрлі түсті графикалық адаптер)
MGCA(Multi Color Graphics Adapter) Монохромды көп түсті 640x250
EGA(Enhanced Graphics Adapter) Күшейтілген көп түсті 640x350
EGA 64 Түрлі түсті 640x350
TGA Mono Монохромды 640x350
Herc Mono Монохромды 720x348
ATT 400 Түрлі түсті 320x200
VGA(Video Graphics
Array) Түрлі түсті 640x200
SVGA(Super Video
Graphics Array) Түрлі түсті 800x600
PC 3270 Монохромды 720x350
Қажетті драйверлерді қолдану арқылы кез келген адаптерді графикалық
2. GRT Модуліндегі адаптердегі мәтіндік мүмкүндіктері.
Турбо Паскальдің мәтіндерді енгізіп-шығаруды жетілдіретінбірнеше стандартты функциялары мен
Мәтіндік режимде адаптерлер экранға 40 немесе 80 жолдан
PROGRAM ;
USES CRT;
CRT модулін пайдалана отырып, экранға шығарылатын символдардың түсін,
Сонымен бірге экранда терезе жасауға, оны өшіруге, курсорды
Text Mode (Mode: Word);
Мұндағы Мode-мәтіндік режім коды, оның мүмкүн мәндері астағы
Компютердің стандартты мәтіндік режімдері
Монитор Экран Түстер саны Адаптер
Ақ-қара 40х25 16/8 CGA,EGA B800 BW 40 0
Түрлі түсті 40х25 16/8 CGA,EGA B800 CO 40
Ақ-қара 80х25 16/8 CGA,EGA B800 BW 40 2
Түрлі түсті 80х25 16/8 CGA,EGA B800 CO
Ақ-қара 80х25 3 MA,EGA B800 Mono 7
CRT кітапханасында Mode мәні үшін төмендегі тұрақтылардың біреуі
BW 40=0; ақ-қара түс, 40х25
CO 40=1; түрлі түсті, 40х25
BW 80=2; ақ-қара, 80х25
CO 80=3; түрлі түсті, 80х25
Мысалы: Text Mode (CO80);
Text Mode (2);
CRT модулін пайдалана отырып, экранға шығарылатын символдардың түсін,
Мәтіндік режімде символдар 16 түстің біріне экран реңі
Экранға шығарылатын символдың түсін
Text Color (Color: Byte);
Процедура арқылы өзгертеді, мұндағы Color-түс нөмірі.
Экранның түсін өзгерту үшін
Text Background (Color: Byte);
Процедурасы пайдаланылады. Color айнымалысының мәні ретінде түс аты
Турбо паскаль тіліндегі түс атаулары және олардың нөмірлері
Түс аты Нөмірі Түс аты Нөмірі
Black (қара) 0 Dark grey (сұр) 8
Blue (көк) 1 Light Blue (көкшіл) 9
Green (жасыл) 2 Light Green (ақшыл жасыл) 10
Cyan (көгілдір) 3 Light Cyan (ақшыл көк) 11
Red (қызыл) 4 Light Red (қызғылт) 12
Magenta (күлгін) 5 Light Magenta (ашық күлгін) 13
Brown (қоңыр) 6 Yellow (сары) 14
Light gray (боз) 7 White (ақ) 15
Blink (жыпылықтау) 16
Мысалы:
Text Color (Yellow);
Text Back Ground (Red);
Write (‘Қызыл экранға сары символдар шығарылады’);
Text Color (Yellow-Blink);
Write (‘Жыпылықтайтын сары символдаршығарылады’);
Text Color (6);
Write (‘Экранға қоңыр символдар шығарылады’);
Экран түсі мен символ түсі бірдей болса, мәтін
Program sdet;
Uses Crt;
Const col: array [1...15] of string [12] =
Var
K: byte; I: integer;
Begin
For k: =1 to 15 do
Begin
Text color (k);
Writeln (k,’-түс с «, »-«, col[k]);
End;
Text Color (light Gray);
Writeln;
End.
Бұл программа орындалғанда экранға түстің нөмірі және оған
Енді экранды тазалайтын бірнеше процедуралар қарастырайық.
ClrScr-экранды немесе терезені тазалап, курсорды экранның сол жақ
ClrEol-курсордан жол соңына дейінгі символдарды өшіреді;
DelLine-курсор орналасқан жолдағы символдар түгел өшіріледі де, төмендегі
InsLine-курсор орналасқан позиция жаңа жол енгізіледі де, төменгі
Турбо Паскаль тілінде курсорды басқаратын және оны кез
Goto XY(X, Y: byte);-курсорды кординаталары X, Y болып
Мысалы:
ClrScr; {Экранды тазарту}
GoTo X Y (33, 4); {Курсорды 4-жол ортасына
Write (‘’);
Сонымен бірге экранда терезе жасау мүмкүндігі бар. Оны
Window (XI, Y1, X2, Y2: Byte);-экранда терезе құру
Window (1, 1, 80, 25); {Толық экранды
Window (19, 7, 59, 16); {Экран ортасындағы терезе}
Терезені пайдалану жолын төмендегі программадан көруге болады.
Program tereze;
Uses crt;
Var k: integer;
Begin
Text Background (5);
Window (4, 3, 36, 18); text color (14);
For k: =1 to 100 do writeln;
Goto XY (8, 8); writeln (‘ENTER ПЕРНЕСІН БАСЫНДАР’);
Readln;
Text Background (12); text color (15);
Window (39, 3, 71, 18);
For k: =1 to 100 do writeln;
Gobo XY (3, 8); {курсорды жаңа орынға көшіру}
Writeln (‘ЖАҚСЫ, ENTER ПЕРНЕСІН БАСЫНДАР’);
Readln;
Text mode (Co80) {Барлық графикалық нұсқауларды өшіру*}
End.
Бұл программа орындалғанда экранның сол жақ бөлігіндекүлгін түсте
Дисплей экранға нүктелер жиыны болып табылатын төртбұрышты аймақ
Графикалық программалау процесі тиімділігін арттыру мақсатында Borland International
3. Графикалық процедуралар мен функциялар
Қазіргі компютерлерде символдардан бөлек әр түрлі суреттер, графиктер
Біз бұл оқулықта CRT және GRAPH кітапханалардағы процедураларды
USES GRAPH;
Түиінді сөзін пайдалану керек. График сызуда CRT кітапханасындағы
USES GRAPH CRT
Жолы қолданылады.
Жалпы дисплей адаптерлері графикалық режімде 200, 350тіпті 600
Графикалық режімде жұмыстарды атқаратын Турбо Паскальдің 7.0 нұсқасында
GRAPH модулінің процедуралары мен функциялары. Графикалық режімді іске
Графиктермен жұмыс істеу алдында оған сәйкес келетін монитор
Графиктік режімдерді анықтайтын тұрақтылар мен оларға сәйкес адаптерлер
Драйвер Режім Нүктелер саны Файл
CGA(1) CGACO,CGAHI 320x200(640x200) CGA.BGI
EGA(2) EGALO,EGAHI 640x200(640x350) GAVGA.BGI
VGA(9) HERCVONOHI 720x348 HERC.BGI
GRAPH модулі іске қосылысымен оныңішіндегі процедуралар мен функцияларды
Графикалық режімді алғашқы рет іске қосу үшін Init
Init Graph(Driver Var, Mode Var: integer, Gol: string);
Мұндағы Driver Var, Mode Var деп аталатын бүтін
Driver Var:=VGA; Mode Var:=VGALO;
Алғашқы параметр тұрақты түрінде немесе нөмірменде беріле береді,
Driver Var: =VGA; Driver Var: =9;
Егер дисплейтипін көрсеткіміз келмесе немесе оны білмесек, стандартты
Uses Grt, Graph;
Var Driver Var, Mode Var: integer;
Begin
Driver Var: =Detect;
Init Graph (Driver Var, Mode Var,’\TP\GRAPH’);
Мұндағы Driver Var-графикалық адаптердің типі; Mode Var-оның жұмыс
Графикалық режімнен шығу үшін параметрсізжазылатын Close Graphпроцедурасы пайдаланылады.
Get Graph Mode: Integer; функциясы адаптерінің, яғни графикалық
Set Graph Mode-бұл процедура графикалық режім орнатады да,
Program reg;
Uses graph;
Var f, g: integer;
Begin
F: =detect; initgraph (f, g, ‘’);
Writeln (‘гарфикалық режім’);
Writeln (‘Enter-ді басыңдар’);
Readln;
Restore CRT Mode; Writeln (‘мәтіндіік режім’);
Readln;
Close Graph
End.
Бұл программа графикалық режімнен мәтіндік режімге көшуге және
Move To –курсорды көрсетілген мәндері бойынша жаңа кординаталарға
Move Rel – курсорды тұрған нүктесінен әрі қарай
Restore GRT Mode процедурасы графикалық режімнің алдындағы режімді
GetX: Integer функциясы Х кординатасының ағымдағы мәнін береді.
GetY: integer функциясы Ү кординатасының ағымдағы мәнін береді.
4. Геометриялық обектілердіқұру процедурасы
Нүкте салу операторы. Экранның кез келген жеріне нүкте
Put Pixel (Х,Ү:integer; color: word);
Мұндағы Х,Ү-нүкте кординаталары, color оның түсін анықтайды. Мысалы,
Get Pixel(X, Y: integer): word;
Функциясы қолданылады.
Түзу сызықты процедурасы экранда екі шетінің кординаталары берілген
Line(X1,Y1,X2,Y2:integer);
Мұнда ағымдағы түс бойынша координаталары Х1,Ү1 нүктесінен Х2,Ү2
Бастапқы нүкте көрсетілмесе, онда мына процедура:
Lineto (X, Y:integer);-курсор тұрған орыннанбастап кординаталары Х,Ү болатын
Line Rel(DX,DY:integer);-ағымдағы нүктеден қашықтығы кординаталар өсімшесіне DX,DY сәйкес
Setline Style(T, P, Th :word);-сызық қалындығы мен стилін
Сызық стилдері
Тұрақты Оның мәні Сипаттамасы
SolidLn 0 Үздіксіз сызық
DottedLn 1 Нүктелерден тұратын сызық
CtnterLn 2 Нүктелер мен тереден тұратын сызық
DashedLn 3 Штрихты пунктирлі сызық
UsesBitLn 4 Орындаушы тағайындайтынсызық типі
Р параметрі ұзындығы 16 пиксельден тұратын кесінді сызады,
Norm Width=1 ;(қалындығы бір пиксель сызық)
Thick Width=3 ;(қалындығы үш пиксель сызық)
Мысалы:
SetLine Style (DottedLn, 0, Norm Width);
Rectangle (15, 15, 150, 130);
Сызық салу кезінде оның түсі алдынғы орнатылған түспен
Set Color (Color: word); процедурасы қолданылады, мұндағы Color-жаңадан
Set Color (Cyan); {Сызық түсі көгілдір болады}
Set Color (7); {Сызық түсі боз болады}
Set Bk Color (Color: word); процедурасы экран түсін,
Set Bk Color (Blue); {Экран түсі көк болады}
Set Bk Color (4); {Экран түсі қызыл
EGA/VGA адаптерінде пайдаланылатын түрлі түстер
Тұрақты Нөмірі Экран түсі
EGA Black 0 Қара
EGA Blue 1 Көк
EGA Green 2 Жасыл
EGA Cyan 3 Көгілдір
EGA Red 4 Қызыл
EGA Magenta 5 Күлгін
EGA Brown 6 Қоңыр
EGA Light Gray 7 Боз
EGA Dark Gray 56 Сұр
EGA Light Blue 57 Көкшіл
EGA Light Green 58 Ақшыл жасыл
EGA Light Cyan 59 Ақшыл көк
EGA Light Red 60 Қызғылт қоңыр
EGA Light Magenta 61 Қызғыш
EGA Light Yellow 62 Сары
EGA Light White 63 Ақ
Көпбұрыш сызу процедуралары көпбұрыштың бірнеше түрінсала алады, олардың
Rectangle (x1,y1,x2,y2: integer);сол жақ жоғарғы (х1,у1) және оң
For i: =1 to 100 do
Begin
Set Color (Green);
Rectangle (200, Random (300), 250, 300);
Delay (50);
Clear Device
End;
Боялған тіктөртбұрыштар келесі процедура арқылы сызылады.
Bar(x1,y1,x2,y2:integer);-мұнда ағымдағы түспен іші боялған тіктөртбұрыш сызылады. Бояу
Set Fill Style (Pattern, Color: word)-объектінің ішін бояйды,
Тұрақты Мәні Толтыру үлгісі
Empty Fill 0 Экран түсімен толтырады.
Solid Fill 1 Ағымдағы түспен толтырылады.
Line Fill 2 -- символдармен, Color түсімен толтырылады.
Ltslash Fill 3 Қалыптағы // символымен, Color түсімен
Slash Fill 4 Қалындатылған // символымен, Color түсімен
Bkslash Fill 5 Қалындатылған \\ символымен, Color түсімен
Ltbk Slash Fill 6 Қалыптағы \\ символдармен, Color
Hatch Fill 7 Тік және көлденең штрих сызықтармен,
Xhatch Fill 8 Екі диагональ бойынша қиғаш бағыттағы
Inter Leave Fill 9 Екі диагональ бойынша қиғаш
Wide Dot Fill 10 Сиретілген нүктелермен, Color түсімен
Close Dot Fill 11 Жиі орналасқан нүктелермен, Color
Uses Fill 12 Орындаушы өзі анықтаған үлгімен, Color
Мысалы, 16 түсті EGA/VGA адаптері үшін:
Set Fill Style (Slash Fill, Yellow);
Bar (10, 10, 50, 150) ;{}
Flood Fill (x, y: integer; Bor: word)-таңдалған стиль
Төмендегі программада іші боялған үшбұрышты және әр түрлі
Program ushbur;
Uses graph, crt;
Var driv, mode: integer;
Begin
Driv: =detect; initgraph (drive, mode, ‘’);
Setbkcolor (1);
Moveto (100, 100); lineto (150, 150);
Lineto (250, 100); lineto (100, 100);
Set Fill Style (8, 6); Flood Fill (155,
Oveto (250, 150); line (250, 150, 500, 280);
Line (500, 280, 270, 270); line (270, 270,
Set Line Style (1, 2, 3); Set Color
Linerel (120, 120); Set Line Style (2, 3,
Moveto (244, 148); Set Color (3); Linerel (200,
Moveto (244, 148); Set Color (4); Set Line
Linerel (110, 130);
Readln;
Close Graph
End.
Бұл программа арқылы астағы көрсетілген үш бұрыштар сызылады
Мысалы:
Program tortbur;
Uses graph, crt;
Var d, m: integer;
Begin
D: =detect; initgraph (d, m, ‘’);
Setbkcolor (1);
Rectangle (150, 150, 300, 320);
Setfillstyle (8, 6);
Flood fill (160, 200, 15);
Setfillstyle (1, 3);
Bar (350, 150, 500, 320);
Readln; close graph
End.
Бұл программа нәтижесінде әр түрлі стильмен сызылған төртбұрыштар
Draw poly (N: word; Var Points);-ағымдағы түспен және
Бұл программа көмегімен экранға sin x-тің графигін сызатын
Program sinsjzu;
Uses graph;
Const n=100;
Var d, r: integer;
M: array [0...n+1] of point type;
K: word;
Begin
D: =detect; initgraph (d, r, ‘’);
For k: =0 to n do with m[k]
Begin
X: =trunc (k*getmax X/n);
Y: =trunc (get Max Y*(-sin (2*pi*k/n) +1)/2)
End;
M [succ (n)].x:=m [0].x;
M [succ (n)].y:=m [0].y;
Drawpoly (n+2, m);
Setfillstyle (1, 3); flood fill (120, 120, 15);
Setfillstyle (8, 6); flood fill (350, 280, 15);
Readln;
Close graph
End.
5. Графиктік режімде мәтін жазу процедуралары
Графикалық процедуралар кітапханасында графикалық режімде экранға символдан тұратын
Графикалық экранда мәтін жазу процедуралары экранға график түрінде
Outtext процедурасы арқылы берілген орнынан бастап экранға мәтін
Outtextxy мұндағы х,у- мәтін жазылатын жолдың алғашқыбасталатын орнының
Set Text Style(Font:word;Direction:word;CharSise:word);-шығарылатын мәтін стилін орнатады, мұндағы Font-қаріп
Қаріп жазу мүмкүндіктері
Тұрақты Мәні Сипаттамасы
Қаріп типі
DeafultFont 0 8x8 битті қаріп
TriplexFont 1 штрих (үш еселі)қаріптер
SmallFont 2 кіші қаріп
SansSerifFont 3 сансериф (түзу) қаріп
GothicFont 4 готикалық (графикалық) қаріп
Қаріп бағыты
GorizDir 4 солдан онға қарай
VertDir 1 төменнен жоғары қарай
Мысал ретінде DeafultFont (нөмірі 0) қаріпімен әр түрлі
Set Text Style(0,1,1);{стандартты мөлшердегі әріптер}
Outtextxy Set(200,200,‘Тікжол’);
Text Style(0,0,2);{үлкейтілген әріптер}
Outtextxy Set(200,220,‘көлденен жол’);
SetUsesCharSize(MultX, DivX, MultY, DivY:word);-бұл процедура символдардың өлшемін енін
Төмендегі программа тіктөртбұрыштын ішіне әр түрлі бағытта түрлі
Program text;
Uses graph, crt;
Very D, m: integer;
Begin
D: =detect; initgraph (d, m, ‘’);
Rectangle (100,100,400,400); set color (3);
OuttextXY(150,150,‘КОМПЬЮТЕР’);
Set Text Style(4,1,3);set color(4);
OuttextXY(150,180, ‘ЭЕМ-КОМПЬЮТЕР’);
Set Text Style(3,0,1);set color(9);
OuttextXY(200,250, ‘ДЭЕМ’);
Readln;
Close graph
End.
Қортынды және ұсыныстар
Мен бұл курстық жұмысты қортындылай келе бұл жұмыста
Графикалық бағдарламалау процесі тиімділігін арттыру мақсатында «Borland International»
Экранға мәлімет шығаруды аппараттық жағынан сүйемелдеу екі модуль-бейнеадаптер
Сонымен, компьютерлік бағдарламалар, соның ішінде менің курстық
Қолданылған әдебиеттер тізімі :
/ Әділбаев А.Б. «Компьютерлік бағдарламалар» 2001, Алматы
/ Балапанов, Бөрібаев, Дәулетқұлов «Информатикадан 30 сабақ»
/ Беркінбаев, Нұрғалаев, Ниязова «Мәтіндік процессорларды пайдалану» 2003,
/ Жарқынбаева «Кестелік процессор» 1998, Алматы,
/ Қайратов « 11 сынып информатикасы »
/ Петров В.А. «Алгоритмы» 1996, Мәскеу, «Дрофа».
/ Сыдықов Б.Д. «Алгоритм және программалар негіздерін оқыту»
/ Кенжетаев А.Р. «Микропроцессор» Алматы, 2005
// «Компьютерные техники» Мәскеу, 2007
Ассеблер тілі
Паскаль және Си тілінде есеп жығару
Дербес компютердің анықтамасы
Pascal және Си тілінде бағдарламалау
Массивтермен жұмыста көрсеткіштерді пайдалану
Ханой мұнарасы
Turbo Pascal программалау жүйесі
Дербес компьютер құрамы
Қазандардың құрылмасы, классификациясы
Turbo Pascal бағдарламасындағы графикалық режим