Автор: Пользователь скрыл имя, 27 Октября 2011 в 16:02, курсовая работа
Бүгінде, дүние жүзінде болашақ программистердің көпшілігі тіл үйренуді Паскаль тілінен бастайды. Себебі, ол логикасы қарапайым, құрылымдық программалау принципіне негізделген, қиын есептердің программасын бөлшектеп құруға мүмкіндік жасайтын, меңгеруге жеңіл, программа құрушыға да, оны пайдаланушыға ыңғайлы тіл.
Кіріспе.....................................................................................................................3
І. ПАСКАЛЬ ТІЛІНДЕГІ МОДУЛЬДЕР
1.1. Модулдер туралы жалпы түсінік...................................................................5
1.2. Пернетақтаны басқару функциялары............................................................9
1.3. Экранға мәтін шығару процедуралары мен функциялары........................11
1.4. Дыбыс генераторын программалау............................................................16 ІІ. ПАСКАЛЬ ТІЛІНДЕ СТАНДАРТТЫ МОДУЛЬДЕРДІ ҚОЛДАНУ
2.1. Турбо Паскальдың стандарт модулдеріне шолу.........................................18
2.2 Стандартты модульдерді сұрыптау...............................................................19
2.3.Graph модулінің жалпы сыпаттамсы............................................................22
ІІІ . МОДУЛЬДЕР, МОДЕЛЬДЕР ҚҰРУ
3.1. Модельдер кезінде дедуктивті және индуктивті тәсілдер..........................25
3.2. Құрылымды және модульді программалау.................................................26
ҚОРЫТЫНДЫ.......................................................................................................30
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ..................................................
KeyPressed функциясы Boolean типті - пернетақта буферінің бос не бос емес-тігін білдіреді. Егер функция орындалғанға дейін бірде-бір түйме басылмаса, онда мәні False, әйпесе мәні True болады. Ерекшелігі, фунция программаның орындалуын кідірпейді.
ReadKey функциясы Char типті- мәні пернетақта буферінен оқылған символ. Егер функция орындалғанға дейін бірде бір перне басылмаған болса, онда программаның орындалуы кезкелген бір перне басылғанша кідіртіледі. ReadKey функциясының жәрдемімен кезкелген перненің кодын оқуға болады. Символы бірінші байтқа жазылған перненің кодын оқу үшін ReadKey функциясын 1 рет, ал қалғандарына 2 рет қолдану керек.
Кезкелген перненің
Program Prost_52;
uses CRT;
var ch : char;
begin
repeat
ch := ReadKey;
if ch = #0 then ch := ReadKey;
Writeln(ord(ch));
until ch = #32;
end.
1982
жылдан бастап IBM фирмасы CGA (Color Graphics Adapter)
түсті графикалық адаптерін пайдаланатын
дербес компьютерлерді шығара бастады.
Бұл адаптер монитор экранына 16 түспен
мәтіндік режимде 40х25 не 80х25 символ, ал
графикалық режимде 320х200 не 640х200 пиксел
(нүкте) шығаруға мүмкіндік берді. CGA-ның
мәтіндік мүмкіндіктері IBM фирмасының
кейінгі буын адаптерлерінде (EGA, MCGA, VGA,
SVGA) стандарт ретінде сақталған. CRT
модулі осы типті адаптерге қатысты мүмкіндіктерді
қарастырады.
TextMode процедурасы адаптердің жұмыс режимін анықтайды. Процедура тақырыбы:
Procedure
TextMode (TM: Word);
Мұнда TM - мәтіндік режимнің коды. CRT модулінде оның негізгі 4 тұрақты мәні бар:
const
BW40 = 0; { 40х25 ақ-қара режим }
Co40 = 1; { 40х25 түсті режим }
BW80 = 2; { 80х25 ақ-қара режим }
Co80 = 3; { 80х25 түсті режим }
TextMode процедурасымен қойылған соңғы режимнің коды LastMode жаһанды айнымалысында сақталады. Оны экранның бұрынғы қалпын қайтару үшін пайдаланады. TextMode процедурасы орындалғанда экран тазаланып, оның бұрынғы түсі жойылады және көрсеткіш экранның сол жақ жоғарғы бұрышына қойылады. Мәтіндік режимде экранда бейнеленетін әрбір символдың позициясы жатық (x) және тік (y) кординаталарымен анықталады. Экранның сол жақ жоғарғы бұрышының координаталары (1,1) болады да, x оңға қарай, y төмен қарай өседі:
TextColor процедурасы экранда бейнеленетін
символдың түсін анықтайды. Процедура
тақырыбы:
Procedure TextColor (Color: Byte);
TextBackground процедурасы экран (символ)
төсегінің түсін анықтайды. Процедура
тақырыбы:
Procedure
TextBackground (Color: Byte);
Мұнда Color - түс коды. CRT модулінде оның 17 тұрақты мәні бар:
const
Black | = 0 | {қара} |
Blue | = 1 | {көк} |
Green | = 2 | {жасыл} |
Cyan | = 3 | {көгілдір} |
Red | = 4 | {қызыл} |
Magenta | = 5 | {күлгін} |
Brown | = 6 | {қоңыр} |
LightGray | = 7 | {сұрғылт} |
DarkGray | = 8 | {сұр} |
LightBlue | = 9 | {ашық көк} |
LightGreen | = 10 | {ашық жасыл} |
LightCyan | = 11 | {ашық көгілдір} |
LightRed | = 12 | {алқызыл} |
LightMagenta | = 13 | {қызғылт} |
Yellow | = 14 | {сары} |
White | = 15 | {ақ} |
Blink | =128 | {жыпылықтау} |
ClrScr процедурасы экранды (терезені)
тазалайды және оны TextBackground процедурасы
анықтаған төсек түсімен толтырады. Көрсеткіш
экранның сол жақ жоғарғы бұрышына қойылады.
Мысал:
Экран төсегінің түсін өзгерте
отырып, түсті мәтін шығару.
Program Prost_53;
uses CRT;
var ch: char;
begin
TextBackground(1); ClrScr;
TextColor(14); Writeln('Алгоритм'); Ch:=ReadKey;
TextBackground(6); ClrScr;
TextColor(3); Writeln('Программа');
Ch:=ReadKey;
TextBackground(0); ClrScr;
end.
Window процедурасы мәтіндік терезені
(экранның тік төртбұрышты аймағын) анықтайды.
Мәтіндік терезеде экранның барлық қасиеттері
орындалады. Процедура орындалғанда терезе
тазаланып, төсек түсімен толтырылады,
ал көрсеткіш терезенің сол жақ жоғарғы
бұрышына қойылады. Процедура тақырыбы:
Procedure Window (x1, y1, x2, y2: Byte);
Мұнда (x1, y1) - терезенің сол жақ
жоғарғы, ал (x2, y2) - оң жақ төменгі
бұрышының экрандық
GotoXY процедурасы көрсеткішті экранның (терезенің) берілген позиция-сына қояды. Процедура тақырыбы:
Procedure
GotoXY (x, y: Byte);
Мұнда (x, y) - көрсеткіштің жаңа координаталары. Берілген координаталар экранның (терезенің) шекарасынан шығып кеткен жағдайда процедура орындалмайды.
WhereX және WhereY функциялары (типтері: Byte) көрсеткіштің ағымдық x және y координаталарын береді.
ClrEOL процедурасы экранның (терезенің) көрсеткіш тұрған позициясынан бастап жолдың оң жақ бөлігін тазалайды, бірақ көрсеткіштің орны өзгермейді.
DelLine процедурасы экранның (терезенің) көрсеткіш тұрған жолын тазалайды, төменгі жолдар (болса) бір позицияға жоғары көтеріледі.
InsLine процедурасы экранның (терезенің) көрсеткіш тұрған позициясына жаңа жол енгізеді, көрсеткіш тұрған жолдан бастап төменгі жолдардың барлығы бір позицияға төмен түседі.
LowVideo, NormVideo, HighVideo процедураларының көмегімен символдарды экранға сәйкес төменгі, қалыпты және жоғарғы жарықтылықпен шығаруға болады.
AssignCRT процедурасы f файлдық айнымалысын
экранмен (видеожадына тікелей қатысу
арқылы) байланыстырады. Процедура тақырыбы:
Procedure
AssignCRT (f: Text);
Экранда әуелі, ақ түспен "МАТЕМАТИКА" сөзі жазылған жасыл терезе, кейін сары түспен "ИНФОРМАТИКА" сөзі жазылған күлгін терезе шығару.
Program Prost_54;
uses CRT;
var
ch: char;
begin
TextBackground(2); TextColor(15);
Window(15, 5, 45, 13); ClrScr;
GotoXY(7, 5); Write('М А Т Е М А Т И К А');
Ch:=ReadKey;
TextBackground(5); TextColor(14);
Window(30, 11, 62, 19); ClrScr;
GotoXY(7, 5); Write('И Н Ф О Р М А Т И К А');
Ch:=ReadKey;
TextBackground(0); ClrScr;
end.
1.4.
Дыбыс генераторын программалау
Дербес компьютердің дыбыс шығару мүмкіндіктерін
программада пайдалану оның дыбыстық
жиіліктегі электромагниттік тербелістер
шығара алатын дыбыс генераторының
жұмысын басқаруға негізделген. CRT модулінде
дыбыстарды программалауға арналған 3
процедура бар.
Sound процедурасы берілген жиілікпен
дыбыс шығаратын ДК динамигін іске қосады.
Процедура тақырыбы:
Мұнда F- герцпен берілген дыбыс жиілігі.
Процедура программаның орындалуын жалғастыра
береді және динамиктің дыбыс шығаруы
NoSound процеду-расы орындалғанша тыйылмайды.
NoSound процедурасы динамиктің дыбыс шығаруын тияды.
Delay процедурасы программаның орындалуын
берілген уақытқа кідіртеді. Процедура
тақырыбы:
Procedure
Delay (T: Word);
Мұнда T - миллисекундпен берілген
уақыт. Әртүрлі жиіліктегі
4 октавадан тұратын музыкалық гамманы ілгері және кейін орындау.
Program Prost_55;
uses CRT;
const
F: array[1..12] of real = (130.8, 138.6, 146.8, 155.6, 164.8, 174.6,
temp=100;
var i, j: integer;
begin
for i:=0 to 3 do
for j:=1 to 12 do
begin
Sound(Round(F[j]*(1 shl i)));
Delay(temp);
NoSound;
end;
for i:=4 downto 1 do
for j:=12 downto 1 do
begin
Sound(Round(F[j]*(1 shl i)));
Delay(temp);
NoSound;
end;
end.
ІІ.
ПАСКАЛЬ ТІЛІНДЕ СТАНДАРТТЫ МОДУЛЬДЕР
2.1.
Турбо Паскалдың стандарт
Турбо Паскалда көптеген әртүрлі типтерді, тұрақтыларды, процедуралар мен функцияларды жинақтап сақтайтын 8 стандартты модулдер бар. Олар: SYSTEM, DOS, CRT, PRINTER, GRAPH, OVERLAY, TURBO3 және GRAPH3. Турбо Паскаль 7.0 пакетінде GRAPH, TURBO3 және GRAPH3 модулдері бөлек-бөлек TRU-файлдарда жазылған, ал қалғандары TURBO.TPL кітапханалық файлдың құрамына кіреді. Ескеретін бір жағдай, SYSTEM модулінен басқа модулдерді пайдаланғанда міндетті түрде USES анықтауын қолдану керек. Стандартты модулдерді қысқаша сипаттап өтейік.