Turbo Pascal-дағы жолдық қатарлар


Жұмыс түрі: Реферат
Тегін: Антиплагиат
Көлемі: 16 бет
Таңдаулыға:
Turbo Pascal-дағы жолдық қатарлар
Жоспары
І. Кіріспе
ІІ. Негізгі бөлім
2. 1. Жолдық қатарлар
2. 2. Жолдық процедуралар мен фукнциялар
2. 3. Жолдық қатарларға программа құру
2. 4. Жолдық қатарлар мен амалдар орындау
Қорытынды
Пайдаланылған әдебиеттер
Кіріспе
Текстік режимде жұмыс
Экранда символдардың шығуы мен түзілуі монитордың видеоадаптерінің жұмысына байланысты болады. Компьютерде орнатылған видеоадаптердің көмегімен символдарды текстік немесе графиктік режимде шығаруға болады.
Көптеген программаларда текстік мәліметтерді Read, Readln, Write, Writeln процедураларының көмегімен енгізу-шығару программаның көрнекі және ыңғайлы болып шығуына жеткіліксіз болып табылады. Сондықтан Turbo Pascal-да текстік режимде жұмыс істеу үшін қолданылатын арнаулы функциялар мен процедуралар қарастырылған. Олар арнаулы CRT (Cathode Ray Tube display - электронды-сәулелі дисплей) библиотекалық модулі құрамында жазылған. Оларды текстік режимде жұмыс істеуге пайдалану үшін программаның басында CRT модулін USES қызметші сөзінде жазып кету керек. Сонда ғана программалауда CRT модулінің барлық процедуралаы мен функцияларын пайдалануға болады.
Текстік режим кодтық кестенің барлық символдарын экранға шығару үшін қолданылады. Текстік режимнің ең кішкене өлшем бірлігі символ болып табылады. Символдар бірнеше пиксельдерден (нүкте) құралады. Экранда символдар мен терезелердің әртүрлі шығу режимдерін компьютерде орнатылған адаптерлердің типтері анықтайды. Қазіргі шығып жатқан видеоадаптерлердің барлығы да текстік режимде жұмыс істеуге мүмкіндік береді.
2. 1. CRT модулінің процедуралары мен функциялары
Текстік режимді орнату үшін TEXTMODE процедурасы қолданылады. Программалау барысында соңғы орнатылған режим нөмірін LASTMODE функциясымен білуге болады, мысалы:
TEXTMODE(X) ; // Х - режим нөмірі
WRITE(LASTMODE) ; // экранға режим нөмірін шығару
Текстік режим нөмірлері мәндері монитор мен адаптерлер типтеріне байланысты қойылады (мысалы Х-ке 0, 1, 2, 3, 7 немесе Bw40, Co40, Bw80, Co80, Mono, Font8x8 тұрақтыларын беруге болады) .
Экрандағы көріністі өшіріп тазалау үшін CLSSCR процедурасы қолданылады. Бұл процедура экранды немесе ағымдағы терезені тазалап, курсорды экранның сол жақ жоғарғы жағына апарып қояды.
Курсор тұрған жерден бастап қатардың аяғына дейінгі символдарды өшіру CLREOL процедурасы қолданылады.
DELLINE процедурасы курсор тұрған қатардың барлығын өшіреді, нәтижесінде кейінгі қатарлар бір позиция төмен жылжиды.
INSLINE процедурасы курсор тұрған жерге бір бос қатар қояды, нәтижесінде кейінгі қатарлар бір позиция төмен жылжиды.
Экранда курсорды керекті жерге апарып қою үшін GOTOXY процедурасы қолданылады. Бұл процедура курсорды координаттары өзінде көрсетілген Х және Y мәндері болатын орынға апарып қояды. Координаттарға тек бүтін сандар ғана беруге болады. Текстік режимде координаттардың басы ретінде экранның сол жақ жоғарғы бұрышын X=1 және Y=1 деп алады. Х-тің мәндері солдан оңға қарай, Y-тің мәндері жоғарыдан төмен қарай өседі. X және Y ең үлкен мәндері монитордың адаптерінің жұмыс режиміне байланысты болады. Мысалы 80х25/CGA, EGA, CO80 адаптерлері үшін текстік режимде Xmax=80; Ymax=25.
GOTOXY(10, 15) ;
// курсорды X=10, Y=15 позициясына апарып қояды.
Курсордың тұрған жерін анықтау үшін WHERE функциясы қолданылады, жазылуы:
Write(WHEREX, WHEREY) ;
// экранға курсор тұрған жердің координаттарының мәндері шығады
Сондай-ақ текстік режимде клавиатураның жұмысын басқаратын KEYPRESSED және READKEY логикалық функциялары қолданылады.
KEYPRESSED - егер клавиатураның кез-келген клавишы басылса, онда функицяның мәні «ақиқат» болады, мысалы төмендегі фрагментте цикл клавиатурадан кез-келген клавиш басылғанша орындалады:
USES Crt;
Begin Clrscr;
Repeat
Writeln (‘TEXT’) ;
Until Keypressed; END.
READKEY - егер клавиатурадан берілген символ клавишы басылса, онда функцияның мәні «ақиқат» болады, мысалы төмендегі фрагментте цикл клавиатурадан «g» символынан басқа символдар басылса қайталанып орындала береді, ал «g» символы басылған заматта тоқтайды:
USES Crt;
VAR N:Char;
Begin Clsscr; N:=‘g’;
Repeat
Writeln (‘TEXT’) ;
Until N=Readkey; END.
2. 2. TEXTBACKGROUND және TEXTCOLOR процедуралары TEXTBACKGROUND процедурасы көмегімен текстің, экранның немесе ағымдағы терезенің түстерін орнатуға болады, жазылуы:
TEXTBACKGROUND(M) ;
// экранға М нөмерлі түспен шығарады
М - 0(қара) -ден 7(ақсұр) -ге дейін өзгереді.
TEXTCOLOR процедурасының көмегімен символдардың экранға шығатын түсі орнатылады, программада жазылуы:
TEXTCOLOR(M) ;
// тексті М нөмерлі түспен шығарады,
М - 0(қара) -ден 15(ақ) -ге дейін өзгереді.
0 - Қара(Black), 1 - Көк(Blue),
2 - Жасыл(Green), 3 - Көгілдір(Cyan),
4 - Қызыл(Red), 5 - Күлгін(Magenta),
6 - Қоңыр(Brown), 7 - Ақсұр(LightGray),
8 - Қарасұр (DarkGray), 9 - Ашық көк(LightBlue),
10 - Ашық жасыл(LightGreen), 11 - Ашық көгілдір(LightCyan),
12 - Ашық қызыл(LightRed), 13 - Ашық күлгін(LightMagenta),
14 - Сары(Yellow) 15 - Ақ(White)
128 - Символдарды жыпылықтату(Blink) .
LOWVIDEO процедурасы экранға символдардың жарығын азайтып шығару режимін орнату үшін қолданылады, жазылуы:
LOWVIDEO;
Writeln(‘TEXT’) ;
// TEXT сөзі экранға ең төмегі жарық режимінде шығады
NORMVIDEO процедурасы символдардың қалыпты жағдайдағы жарық режимінде шығу режимін орнату үшін қолданылады, жазылуы:
NORMVIDEO;
Writeln(‘TEXT’) ;
// TEXT сөзі экранға қалыпты жағдайдағы жарық режимінде шығады
HIGHVIDEO процедурасы экранға символдардың жарығын көбейтіп шығару режимін орнату үшін қолданылады, жазылуы:
HIGHVIDEO;
Writeln(‘TEXT’) ;
// TEXT сөзі экранға ең жоғарғыжарық режимінде шығады
Текстік режимде кей жағдайларда бүкіл экран қажет болмай, бір кішкуене терезе шығарып алып, тек қана сол терезе аумағында жұмыс істеуге болады. Ол үшін экранға терезе шығаратын WINDOW процедурасы қолданылады. Бұл процедура орындалу нәтижесінде экранға өзінде берілген координаталар бойынша терезе шығарады, жазылу түрі:
WINDOW(X1, Y1, X2, Y2) ;
Процедура орындалу нәтижесінде экранға диагоналының сол жақ жоғары төбесінің координаттары X1, Y1 болатын, ал оң жақ төменгі төбесінің координаттары X2, Y2 болатын тік төртбұрыш шығарады, мысалы:
USES Crt;
VAR X:String;
Begin Textbackground(6) ;
WINDOW(5, 8, 25, 21) ; Clrscr; Readln(X) ; END.
WINDOW процедурасы орындалысымен орнатылған терезе тазаланып, ол бүкіл экран секілді қарастырылып, курсор терезенің сол жақ жоғарғы позициясына барып орналасады. Әрі қарай енгізілген символдар оңға қарай шығарылады. Терезенің оң жақ шекарасына жеткеннен кейін курсор келесі қатарға өтеді. Ал курсор соңғы қатардың оң жақ шекарасына жеткенде текст мазмұны жоғарыға қарай бір орынға жылжиды да, курсор сол қатардың басына барып орналасады (текст айналып тұрады) . Кей жағдайларда бұл процедураның параметрлерінің мәндері ретінде төмендегі стандартты функцияларды қолдануға болады:
X:=Lo(WindMin) +1;
Х терезенің сол жақ ең жоғарғы нүктесінде мәнін меншіктейді.
Y:=Hi(WindMin) +1;
Y терезенің сол жақ ең жоғарғы нүктесіндегі мәнін меншіктейді.
X:=Lo(WindMax) +1;
Х терезенің оң жақ ең төменгі нүктесіндегі мәнін меншіктейді.
Y:=Hi(WindMax) +1;
Y терезенің оң жақ ең төменгі нүктесіндегі мәнін меншіктейді.
Мысалы төмендегі процедураның орындалу нәтижесінде екінші шығатын терезе параметрлері X1=15, Y1=2, X2=30, Y2=12 мәндерін қабылдайды.
USES Crt;
VAR X:String;
Begin Clrscr; Textbackground(2) ;
WINDOW(15, 2, 60, 24) ;
Clrscr; Textbackground(5) ;
Window(Lo(WindMin) +1, Hi(WindMin) +1, (Lo(WindMax) +1) Div2, (Hi(WindMax) +1) Div2) ;
Clrscr;
Readln(X) ; END.
2. 3. CRT модулінің құрамына дыбыс шығару процедуралары
CRT модулінің құрамына дыбыс шығару үшін қолданылатын келесі процедуралар кіреді:
Белгілі бір жиілікпен дыбыс шығару үшін SOUND процедурасы қолданылады, жазылуы:
SOUND(X) ;
мұндағы: Х - жиілікті анықтайтын бүтін шама.
Нота дыбыстарының жиіліктері
Октавалар: Үлкен Кіші Бірінші Екінші
До 131 262 523 1047
Ре 147 294 587 1174
Ми 165 330 659 1318
Фа 175 349 698 1396
Соль 196 392 785 1568
Ля 220 440 880 1760
Си 247 494 988 1975
Орнатылған дыбысты өшіру үшін параметрсіз NOSOUND процедурасы қолданылады, жазылуы:
NOSOUND;
Дыбыстық сигналды белгілі бір уақыт бойы ұстап тұру үшін программа орындалуы уақытша тежейтін DELAY процедурасы қолданылады, жазылуы:
DELAY(T) ;
мұндағы: Т - программаның орындалуы тежеу уақыты (милисекунд)
Жоғарыда берілген үш процедураның көмегімен текстік режимде әртүрлі дыбыстық эффектілер жасауға болады (сиреналар, құстар әні, музыкалық шығармалар, т. б. ), мысалы төмендегі программаның фрагментінің орындалу нәтижесінде кез-келген клавишаны басқанша кезек-кезек жеті нотаның дыбысы шығып тұрады:
PROGRAM Text3;
USES Crt;
CONST A:Array[1. . 7] Of Integer=(523, 587, 659, 785, 880, 988) ;
VAR K:Byte;
Begin Repeat
For K:=1 To 7 Do Begin
Sound(A[K] ) ; Delay(800) ;
Nosound; Delay(300) End;
Until Keypressed;
END.
Сондай-ақ DELAY процедурасы циклдік операторлардың көмегімен текстік объектілерді жылжытуда қолданылады. Ол үшін алдымен текстік объект циклдің бастапқы координаттарымен DELAY процедурасының көмегімен кішкене уақыт экранда көрініп тұрады да CLRSCR процедурасымен өшіріледі. Циклдің келесі мәнінде жаңа координаттарымен ол тағы да жаңа орыннан кішкене уақыт көрініп тұрады да қайтадан өшіріледі, цикл аяқталғанша осындай процестер жүріп сырт көзге текстік объект жылжып бара жатқандай болып көрінеді.
2. 4. Текстік режимде программалау мысалдары
177. Экранның әртүрлі режимдерінде текст шығару.
PROGRAM Text1;
USES Crt;
BEGIN Clrscr; TextMode(Bw40) ;
Write(‘NN=’, LastMode) ;
Writeln(‘Rejim’) ; Readln;
TextMode(Co40) ;
Write(‘NN=’, LastMode) ;
Writeln(‘Rejim’) ; Readln;
TextMode(Bw80) ; Write(‘NN=’, LastMode) ;
Writeln(‘Rejim’) ; Readln;
TextMode(Co80) ; Write(‘NN=’, LastMode) ;
Writeln(‘Rejim’) ; Readln END.
178. Әртүрлі жарық режимдерінде текст шығару.
PROGRAM Text2;
USES Crt;
BEGIN Clrscr;
Writeln(‘Text’) ;
HighVideo; Writeln(‘Text’) ;
NormVideo; Writeln(‘Text’) ;
LowVideo; Writeln(‘Text’) ;
Readln END.
179. Тексті алдымен саты бойымен жазып шығарып, соңынан символдар алып тастап шығару.
PROGRAM Text3;
USES Crt;
VAR K, X:Byte;
BEGIN Clrscr; X:=1;
For K:=1 To 25 Do Begin
Gotoxy(X, K) ;
Write(‘TEXT’) ; Inc(X, 3) ; Delay(1000) ; End;
Readln; X:=6;
For K:=1 To 25 Do Begin
Gotoxy(X, K) ; ClrEol; Inc(X, 3) ; Delay(1000) ; End;
Readln END.
180. Экранның фоны мен тексті әртүрлі етіп шығару.
PROGRAM Text4;
USES Crt;
VAR K:Integer;
BEGIN For K:=0 To 7 Do
Begin Textbackground(K) ; Clrscr;
Textcolor(K+1) ;
Gotoxy((Lo(WindMax) +1) Div2, (Hi(WindMax) +1) Div2) ;
Writeln(‘Text’) ;
Delay(3) End;
Readln END.
181. Бір-бірінің ішінде орналасқан әртүрлі түсті 5 төртбұрыш шығару.
PROGRAM Text5;
USES Crt;
VAR K, X, Y:Integer;
BEGIN X:=0; Y:=0;
For K:=1 To 5 Do Begin
Textbaclground(K) ;
Window(K+X, K+Y, Lo(WindMax) +1-X, Hi(WindMax) +1-Y) ;
Clrscr; Inc(X, 3) ; Inc(Y, 1) ;
Delay(3) End;
Readln END.
182. Төртбұрыштың ішіне текст жазып, дыбыспен жылжыту.
PROGRAM Text6;
USES Crt;
VAR K, X, Y:Integer;
BEGIN Textbackground(2) ; Clrscr;
X:=5; Y:=10;
Delay(1000) ; (*Үзіліс жасау*)
For K:=1 To 30 Do Begin
X:=X+2; Textbackground(9) ;
Window(X, Y, X+18, Y+7) ; (*терезе шығару*)
Clrscr; Textcolor(9) ;
Writeln(‘NO PROBLEM’) ; (*жазу шығару*)
Sound(1000) ; (*дыбысты қосу*)
Delay(2000) ; (*дыбысты ұстап тұру*)
Nosound; (*дыбысты өшіру*)
Textbackground(2) ;
Clrscr; (*экранды өшіру*)
Delay(1) ; (*қозғалысты баяцлату*)
End; Readln;
Clrscr; END.
183. Тексті саты бойымен жазып шығарып жылжыту
PROGRAM Text7;
USES Crt;
VAR K, X, Y:Integer;
BEGIN Textbackground(2) ;
Clrscr; Delay(1000) ; (*Үзіліс жасау*)
For K:=1 To 10 Do Begin
Textcolor(K+2) ; (*1 жазу К+2=3-ші түспен шығады*)
Gotoxy(6*K, K*2) ; (*текстің шығатын позициясы*)
Writeln(‘Text’) ; (*жазу шығару*)
Delay(1500) ; End;
Readln; END.
184. Бинго ойыны программасын құру.
PROGRAM Text8;
USES Crt;
LABEL 1, 2;
VAR K, I:Integer;
X:Array[1. . 15] Of Integer;
BEGIN Clrscr; Textbackground(0) ;
Gotoxy(18, 3) ;
Writeln(‘Ойынды бастау үшін ENTER бас’) ;
Readln;
Randomize;
For K:=1 To 15 Do Begin
Textcolor(K) ; Gotoxy(15, K+5) ;
Write(K, ‘шардың нөмірі -’) ;
1:X[K] :=Random(90) +1; Delay(65000) ;
If K=1 Then Goto 2 Else
For I:=1 To K+1 Do If X[K] =X[I] Then Goto 1;
2:Writeln(X[K] ) ; End;
Gotoxy (20, 25) ;
Writeln(‘Ойынның соңы, келесі жексенбіге дейін’) ;
Repeat Until Keypressed; END.
185. Сөтке бойы өртке қарсы сигнал беретін қондырғының іске қосылуын программалау.
PROGRAM Text9;
USES Crt;
VAR T:Array[1. . 24*60] Of Integer; K:Integer;
PROCEDURE Signal;
Begin Writeln (‘Өрт қауіпі туды!!!’) ;
Repeat Sound(500) ; Delay(1000) ; Nosound;
Sound(700) ; Delay(1000) ; Nosound;
Delay(1000) Until Keypressed; End;
PROCEDURE Olshem;
Begin For K:=1 To 24*60 Do T[K] :=Random(100) +1;
For K:=1 To 24*60 Do If T[K] >70 Then Signal;
Readln END.
186. Жедел жәрдем машинасының сиренасының дыбысын шығару.
PROGRAM Text10;
USES Crt;
VAR K:Integer;
PROCEDURE Syrena;
Begin Repeat K:=500;
While K<=2000 Do Begin Sound(K) ; Delay(300) ; Nosound; K:=K+100
End;
While K>=500 Do Begin Sound(K) ; Delay(300) ; Nosound; K:=K-100
End;
Until Keypressed; End;
BEGIN Clrscr; Syrena; END.
187. Су тасқыны программасының алғашқы көрінісін шығару.
PROGRAM Text11;
USES Crt;
BEGIN 1:Textbackground(2) ; Clrscr; {сыртқы фон түсін орнату}
Textbackgorund(3) ; Window(5, 5, 76, 20) ; Clrscr; {ішкі терезе орнату}
Textcolor(5) ; {символдар түсін орнату}
Gotoxy(20, 3) ; Writeln(‘Жұмыс режимін таңда:’) ;
Gotoxy(20, 5) ; Writeln(‘1. Ендіру файлын жасау’) ;
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

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