Turbo Pascal-дағы жолдық қатарлар
Жоспары
І. Кіріспе
ІІ. Негізгі бөлім
2.1. Жолдық қатарлар
2.2. Жолдық процедуралар мен фукнциялар
2.3. Жолдық қатарларға программа құру
2.4. Жолдық қатарлар мен амалдар орындау
Қорытынды
Пайдаланылған әдебиеттер
Кіріспе
Текстік режимде жұмыс
Экранда символдардың шығуы мен түзілуі монитордың
Көптеген программаларда текстік мәліметтерді Read, Readln,
Текстік режим кодтық кестенің барлық символдарын
2.1. CRT модулінің процедуралары мен функциялары
Текстік режимді орнату үшін TEXTMODE процедурасы
TEXTMODE(X); // Х
WRITE(LASTMODE); // экранға режим
Текстік режим нөмірлері мәндері монитор мен
Экрандағы көріністі өшіріп тазалау үшін CLSSCR
Курсор тұрған жерден бастап қатардың аяғына
DELLINE процедурасы курсор тұрған қатардың барлығын
INSLINE процедурасы курсор тұрған жерге бір
Экранда курсорды керекті жерге апарып қою
GOTOXY(10,15);
// курсорды X=10, Y=15 позициясына апарып
Курсордың тұрған жерін анықтау үшін WHERE
Write(WHEREX, WHEREY);
// экранға курсор тұрған жердің координаттарының
Сондай-ақ текстік режимде клавиатураның жұмысын басқаратын
KEYPRESSED – егер клавиатураның кез-келген клавишы
USES Crt;
Begin Clrscr;
Repeat
Writeln (‘TEXT’);
Until Keypressed; END.
READKEY – егер клавиатурадан берілген символ
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),
2 – Жасыл(Green),
4 – Қызыл(Red),
6 – Қоңыр(Brown),
8 – Қарасұр (DarkGray),
10 – Ашық жасыл(LightGreen), 11
12 – Ашық қызыл(LightRed),
14 – Сары(Yellow)
128 – Символдарды жыпылықтату(Blink).
LOWVIDEO процедурасы экранға символдардың жарығын азайтып
LOWVIDEO;
Writeln(‘TEXT’);
// TEXT сөзі экранға ең төмегі
NORMVIDEO процедурасы символдардың қалыпты жағдайдағы жарық
NORMVIDEO;
Writeln(‘TEXT’);
// TEXT сөзі экранға қалыпты жағдайдағы
HIGHVIDEO процедурасы экранға символдардың жарығын көбейтіп
HIGHVIDEO;
Writeln(‘TEXT’);
// TEXT сөзі экранға ең жоғарғыжарық
Текстік режимде кей жағдайларда бүкіл экран
WINDOW(X1, Y1, X2, Y2);
Процедура орындалу нәтижесінде экранға диагоналының сол
USES Crt;
VAR X:String;
Begin Textbackground(6);
WINDOW(5, 8, 25, 21); Clrscr; Readln(X);
WINDOW процедурасы орындалысымен орнатылған терезе тазаланып,
X:=Lo(WindMin)+1;
Х терезенің сол жақ ең жоғарғы
Y:=Hi(WindMin)+1;
Y терезенің сол жақ ең жоғарғы
X:=Lo(WindMax)+1;
Х терезенің оң жақ ең төменгі
Y:=Hi(WindMax)+1;
Y терезенің оң жақ ең төменгі
Мысалы төмендегі процедураның орындалу нәтижесінде екінші
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(X);
мұндағы: Х – жиілікті анықтайтын бүтін
Нота дыбыстарының жиіліктері
Октавалар: Үлкен Кіші
До 131
Ре 147
Ми 165
Фа 175
Соль 196
Ля 220
Си 247
Орнатылған дыбысты өшіру үшін параметрсіз NOSOUND
NOSOUND;
Дыбыстық сигналды белгілі бір уақыт бойы
DELAY(T);
мұндағы: Т – программаның орындалуы тежеу
Жоғарыда берілген үш процедураның көмегімен текстік
PROGRAM Text3;
USES Crt;
CONST A:Array[1..7] Of Integer=(523, 587, 659,
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 процедурасы циклдік операторлардың көмегімен
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(30000) End;
Readln END.
181. Бір-бірінің ішінде орналасқан әртүрлі түсті
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(30000) 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(10000); (*қозғалысты баяцлату*)
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
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
For K:=1 To 24*60 Do If
Readln END.
186. Жедел жәрдем машинасының сиренасының дыбысын
PROGRAM Text10;
USES Crt;
VAR K:Integer;
PROCEDURE Syrena;
Begin Repeat K:=500;
While K=500 Do Begin Sound(K); Delay(300);
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. Ендіру файлын жасау’);
Gotoxy(20,6); Writeln(‘2. Ендіру файлын көру’);
Gotoxy(20,7); Wrietln(‘3. Шығару файлын жасау’);
Gotoxy(20,8); Writeln(‘4. Шығару файлын көру’);
Gotoxy(20,9); Writeln(‘5. Программадан шығу’);
Gotoxy(1,12);
Write(‘Керек режимнің цифрын жазып ENTER клавишын
Readln; END.
Қорытыңды
Сонымен қорыта келе біз экранда символдардың
Turbo Pascal-да текстік режимде жұмыс істеу
Текстік режимнің көмегімен DELAY процедурасы циклдік
Қорыта келе біз CRT модулінің процедуралары
Пайдаланылған әдебиеттер
В.В. Фаронов «Основы Турбо-Паскаля» - М.,
В.Ф. Шаньгин, Л.М. Поддубная «Программирование на
В.Г. Абрамов, Н.П. Трифонов «Введение в
В.С. Зубов «Программирование на языке Паскаль»,
С.А. Абрамов «Задачи по программированию», М.,
О.Н. Перминов «Программирование на языке Паскаль»,
Р. Форсайт «Паскаль для всех», М.,
Г. Светозарова «Практикум по программированию на
Клинт Хикс «Руководство пользователя», Ин.лит., 2000
В.В. Подбельский «Язык СИ++», С-П, Питер,
М. Уэйт, С. Прата, Д. Мартин
Н. Джехани «Программирование на языке СИ++»
В.К. Потоцский «Работаем на языке СИ»,
Б. Страуступ «Языки программирования», М. Изд.ин.лит.,
Л.М. Романовская, Т.В. Русс, С.Г. Свитковский
Никита Культин «Самоучитель. Программирование в Turbo
В.В. Фаронов «Турбо Паскаль 7.0. Практика
А.И. Марченко, Л.А. Марченко «Программирование в
Электронный учебник «СИ и Паскаль», Ким