Паскаль тіліндегі модульдер
Мазмұны
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .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
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .32
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .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
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .32
КІРІСПЕ
Бүгінде, дүние жүзінде болашақ программистердің көпшілігі тіл үйренуді Паскаль тілінен бастайды. Себебі, ол логикасы қарапайым, құрылымдық программалау принципіне негізделген, қиын есептердің программасын бөлшектеп құруға мүмкіндік жасайтын, меңгеруге жеңіл, программа құрушыға да, оны пайдаланушыға ыңғайлы тіл.
Паскаль тілін Швейцария ғалымы Никлаус Вирт 1971 жылы АЛГОЛ алгоритмдік тілінің негізінде жасап шығарды. Тілдің атауы алғашқы есептеу машинасын жасап шығарған француз математигі, әрі физигі Блез Паскалдің құрметіне қойылған. Оның соңғы нұсқалары икемді және жан-жақты қызмет атқара алатын жоғары деңгейдегі тілге айналды. Borland фирмасы Паскаль тілінің стандартын кеңейтіп Турбо Паскаль тілінің 6 версиясын өмірге әкелді. Оның соңғы Турбо Паскаль 7.0 версиясы – құрылымды программаларды жасақтауға жарамды әмбебап интегралдық ортасы бар, объект-бағдарлы және модулді программалау принциптерін пайдалана алатын, көптеген қуатты стандартты модулдері бар күрделі жүйе. Программалау процесінде MS DOS операциялық жүйесінің командаларын, компьютердің динамикалық жадын және рекурсивтік ішкі программаларды толық пайдалануға болатындығы, тілдің мүмкіндігінің зор екендігін дәлелдейді.
Турбо Паскаль 7.0 ортасы негізінде 1996 жылдары Borland фирмасы Delphi программалау жүйесін жасап шығарды. Жүйе пайдаланатын Object Pascal программалау тілінде Турбо Паскалдің негізгі қағидалары сақталған. Жаңа Class типін енгізу нәтижесінде ол өзгеше принциптер мен тәсілдермен толықтырылған. Delphi жүйесін пайдаланып, әртүрлі мақсатта қолдануға жарамды, бүгінгі талапқа сай, жоғары сапалы Windows жалғамаларын жасақтауға әбден болады. Турбо Паскаль ортасында программалауды жете меңгерген адам Delphi жүйесін де тез меңгереді.
Менің жұмысымның мақсаты стандартты модульдерді қарастырып жазу.
Бірінші бөлімде программалық модульдер туралы және оларды пайдалану принциптері сөз етіліп жазылды. Crt және Graph модульдерінің мүмкіндіктері арнайы сөз етіліп, көптеген программалау үлгілері берілген. Турбо Паскаль 7.0 интегралдық ортасында жұмыс жасауға қажетті анықтамалық ақпарат берілген. Паскаль графикасын пайдаланып әртүрлі есептерді шығаруға баса назар аударылған.
Паскаль тілінде кез-келген процедура (ішкі программа), шартты түрде, оператор деп есептелінеді. Күні бұрын сипатталған арнайы процедуралар стандартты модулдар (System, Dos, Crt, Printer, Graph, Overlay, Turbo3, Graph3) мен арнайы кітапханаларда жинақталады.
Модуль дегеніміз өз алдына компиляцияланатын, сипаттаудың әртүрлі компоненттерін (типтер, тұрақтылар, айнымалылар, процедуралар және функциялар) енгізу арқылы құрылатын жеке программалық бірлік. Модулдер қолданбалы программалар кітапханасын жасақтаудың және модулдік программалаудың қуатты тетігі болып табылады.
Бүгінде, дүние жүзінде болашақ программистердің көпшілігі тіл үйренуді Паскаль тілінен бастайды. Себебі, ол логикасы қарапайым, құрылымдық программалау принципіне негізделген, қиын есептердің программасын бөлшектеп құруға мүмкіндік жасайтын, меңгеруге жеңіл, программа құрушыға да, оны пайдаланушыға ыңғайлы тіл.
Паскаль тілін Швейцария ғалымы Никлаус Вирт 1971 жылы АЛГОЛ алгоритмдік тілінің негізінде жасап шығарды. Тілдің атауы алғашқы есептеу машинасын жасап шығарған француз математигі, әрі физигі Блез Паскалдің құрметіне қойылған. Оның соңғы нұсқалары икемді және жан-жақты қызмет атқара алатын жоғары деңгейдегі тілге айналды. Borland фирмасы Паскаль тілінің стандартын кеңейтіп Турбо Паскаль тілінің 6 версиясын өмірге әкелді. Оның соңғы Турбо Паскаль 7.0 версиясы – құрылымды программаларды жасақтауға жарамды әмбебап интегралдық ортасы бар, объект-бағдарлы және модулді программалау принциптерін пайдалана алатын, көптеген қуатты стандартты модулдері бар күрделі жүйе. Программалау процесінде MS DOS операциялық жүйесінің командаларын, компьютердің динамикалық жадын және рекурсивтік ішкі программаларды толық пайдалануға болатындығы, тілдің мүмкіндігінің зор екендігін дәлелдейді.
Турбо Паскаль 7.0 ортасы негізінде 1996 жылдары Borland фирмасы Delphi программалау жүйесін жасап шығарды. Жүйе пайдаланатын Object Pascal программалау тілінде Турбо Паскалдің негізгі қағидалары сақталған. Жаңа Class типін енгізу нәтижесінде ол өзгеше принциптер мен тәсілдермен толықтырылған. Delphi жүйесін пайдаланып, әртүрлі мақсатта қолдануға жарамды, бүгінгі талапқа сай, жоғары сапалы Windows жалғамаларын жасақтауға әбден болады. Турбо Паскаль ортасында программалауды жете меңгерген адам Delphi жүйесін де тез меңгереді.
Менің жұмысымның мақсаты стандартты модульдерді қарастырып жазу.
Бірінші бөлімде программалық модульдер туралы және оларды пайдалану принциптері сөз етіліп жазылды. Crt және Graph модульдерінің мүмкіндіктері арнайы сөз етіліп, көптеген программалау үлгілері берілген. Турбо Паскаль 7.0 интегралдық ортасында жұмыс жасауға қажетті анықтамалық ақпарат берілген. Паскаль графикасын пайдаланып әртүрлі есептерді шығаруға баса назар аударылған.
Паскаль тілінде кез-келген процедура (ішкі программа), шартты түрде, оператор деп есептелінеді. Күні бұрын сипатталған арнайы процедуралар стандартты модулдар (System, Dos, Crt, Printer, Graph, Overlay, Turbo3, Graph3) мен арнайы кітапханаларда жинақталады.
Модуль дегеніміз өз алдына компиляцияланатын, сипаттаудың әртүрлі компоненттерін (типтер, тұрақтылар, айнымалылар, процедуралар және функциялар) енгізу арқылы құрылатын жеке программалық бірлік. Модулдер қолданбалы программалар кітапханасын жасақтаудың және модулдік программалаудың қуатты тетігі болып табылады.
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР тізімі
1. Камардинов О. Информатика. Оқу құралы. Алматы: «Қарасай» баспасы, 2006.
2. Камардинов О. Есептеуіш техника және программалау. Алматы: РБК,1997.
3. Камардинов О. Информатика. Бірінші бөлім. Шымкент, 2000.
4. Камардинов О. Информатика. Екінші бөлім. Шымкент, 2000.
5. Камардинов О. Сараптаушы жүйелер, Пролог. Шымкент, 2003.
6. Есипов Е. Информатика. СПб., 2001.
7. Макарова и др. Информатика: Учебник. М., 2001.
8. Информатика 7. Ермеков Н. Стифутина Н.
9. Информатика. М.Қ. Байжұманов., Л.Қ. Жоспарбаев
1. Камардинов О. Информатика. Оқу құралы. Алматы: «Қарасай» баспасы, 2006.
2. Камардинов О. Есептеуіш техника және программалау. Алматы: РБК,1997.
3. Камардинов О. Информатика. Бірінші бөлім. Шымкент, 2000.
4. Камардинов О. Информатика. Екінші бөлім. Шымкент, 2000.
5. Камардинов О. Сараптаушы жүйелер, Пролог. Шымкент, 2003.
6. Есипов Е. Информатика. СПб., 2001.
7. Макарова и др. Информатика: Учебник. М., 2001.
8. Информатика 7. Ермеков Н. Стифутина Н.
9. Информатика. М.Қ. Байжұманов., Л.Қ. Жоспарбаев
Пән: Информатика, Программалау, Мәліметтер қоры
Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 32 бет
Таңдаулыға:
Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 32 бет
Таңдаулыға:
Мазмұны
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... ... .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. Модельдер кезінде дедуктивті және индуктивті
тәсілдер ... ... ... ... ... ... ..2 5
3.2. Құрылымды және модульді
программалау ... ... ... ... ... ... ... ... ... ... ... ... ..26
ҚОРЫТЫНДЫ ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... .30
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .32
КІРІСПЕ
Бүгінде, дүние жүзінде болашақ программистердің көпшілігі тіл
үйренуді Паскаль тілінен бастайды. Себебі, ол логикасы қарапайым,
құрылымдық программалау принципіне негізделген, қиын есептердің
программасын бөлшектеп құруға мүмкіндік жасайтын, меңгеруге жеңіл,
программа құрушыға да, оны пайдаланушыға ыңғайлы тіл.
Паскаль тілін Швейцария ғалымы Никлаус Вирт 1971 жылы АЛГОЛ
алгоритмдік тілінің негізінде жасап шығарды. Тілдің атауы алғашқы есептеу
машинасын жасап шығарған француз математигі, әрі физигі Блез Паскалдің
құрметіне қойылған. Оның соңғы нұсқалары икемді және жан-жақты қызмет
атқара алатын жоғары деңгейдегі тілге айналды. Borland фирмасы Паскаль
тілінің стандартын кеңейтіп Турбо Паскаль тілінің 6 версиясын өмірге
әкелді. Оның соңғы Турбо Паскаль 7.0 версиясы – құрылымды программаларды
жасақтауға жарамды әмбебап интегралдық ортасы бар, объект-бағдарлы және
модулді программалау принциптерін пайдалана алатын, көптеген қуатты
стандартты модулдері бар күрделі жүйе. Программалау процесінде MS DOS
операциялық жүйесінің командаларын, компьютердің динамикалық жадын және
рекурсивтік ішкі программаларды толық пайдалануға болатындығы, тілдің
мүмкіндігінің зор екендігін дәлелдейді.
Турбо Паскаль 7.0 ортасы негізінде 1996 жылдары Borland фирмасы
Delphi программалау жүйесін жасап шығарды. Жүйе пайдаланатын Object Pascal
программалау тілінде Турбо Паскалдің негізгі қағидалары сақталған. Жаңа
Class типін енгізу нәтижесінде ол өзгеше принциптер мен тәсілдермен
толықтырылған. Delphi жүйесін пайдаланып, әртүрлі мақсатта қолдануға
жарамды, бүгінгі талапқа сай, жоғары сапалы Windows жалғамаларын жасақтауға
әбден болады. Турбо Паскаль ортасында программалауды жете меңгерген адам
Delphi жүйесін де тез меңгереді.
Менің жұмысымның мақсаты стандартты модульдерді қарастырып жазу.
Бірінші бөлімде программалық модульдер туралы және оларды пайдалану
принциптері сөз етіліп жазылды. Crt және Graph модульдерінің мүмкіндіктері
арнайы сөз етіліп, көптеген программалау үлгілері берілген. Турбо Паскаль
7.0 интегралдық ортасында жұмыс жасауға қажетті анықтамалық ақпарат
берілген. Паскаль графикасын пайдаланып әртүрлі есептерді шығаруға баса
назар аударылған.
Паскаль тілінде кез-келген процедура (ішкі программа), шартты түрде,
оператор деп есептелінеді. Күні бұрын сипатталған арнайы процедуралар
стандартты модулдар (System, Dos, Crt, Printer, Graph, Overlay, Turbo3,
Graph3) мен арнайы кітапханаларда жинақталады.
Модуль дегеніміз өз алдына компиляцияланатын, сипаттаудың әртүрлі
компоненттерін (типтер, тұрақтылар, айнымалылар, процедуралар және
функциялар) енгізу арқылы құрылатын жеке программалық бірлік. Модулдер
қолданбалы программалар кітапханасын жасақтаудың және модулдік
программалаудың қуатты тетігі болып табылады.
І . ПАСКАЛЬ ТІЛІНДЕГІ МОДУЛЬДЕР
1.1. Модулдер туралы жалпы түсінік
Стандартты Паскалда программаны компиляцияланған бөліктерден құрастыру
мүмкіндігі жоқ болатын. Сол себепті күрделі программаларды жасақтау мүмкін
болмады. Турбо Паскалда бұл проблема модулдік принципті енгізу арқылы оң
шешімін тапты.
Модуль дегеніміз өз алдына компиляцияланатын, сипаттаудың әртүрлі
компоненттерін (типтер, тұрақтылар, айнымалылар, процедуралар және
функциялар) енгізу арқылы құрылатын жеке программалық бірлік. Модулдер
қолданбалы программалар кітапханасын жасақтаудың және модулдік
программалаудың қуатты тетігі болып табылады. Модулдің негізгі ерекшелігі
сол, Турбо Паскаль компиляторы оның программалық кодын компьютер жадының
64 Кбайттан тұратын жеке бөлігінде сақтайды. Модуль тақырыптан және үш
құрамды бөліктен құралуы тиіс:
Модуль тақырыбы UNIT қызметші сөзінен және модуль атынан тұрады.
Модуль аты оның коды сақталатын диск файлының атымен бірдей болуы тиіс.
Мысалы, модуль тақырыбы
UNIT Modul1;
болса, онда оның мәтіні Modul1.pas файлында сақталуы керек деген сөз.
Модуль аты оны негізгі программамен немесе басқа модулдермен
байланыстыру үшін өте қажет. Бұл байланыс
USES модул аттарының тізімі
анықтауы арқылы жүзеге асырылады. Мысалы:
USES CRT, Graph, Modul1;
USES анықтауын негізгі программаның анықтау бөлімінің басында, ал
модулдерде не INTERFACE, не IMPLEMENTATION қызметші сөздерінен кейін
жазуға болады (2 рет жазуға да рұқсат етіледі).
Анықтау (интерфейс) бөлімі INTERFACE қызметші сөзімен ашылады.
Онда осы модулдің негізгі программа мен басқа да модулдерден көрінетін
барлық жаһандық объектілері (типтері, тұрақтылары, айнымалылары мен ішкі
программалары) анықталады. Анықтау бөлімінде процедуралар мен функциялардың
тақырыптары ғана жазылады.
Орындау бөлімі IMPLEMENTATION қызметші сөзімен басталады.
Онда INTERFACE бөлімінде анықталған процедуралар мен функциялар
сипатталады. Қажет болған жағдайда дайындау бөлімінде пайдаланылатын
модулдің жергілікті объектілерін (типтерін, тұрақтыларын, айнымалылары мен
блоктарын) осы бөлімде анықтауға болады. Егер анықтау бөлімінде ішкі
программалардың тақырыптары толық сипатталған болса, онда орындау бөлімінде
олардың аттарын ғана жазуға рұқсат етіледі.
Дайындау бөлімі BEGIN қызметші сөзімен ашылады. Онда негізгі
программаның жұмысына дайындық үшін қажет операторлар енгізіледі. Олар
басқару негізгі программаға берілгенге дейін орындалады. Дайындау бөлімі
керек болмаған жағдайда BEGIN сөзін жазбау ұсынылады.
Ескерту: Модулдің анықтау (орындау) бөлімі бос болуы да мүмкін.
Модулдарды пайдалану үшін оларды компиляциялап алу керек. Компиляция
нәтижесі TRU-файлдарда сақталады. Мысалы, Modul1.pas модулін компиляция-
лағанда жаңа Modul1.tru файлы пайда болады. Негізгі программаны не модулді
компилациялау үшін Турбо Паскаль ортасының MAKE режимін пайдалану өте
ыңғайлы екенін ескерген жөн.
Үш өлшемді векторлық кеңістікте екі векторды қосу және алу, векторды
санға көбейту, вектор модулін табу және екі векторды скаляр көбейту
амалдарын орындайтын процедуралары мен функциялары бар Vector модулін
құрайық:
UNIT Vector;
INTERFACE
type
vect = record
x, y, z : real;
end;
Procedure SumV(a,b: vect; var c: vect);
Procedure SubV(a,b: vect; var c: vect);
Procedure MulV(k: real; a: vect; var c: vect);
Function ModV(a: vect): real;
Function ScMulV(a,b: vect): real;
INPLEMENTATION
Procedure SumV;
begin
c.x:=a.x+b.x; c.y:=a.y+b.y; c.z:=a.z+b.z;
end;
Procedure SubV;
begin
c.x:=a.x-b.x; c.y:=a.y-b.y; c.z:=a.z-b.z;
end;
Procedure MulV;
begin
c.x:=k*a.x; c.y:=k*a.y; c.z:=k*a.z;
end;
Function ModV;
begin
ModV:=sqrt(sqr(a.x)+sqr(a.y)+sqr(a. z));
end;
Function ScMulV;
begin
ScMulV:=a.x*b.x+a.y*b.y+a.z*b.z;
end;
END.
Мұнда SumV процедурасы екі векторды қосу, SubV - азайту, MulV –векторды
санға көбейту амалдарын орындаса, ModV функциясы вектордың модулін, ал
ScMulV - екі вектордың скаляр көбейтіндісін табады. Модулдің мәтінін
Vector.pas файлында сақтасақ, оны компиляциялау нәтижесінде Vector.tru
файлын аламыз. Осы модулді пайдалану арқылы оңай шешілетін белгілі есептің
программасын құрайық.
векторлары берілген. және векторларының
арасындағы бұрышты есептеңдер.
Program Prost_51;
uses Vector;
var a, b, c, d, m, n: vect;
ax, ay, az, bx, by, bz, ur, ug: real;
begin
Write('a векторының координаталарын енгіз: '); Readln(ax,ay,az);
Write('b векторының координаталарын енгіз: '); Readln(bx,by,bz);
MulV(3,a,c); MulV(4,b,d); SumV(c,d,m);
MulV(5,a,c); MulV(7,b,d); SubV(c,d,n);
ur:=argtan(sqrt(sqr(ModY(m)*ModY(n) )sqr(ScMulV(m,n)) - 1);
ug:=ur*180Pi;
Write('Бұрыш ',ug:6:2,' градусқа тең';
Readln;
end.
1.2. Пернетақтаны басқару функциялары
MS-DOS операциялық жүйесінде көпшілік пернелер (Shift,Ctrl,Alt,Caps
Lock, Num Lock, Scroll Lock басқа) арнайы символдар болып есептеледі. Осы
пернелердің кезкелгенін басқан сәтте оның кеңейтілген коды арнайы
пернетақта буферіне жазылып отырады. Буферде соңғы басылған 16 перненің
коды ғана сақталады және программа орындалу кезінде оны оқуға болады.
Кеңейтілген кодтар 2 байттан тұрады. Көптеген пернелердің кодтары 1-ші
байтқа (алфавитті-цифрлы түймелер), ал кейбіреуі 2-ші байтқа (1-ші байты 0)
жазылады. Кейбір жиі қолданылатын пернелердің кеңейтілген кодтарын
төмендегі кестеден көруге болады:
Код Перне Код Перне
1-ші байт 2-ші байт 1-ші байт 2-ші байт
8 - Backspace 0 59..68 F1..F10
9 - Tab 0 71 Home
13 - Enter 0 72 ↑
27 - Esc 0 73 PageUp
32 - Үзік 0 75 ←
42,43,45,47- * + - 0 77 →
44,46 - , . 0 79 End
48..57 - 0..9 0 80 ↓
60,62 - 0 81 PageDown
65..90 - A..Z 0 82 Insert
97..122 - a..z 0 83 Delete
KeyPressed функциясы Boolean типті - пернетақта буферінің бос не бос
емес-тігін білдіреді. Егер функция орындалғанға дейін бірде-бір түйме
басылмаса, онда мәні False, әйпесе мәні True болады. Ерекшелігі, фунция
программаның орындалуын кідірпейді.
ReadKey функциясы Char типті- мәні пернетақта буферінен оқылған символ.
Егер функция орындалғанға дейін бірде бір перне басылмаған болса, онда
программаның орындалуы кезкелген бір перне басылғанша кідіртіледі. ReadKey
функциясының жәрдемімен кезкелген перненің кодын оқуға болады. Символы
бірінші байтқа жазылған перненің кодын оқу үшін ReadKey функциясын 1 рет,
ал қалғандарына 2 рет қолдану керек.
Кезкелген перненің кеңейтілген кодын анықтауға мүмкіндік беретін
программа құрыңыз. Программаны аяқтау үшін "Үзік" пернесін (коды - #32)
басу қажет болсын.
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.
1.3. Экранға мәтін шығару процедуралары мен функциялары
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) - оң жақ
төменгі бұрышының экрандық координаталары. Процедура орындалғанда экрандық
координаталар соңғы терезеге қатысты өзгереді. Яғни, терезенің сол жақ
жоғарғы бұрышының координаталары (1,1), ал оң жақ төменгі бұрышының
координаталары (x2-x1, y2-y1) болады. CRT модулінде ең соңғы ашылған
терезенің (x1, y1) координаталары WindMin, ал (x2, y2) - WindMax жаһанды
айнымалыларында сақталады.
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 процедурасы берілген жиілікпен дыбыс шығаратын ДК
динамигін іске қосады. Процедура тақырыбы:
Procedure Sound (F: Word);
Мұнда F- герцпен берілген дыбыс жиілігі. Процедура программаның
орындалуын жалғастыра береді және динамиктің дыбыс шығаруы NoSound процеду-
расы орындалғанша тыйылмайды.
NoSound процедурасы динамиктің дыбыс шығаруын тияды.
Delay процедурасы программаның орындалуын берілген уақытқа
кідіртеді. Процедура тақырыбы:
Procedure Delay (T: Word);
Мұнда T - миллисекундпен берілген уақыт. Әртүрлі жиіліктегі
дыбыстарды белілі бір ұзақтықпен шығару үшін, әдетте, Sound - Delay -
NoSound схемаcы пайдаланылады. Мысал:
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,
185.5, 196.0, 207.7,
220.0, 233.1, 246.9);
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 анықтауын қолдану керек. Стандартты модулдерді қысқаша
сипаттап өтейік.
SYSTEM модулі. SYSTEM модулі Турбо Паскалдің негізгі кітапханасы болып
есептеледі. Оған ең негізгілер деп есептелінетін басқару, енгізушығару,
жолдарды өңдеу, арифметикалық қосалқы процессормен жұмыс және динамикалық
жадты пайдалану мүмкіндіктерін іске асыратын 43 процедура мен 50 функция
енгізілген. Кезкелген программада (модулде) стандартты SYSTEM модулі
автоматты түрде анықталады.
DOS модулі. DOS модулінде MS-DOS операциялық жүйесінің негізгі ішкі
программалары, файлдарды өңдеу процедуралары мен функциялары қамтылған.
Сонымен қатар, онда көптеген ... жалғасы
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... ... ... ... .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. Модельдер кезінде дедуктивті және индуктивті
тәсілдер ... ... ... ... ... ... ..2 5
3.2. Құрылымды және модульді
программалау ... ... ... ... ... ... ... ... ... ... ... ... ..26
ҚОРЫТЫНДЫ ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... ... .30
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .32
КІРІСПЕ
Бүгінде, дүние жүзінде болашақ программистердің көпшілігі тіл
үйренуді Паскаль тілінен бастайды. Себебі, ол логикасы қарапайым,
құрылымдық программалау принципіне негізделген, қиын есептердің
программасын бөлшектеп құруға мүмкіндік жасайтын, меңгеруге жеңіл,
программа құрушыға да, оны пайдаланушыға ыңғайлы тіл.
Паскаль тілін Швейцария ғалымы Никлаус Вирт 1971 жылы АЛГОЛ
алгоритмдік тілінің негізінде жасап шығарды. Тілдің атауы алғашқы есептеу
машинасын жасап шығарған француз математигі, әрі физигі Блез Паскалдің
құрметіне қойылған. Оның соңғы нұсқалары икемді және жан-жақты қызмет
атқара алатын жоғары деңгейдегі тілге айналды. Borland фирмасы Паскаль
тілінің стандартын кеңейтіп Турбо Паскаль тілінің 6 версиясын өмірге
әкелді. Оның соңғы Турбо Паскаль 7.0 версиясы – құрылымды программаларды
жасақтауға жарамды әмбебап интегралдық ортасы бар, объект-бағдарлы және
модулді программалау принциптерін пайдалана алатын, көптеген қуатты
стандартты модулдері бар күрделі жүйе. Программалау процесінде MS DOS
операциялық жүйесінің командаларын, компьютердің динамикалық жадын және
рекурсивтік ішкі программаларды толық пайдалануға болатындығы, тілдің
мүмкіндігінің зор екендігін дәлелдейді.
Турбо Паскаль 7.0 ортасы негізінде 1996 жылдары Borland фирмасы
Delphi программалау жүйесін жасап шығарды. Жүйе пайдаланатын Object Pascal
программалау тілінде Турбо Паскалдің негізгі қағидалары сақталған. Жаңа
Class типін енгізу нәтижесінде ол өзгеше принциптер мен тәсілдермен
толықтырылған. Delphi жүйесін пайдаланып, әртүрлі мақсатта қолдануға
жарамды, бүгінгі талапқа сай, жоғары сапалы Windows жалғамаларын жасақтауға
әбден болады. Турбо Паскаль ортасында программалауды жете меңгерген адам
Delphi жүйесін де тез меңгереді.
Менің жұмысымның мақсаты стандартты модульдерді қарастырып жазу.
Бірінші бөлімде программалық модульдер туралы және оларды пайдалану
принциптері сөз етіліп жазылды. Crt және Graph модульдерінің мүмкіндіктері
арнайы сөз етіліп, көптеген программалау үлгілері берілген. Турбо Паскаль
7.0 интегралдық ортасында жұмыс жасауға қажетті анықтамалық ақпарат
берілген. Паскаль графикасын пайдаланып әртүрлі есептерді шығаруға баса
назар аударылған.
Паскаль тілінде кез-келген процедура (ішкі программа), шартты түрде,
оператор деп есептелінеді. Күні бұрын сипатталған арнайы процедуралар
стандартты модулдар (System, Dos, Crt, Printer, Graph, Overlay, Turbo3,
Graph3) мен арнайы кітапханаларда жинақталады.
Модуль дегеніміз өз алдына компиляцияланатын, сипаттаудың әртүрлі
компоненттерін (типтер, тұрақтылар, айнымалылар, процедуралар және
функциялар) енгізу арқылы құрылатын жеке программалық бірлік. Модулдер
қолданбалы программалар кітапханасын жасақтаудың және модулдік
программалаудың қуатты тетігі болып табылады.
І . ПАСКАЛЬ ТІЛІНДЕГІ МОДУЛЬДЕР
1.1. Модулдер туралы жалпы түсінік
Стандартты Паскалда программаны компиляцияланған бөліктерден құрастыру
мүмкіндігі жоқ болатын. Сол себепті күрделі программаларды жасақтау мүмкін
болмады. Турбо Паскалда бұл проблема модулдік принципті енгізу арқылы оң
шешімін тапты.
Модуль дегеніміз өз алдына компиляцияланатын, сипаттаудың әртүрлі
компоненттерін (типтер, тұрақтылар, айнымалылар, процедуралар және
функциялар) енгізу арқылы құрылатын жеке программалық бірлік. Модулдер
қолданбалы программалар кітапханасын жасақтаудың және модулдік
программалаудың қуатты тетігі болып табылады. Модулдің негізгі ерекшелігі
сол, Турбо Паскаль компиляторы оның программалық кодын компьютер жадының
64 Кбайттан тұратын жеке бөлігінде сақтайды. Модуль тақырыптан және үш
құрамды бөліктен құралуы тиіс:
Модуль тақырыбы UNIT қызметші сөзінен және модуль атынан тұрады.
Модуль аты оның коды сақталатын диск файлының атымен бірдей болуы тиіс.
Мысалы, модуль тақырыбы
UNIT Modul1;
болса, онда оның мәтіні Modul1.pas файлында сақталуы керек деген сөз.
Модуль аты оны негізгі программамен немесе басқа модулдермен
байланыстыру үшін өте қажет. Бұл байланыс
USES модул аттарының тізімі
анықтауы арқылы жүзеге асырылады. Мысалы:
USES CRT, Graph, Modul1;
USES анықтауын негізгі программаның анықтау бөлімінің басында, ал
модулдерде не INTERFACE, не IMPLEMENTATION қызметші сөздерінен кейін
жазуға болады (2 рет жазуға да рұқсат етіледі).
Анықтау (интерфейс) бөлімі INTERFACE қызметші сөзімен ашылады.
Онда осы модулдің негізгі программа мен басқа да модулдерден көрінетін
барлық жаһандық объектілері (типтері, тұрақтылары, айнымалылары мен ішкі
программалары) анықталады. Анықтау бөлімінде процедуралар мен функциялардың
тақырыптары ғана жазылады.
Орындау бөлімі IMPLEMENTATION қызметші сөзімен басталады.
Онда INTERFACE бөлімінде анықталған процедуралар мен функциялар
сипатталады. Қажет болған жағдайда дайындау бөлімінде пайдаланылатын
модулдің жергілікті объектілерін (типтерін, тұрақтыларын, айнымалылары мен
блоктарын) осы бөлімде анықтауға болады. Егер анықтау бөлімінде ішкі
программалардың тақырыптары толық сипатталған болса, онда орындау бөлімінде
олардың аттарын ғана жазуға рұқсат етіледі.
Дайындау бөлімі BEGIN қызметші сөзімен ашылады. Онда негізгі
программаның жұмысына дайындық үшін қажет операторлар енгізіледі. Олар
басқару негізгі программаға берілгенге дейін орындалады. Дайындау бөлімі
керек болмаған жағдайда BEGIN сөзін жазбау ұсынылады.
Ескерту: Модулдің анықтау (орындау) бөлімі бос болуы да мүмкін.
Модулдарды пайдалану үшін оларды компиляциялап алу керек. Компиляция
нәтижесі TRU-файлдарда сақталады. Мысалы, Modul1.pas модулін компиляция-
лағанда жаңа Modul1.tru файлы пайда болады. Негізгі программаны не модулді
компилациялау үшін Турбо Паскаль ортасының MAKE режимін пайдалану өте
ыңғайлы екенін ескерген жөн.
Үш өлшемді векторлық кеңістікте екі векторды қосу және алу, векторды
санға көбейту, вектор модулін табу және екі векторды скаляр көбейту
амалдарын орындайтын процедуралары мен функциялары бар Vector модулін
құрайық:
UNIT Vector;
INTERFACE
type
vect = record
x, y, z : real;
end;
Procedure SumV(a,b: vect; var c: vect);
Procedure SubV(a,b: vect; var c: vect);
Procedure MulV(k: real; a: vect; var c: vect);
Function ModV(a: vect): real;
Function ScMulV(a,b: vect): real;
INPLEMENTATION
Procedure SumV;
begin
c.x:=a.x+b.x; c.y:=a.y+b.y; c.z:=a.z+b.z;
end;
Procedure SubV;
begin
c.x:=a.x-b.x; c.y:=a.y-b.y; c.z:=a.z-b.z;
end;
Procedure MulV;
begin
c.x:=k*a.x; c.y:=k*a.y; c.z:=k*a.z;
end;
Function ModV;
begin
ModV:=sqrt(sqr(a.x)+sqr(a.y)+sqr(a. z));
end;
Function ScMulV;
begin
ScMulV:=a.x*b.x+a.y*b.y+a.z*b.z;
end;
END.
Мұнда SumV процедурасы екі векторды қосу, SubV - азайту, MulV –векторды
санға көбейту амалдарын орындаса, ModV функциясы вектордың модулін, ал
ScMulV - екі вектордың скаляр көбейтіндісін табады. Модулдің мәтінін
Vector.pas файлында сақтасақ, оны компиляциялау нәтижесінде Vector.tru
файлын аламыз. Осы модулді пайдалану арқылы оңай шешілетін белгілі есептің
программасын құрайық.
векторлары берілген. және векторларының
арасындағы бұрышты есептеңдер.
Program Prost_51;
uses Vector;
var a, b, c, d, m, n: vect;
ax, ay, az, bx, by, bz, ur, ug: real;
begin
Write('a векторының координаталарын енгіз: '); Readln(ax,ay,az);
Write('b векторының координаталарын енгіз: '); Readln(bx,by,bz);
MulV(3,a,c); MulV(4,b,d); SumV(c,d,m);
MulV(5,a,c); MulV(7,b,d); SubV(c,d,n);
ur:=argtan(sqrt(sqr(ModY(m)*ModY(n) )sqr(ScMulV(m,n)) - 1);
ug:=ur*180Pi;
Write('Бұрыш ',ug:6:2,' градусқа тең';
Readln;
end.
1.2. Пернетақтаны басқару функциялары
MS-DOS операциялық жүйесінде көпшілік пернелер (Shift,Ctrl,Alt,Caps
Lock, Num Lock, Scroll Lock басқа) арнайы символдар болып есептеледі. Осы
пернелердің кезкелгенін басқан сәтте оның кеңейтілген коды арнайы
пернетақта буферіне жазылып отырады. Буферде соңғы басылған 16 перненің
коды ғана сақталады және программа орындалу кезінде оны оқуға болады.
Кеңейтілген кодтар 2 байттан тұрады. Көптеген пернелердің кодтары 1-ші
байтқа (алфавитті-цифрлы түймелер), ал кейбіреуі 2-ші байтқа (1-ші байты 0)
жазылады. Кейбір жиі қолданылатын пернелердің кеңейтілген кодтарын
төмендегі кестеден көруге болады:
Код Перне Код Перне
1-ші байт 2-ші байт 1-ші байт 2-ші байт
8 - Backspace 0 59..68 F1..F10
9 - Tab 0 71 Home
13 - Enter 0 72 ↑
27 - Esc 0 73 PageUp
32 - Үзік 0 75 ←
42,43,45,47- * + - 0 77 →
44,46 - , . 0 79 End
48..57 - 0..9 0 80 ↓
60,62 - 0 81 PageDown
65..90 - A..Z 0 82 Insert
97..122 - a..z 0 83 Delete
KeyPressed функциясы Boolean типті - пернетақта буферінің бос не бос
емес-тігін білдіреді. Егер функция орындалғанға дейін бірде-бір түйме
басылмаса, онда мәні False, әйпесе мәні True болады. Ерекшелігі, фунция
программаның орындалуын кідірпейді.
ReadKey функциясы Char типті- мәні пернетақта буферінен оқылған символ.
Егер функция орындалғанға дейін бірде бір перне басылмаған болса, онда
программаның орындалуы кезкелген бір перне басылғанша кідіртіледі. ReadKey
функциясының жәрдемімен кезкелген перненің кодын оқуға болады. Символы
бірінші байтқа жазылған перненің кодын оқу үшін ReadKey функциясын 1 рет,
ал қалғандарына 2 рет қолдану керек.
Кезкелген перненің кеңейтілген кодын анықтауға мүмкіндік беретін
программа құрыңыз. Программаны аяқтау үшін "Үзік" пернесін (коды - #32)
басу қажет болсын.
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.
1.3. Экранға мәтін шығару процедуралары мен функциялары
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) - оң жақ
төменгі бұрышының экрандық координаталары. Процедура орындалғанда экрандық
координаталар соңғы терезеге қатысты өзгереді. Яғни, терезенің сол жақ
жоғарғы бұрышының координаталары (1,1), ал оң жақ төменгі бұрышының
координаталары (x2-x1, y2-y1) болады. CRT модулінде ең соңғы ашылған
терезенің (x1, y1) координаталары WindMin, ал (x2, y2) - WindMax жаһанды
айнымалыларында сақталады.
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 процедурасы берілген жиілікпен дыбыс шығаратын ДК
динамигін іске қосады. Процедура тақырыбы:
Procedure Sound (F: Word);
Мұнда F- герцпен берілген дыбыс жиілігі. Процедура программаның
орындалуын жалғастыра береді және динамиктің дыбыс шығаруы NoSound процеду-
расы орындалғанша тыйылмайды.
NoSound процедурасы динамиктің дыбыс шығаруын тияды.
Delay процедурасы программаның орындалуын берілген уақытқа
кідіртеді. Процедура тақырыбы:
Procedure Delay (T: Word);
Мұнда T - миллисекундпен берілген уақыт. Әртүрлі жиіліктегі
дыбыстарды белілі бір ұзақтықпен шығару үшін, әдетте, Sound - Delay -
NoSound схемаcы пайдаланылады. Мысал:
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,
185.5, 196.0, 207.7,
220.0, 233.1, 246.9);
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 анықтауын қолдану керек. Стандартты модулдерді қысқаша
сипаттап өтейік.
SYSTEM модулі. SYSTEM модулі Турбо Паскалдің негізгі кітапханасы болып
есептеледі. Оған ең негізгілер деп есептелінетін басқару, енгізушығару,
жолдарды өңдеу, арифметикалық қосалқы процессормен жұмыс және динамикалық
жадты пайдалану мүмкіндіктерін іске асыратын 43 процедура мен 50 функция
енгізілген. Кезкелген программада (модулде) стандартты SYSTEM модулі
автоматты түрде анықталады.
DOS модулі. DOS модулінде MS-DOS операциялық жүйесінің негізгі ішкі
программалары, файлдарды өңдеу процедуралары мен функциялары қамтылған.
Сонымен қатар, онда көптеген ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz