Автор: Пользователь скрыл имя, 29 Марта 2013 в 19:23, реферат
Компьютерде шығарылатын есептердің күрделіленуіне байланысты программалардың көлемі өсіп, оларды жазу, оқу, түзету күннен күнге қиындап келеді. Белгілі бір өндірістік мәселенің мезгіл-мезгіл қайталанып отыратын есептеу программалары ұзақ уақыт пайдаланылады, олар күнделікті өмір талабына сәйкес өзгертіліп, түзетіліп отыруы тиіс. Осыған байланысты программа құруды, түсінуді, өзгертуді жеңілдететін тәсілдер жасалған, олар құрымдылық (структуралық) программалау деп атайды.
Text Mode (Mode: Word);
мұндағы Mode – мәтіндік режім коды, оның мүмкін мәндері 7.2-кестеде көрсетілген. Мән тұрақты (ВW40, СО40, ...) немесе режім реттілігі (0, 1, ...) түрінде беріледі.
7.2-кесте
Компьютердің стандартты мәтіндік режімдері.
Монитор |
Экран |
Түстер саны |
Адаптер |
Сегмент |
Режім тұрақтысы |
Режім нөмері |
Ақ-қара Түрлі түсті Ақ-қара Түрлі түсті Ақ-қара |
40х25 40х25 80х25 80х25 80х25 |
16/8 16/8 16/8 16/8 3 |
CGA,EGA CGA,EGA CGA,EGA CGA,EGA МА, EGA |
В800 В800 В800 В800 В800 |
ВW40 СО40 ВW40 СО80 Моно |
0 1 2 3 7 |
СRT кітапханасында Мode мәні үшін төмендегі тұрақтылардың біреуі пайдаланылады.
ВW40 = 0; ақ-қара түс, 40х25
СО40 = 1; түрлі түсті, 40х25
ВW80 = 2; ақ-қара, 80х25
СО80 = 3; түрлі-түсті, 80х25
Мысалы:
TextMode (CO80);
TextMode (2);
СRT модулін пайдалана отырып, экранға шығарылатын символдардың түсін, мөлшерін, экранның да түсін өзгертуге болады.
Мәтіндік режімде символдар 16 түстің біріне (нөмірлері 0-15), экран реңі (фон) 8 түстің біріне (0-7) бояла алады. Монохроматты (ақ-қара түсті) дисплей үшін екі ғана түс пайдаланылғанымен, оларда символдың ақшылдығын (айқын ақ немесе сұр реңді) өзгерту, қара экранға ақ символ немесе ақ экранға қара символ шығару, кейбір символдарды жыпылықтатып қою мүмкіндіктері бар.
Экранға шығарылатын символдың түсін
TextColor (Color: Byte);
Процедурасы арқылы өзгертеді, мұндағы Color – түс нөмірі.
Экранның түсін өзгерту үшін
TextBackground (Color: Byte);
процедурасы пайдаланылады. Color айнымалысының мәні ретінде түс аты немесе нөмірі алынады (7.3-кесте)
7.3-кесте
Турбо Паскаль тіліндегі түс атаулары және нөмірлері
Түс аты |
Нөмірі |
Түс аты |
Нөмірі |
Black (қара) Blue (көк) Green (жасыл) Cyan (кқгілдір) Red (қызыл) Magenta (күлгін) Brown (қоңыр) Lightgray (боз) |
0 1 2 3 4 5 6 7 |
DarkGray (сұр) LightBlue (көкшіл) LightGreen (ақшыл жасыл) LightCyan (ақшыл көк) LidhtRed (қызғылт) Lidht Magenta (ашық күлгін) Yellow (сары) White (ақ) Blink (жыпылықтау) |
8 9 10 11 12 13 14 15 16 |
Мысалы:
ТextColor(Yellow);
TextBackGround(Red);
Write(,Қызыл экранға сары символдар шығарылады,);
TextColor(Yellow +Blink);
Write(,Жыпылықтайтын сары символдар шығарылады,);
TextColor(6);
Write(,Экранға қоңыр символдар шығарылады,);
Экран түсі мен символ түсі бірдей болса, мәтін көрінбей кетеді.
Төмендегі программа әртүрлі түстерді пайдалану мүмкіндіктерін көрсетеді.
Program sbet
Uses Crt
Const col: array [1.. 15] of string [12] = ('қара көк', 'қоюжасыл', 'көгілдір' , 'қызыл', 'күлгін', 'қоңыр', 'боз', 'сқр', 'көк', 'көкшіл', 'көгілдір', 'қызғылт', 'ашық қызыл', 'ашық қызыл', 'сары', 'ақ');
var
k:byte; i: integer;
begin
fox k: =1 to 15 do
begin
textcolor (k):
writeln (k, '- түс с', '- ',col [k]);
end;
textcolor (Light Gray);
writeln;
end.
Бұл программа орындалғанда экранға түстің нөмірі және оған сәйкес түс аттары өз түстерімен боялып шығады.
Енді экранды тазалайтын бірнеше процедураларды қарастырайық.
ClrScr – экранды немесе терезені тазалап, курсорды экранның сол жақ жоғарғы бұрышына (координаталар 1,1) көшіреді, тек мәтіндік режімде жұмыс атқарады;
ClrEol – курсордан жол соңына дейінгі символдарды өшіреді;
DelLine – курсор орналасқан жолдағы символдар түгел өшіріледі де, төмендегі жолдар бір қатар жоғары көтеріледі;
InsLine – курсор орналасқан позицияға жаңа жол еңгізіледі де, төменгі символдар бір қатарға төмен түседі
Турбо Паскаль тілінде курсорды басқаратын және оны кез келген экран нүктесіне орналастыратын процедуралар да қарастырылған.
CotoXY(X,Y: byte); - курсорды координаталары X,Y болып келетін экран нүктесіне көшіреді. Х сол жақ шеттен оң жаққа қарай, ал Y жоғарыдан төмен қарай берілген қашықтықтар бірлігін көрсетеді. Егер экран толық ашылған терезе деп қарастырылса, онда 25 жолдан және әр жол 80 символдан тұратын дисплей адаптерінің мәтіндік режімінде Х= 1..80, ал Y= 1..25 мәндеріне сәйкес келеді. Экранның сол жақ жоғарғы бұрышының координаталары (1,1), оң жақ төменгі бұрыш үшін – (80,25) болып келеді.
Мысалы:
CirScr; {Экранды тазарту}
GoToXY(33,4); {Курсорды 4-жол ортасына көшіру}
Write(' _');
Сонымен бірге экранда терезе жасау мүмкіндігі бар. Оны орындайтын программалар да процедура түрінде берілген.
Window (XI, Y1,X2,Y2: Byte); - экранда терезе құру процедурасы, XI, Y1,X2,Y2 – терезе төртбұрышының сол жақ жоғарғы және оң жақ төменгі төбелерінің координаталары. Ең кіші терезе бір символды ғана қоршаса, ең үлкен терезе (1,1,80,25) мөлшерінде бүкіл экранды алып тұрады, мысалы:
Window(1,1,80,25); {Толық экранды терезе}
Window(19, 7, 59, 16) {Экран ортасындағы терезе}
Терезені пайдалану жолын төмендегі программадан көруге болады.
program tereze;
uses crt;
var k:integer;
begin
textBackground(5);
window(4, 3, 36, 18); textcolor (14);
for k: =1 to 100 do writeln:
goto XY (8,8); writeln ('ENTER пернесін басындар');
readln;
textbackground(12); textcolor(15);
window(39, 3, 71,18);
for k: =1 to 100 do writeln;
gotoXY(3, 8); {Курсорды жаңа орынға көшіру}
writeln ('жақсы, ENTER пернесін басыңдар ');
readln;
textMode(Co80) {Барлық графикалық нұсқауларды өшіру*}
end.
Бұл программа орындалғанда экранның сол жақ бөлігінде күлгін түсте ішінде сары түспен жазылған 'ENTER пернесін басыңдар' сөзі бар терезе, ал оң жағында қызыл түсте ішінде ақ түспен жазылған 'жақсы, ENTER пернесін басыңдар ' сөзі бар екінші терезе пайда болады.
Графикалық процедуралар мен функциялар
Қазіргі компьютерлерде символдардан
бөлек әртүрлі суреттер, графиктер
салуға болады. Ол үшін Турбо Паскаль
тілінде әртүрлі графикалық процедуралар
пайдаланылады. Бұл графикалық процедураларды
ІВМ РС тәрізді дербес компьютерлерде
пайдалануға болады. Турбо Паскаль
тілінің нұсқауларындағы
Біз бұл оқулықта CRT және GRAPH кітапханаларындағы процедураларды пайдаланамыз. Компьютер экраны, әдетте, символдық режімде болады. GRAPH модулінде орналасқан кітапханадағы процедуралар мен функцияларды пайдалану үшін программа элементтерін сипаттау бөлігінде
USES GRAPH;
Түйінді сөзін пайдалану керек. График сызуда CRT кітапханасындағы процедураларды пайдалану қажет болса, онда
USES GRAPH, CRT;
жолы қолданылады.
Жалпы дисплей адаптерлері графикалық режімде 200, 350 тіпті 600 нүктеден тұратын экран жолдарының эрқайсысынада 640, 720, 800 нүкте тізбегін бейнелей алады. Мұндағы нүкте деп отырғанымыз – өлшемі 0,8х1 мм2 (CGA үшін) болып келген кішкентай тіктөртбұрыш, яғни пиксель. Әрбір нүктенің координаталары екі бүтін санмен (Х,Ү) анықталады. Дисплей экранына график салу үшін оның нүктелерінің координаталарын көрсету қажет. Координаталар басы (0,0) болып экранның сол жақ жоғарғы бұрышы есептеледі. Х координаталары (бағана немесе позиция нөмірі) солдан оңға қарай, ал Ү мәндері (жолдар немесе қатарлар) жоғарыдан төмен қарай өсіп отырады. Мысалы, EGA адаптерінің EGANI режімінде экран бұрыштарының координаталарын Х=0..639, Ү=0..199 аралығында көрсету қажет. Экранда Х осі солдан оңға қарай, Ү осі жоғарыдан төмен қарай бағытталған. Олардың ең жоғарғы мәндері пайдаланылған адаптерге тәуелді болады, яғни (0,0) – (320х200), (0,0) – (640х200), (0,0) – (800х600) аралықтарында, т.б. болуы мүкін. Сонымен графикалық режімде экрандағы кез келген объект көрініп тұрған нүктелер тобынан тұрады. Мәтіндік режімнен графикалық режімге көшкенде экран тазартылады. Графикалық режімде эканнан курсор көрінбейді. Дисплей экранының бетіне нүкте, түзу немесе қисық сызық, шеңбер, эллипс және кез келген тұйық сызық сызып шығуға болады. Сонымен қатар тұйық сызықтардың ішін әртүрлі түске бояп қоюға да болады. Сызықтарды жылжыту, айналдыру және басқа орынға көшіру арқылы көрнекі бейнелер мен мультфильм жасауға болады. График тұрғызу үшін оны шығару немесе бастау нүктесін көрсету қажет. Мәтіндік режімде ол курсор позициясы болып саналады, ал графикалық режімде көрініп тұратын курсор жоқ, бірақ экранда көрінбейтін курсор тәрізді сілтеме белгі СP (current pointer) бар. Негізінде, оны да курсор деп қабылдауға болады.
Графикалық режімдегі жұмыстарды атқаратын Турбо Паскальдің 7.0 нұсқасында графикалық процедуралар мен функциялар өте көп.
GRAPH модулінің процедуралары мен функциялары. Графикалық режімді іске қосу.
Графиктермен жұмыс істеу алдында оған сәйкес келетін монитор режімін орнату керек. Турбо Паскаль тілінде алдын ала бекітілген драйверлер саны бар, олардың әрқайсысы үш түрлі режімнің бірінде жұмыс істей алады. Драйвер типі мен оның режімі санмен немесе тұрақты түрінде беріледі.
Графикалық режімдерді анықтайтын тұрақтылар мен оларға сәйкес адаптерлер типі 7.4-кестеде берілген.
7.4-кесте
Графикалық режімдер
Драйвер |
Режім |
Нүктелер саны |
Файл |
CGA(1) |
CGACO,CGAHI |
320x200(640x200) |
CGA.BGI |
EGA (2) |
EGALO, EGAHI |
640x200(640x350) |
GAVGA.BGI |
VGA (9) |
HERCMONOHI |
720x348 |
HERC. BGI |
GRAPH модулі іске қосылысымен оның ішіндегі процедуралар мен функцияларды пайдалана беруге болады.
Графикалық режімде алғашқы рет іске қосу (инициализациялау) үшін InitGraph процедурасы қолданылады.
InitGraph (DriverVar, ModeVar: integer, Gol: stribg);
мұндағы DriverVar, ModeVar деп аталатын бүтін типтегі екі айнымалы драйверді және жұмыс режімін анықтайды. Мысалы:
DriverVar:=VGA; ModeVar:=VGALO
Алғашқы параметр тұрақты түрінде немесе нөмірмен де беріле береді (ол драйвер атауы жанындағы жақша ішінде көрсетілген), мысалы, төмендегі операторлар бірдей болып саналады:
DriverVar:=VGA; ModeVar:=9;
Егер дисплей типін көрсеткіміз келмесе немесе оны білмесек, стандартты Detect тұрақтысын қолданамыз. Сонда InitGraph процедурасы көмегімен драйвер автоматты түрде таңдап алынады да, оның тиімді режімі де өзінен-өзі орнатылады. Процедураның Gol деп аталған үшінші параметрі Graph модулінің маршрутын, яғни жолын көрсетеді. Егер ол модуль ағымдағы каталогта немесе бумада болса, онда оның орнына екі апостроф қойылады. Сонымен осы айтандарымызды программаның бас жағына мынадай жолдар арқылы жаза аламыз:
Uses Crt, Graph;
Var DriverVar, Modear: integer;
Begin
DriverVar: =Detect;
InitGraph (DriverVar, ModeVar,'\TP\GRAPH');
Мұндағы DriverVar – графикалық адаптердің (драйвердің) типі: ModeVar – оның жұмыс режімі; '\TP\GRAPH' – графикалық адаптердің орналасқан орны, яғни жазылған бумасы, егер ол ағымдағы каталог немесе бума болса, онда тек ' ' белгілері ғана жазылады. Адаптердің автоматты түрде таңдап алу үшін DriverVar: =Detect; деп көрсетіледі. Кез келген программада осындай жолдар орындалғаннан кейін графикалық мүмкіндіктер пайдаланыла бастайды.
Графикалық режімнен шығу (программаны аяқтау) үшін параметрсіз жазылатын CloseGraph процедурасы пайдаланылады. Бұл процедура орындалғанда барлық графикалық режімдер алынып тасталады және бейнелер буфері босатылады.