Модульдік бағдарламалау - Модульдердің құрылымы
МАЗМҰНЫ
КІРІСПЕ3
НЕГІЗГІ БӨЛІМ4
1.1. Модульдік программалар4
1.2. Модуль құрылымы6
1.3. Интерфейстік бөлік. 7
1.4. Стандартты модульдер9
1.5. Модульдер компиляциясы13
1.6. Модуль трансляциясы13
2.1.Модульдер мен олардың қасиеттері16
2.2. Модульдердің байланысы17
3.1. Модульдерді тестілеу18
3.2. Автономды тестілеуден өткізу22
3.3 Тестілік мысалдар23
ҚОРЫТЫНДЫ25
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР26
КІРІСПЕ
Модуль немесе жалпы жағдайда, модульдік программалау ұғымы есептеу ісінің дамуының белгілі бір кезеңінде пайда болды және ең алдымен программалаудың ұлғаймалы көлемімен, олардың ішкі қиындықтарымен артуы мен жобалардың ұжымдық сипатымен түсіндіріледі. Қазіргі кездегі модуль ұғымы өз эволюциясында үлкен жол жүріп, программа текістік "бөлшектеу" немесе фрагменттер кітапханасын құру түсінігінен жеке түрде жобаланып, сақталатын және қатаң белгіленген интерфейісті тәуелсіз түрде құрастырылатын, тестіленетін программа бірліктеріне дейін жетті. Turbo Pascal жүйесінің 4 - версиасынан бастап оған модуль ұғымын ендіру оны қазіргі заманғы программалау технологиясы деңгейінде өндірістік және комерцияалық мақсаттағы ірі жобаларға жарайтын тілге айналуы жолындағы шешуі қадам болды.
Turbo Pascal модульдік құралдар, модульдік жобалау принципі базалық тілдердің тиісті мүмкіндіктеріне қарағанда айтарлықтай нашар.
Дегенмен, Турбо Паскаль әзірлеушілері классикалық Паскаль тілін қарастырайық оның тұтастығына, әсемдігіне және қарапайымдылығына нұқсан келтірмей жаңа тұжырымдаманы енгізу, сонымен қатар, біз мүмкіндіктерімізді айтарлықтай кеңейттік.
Осы курстық жұмыстың мақсаты құрылымдық-модульдік бағдарламаны қалыптастыру болып табылады. Ғылыми зерттеулер және бағдарламаларды әзірлеу. Осы мақсатқа жету үшін тақырыпқа сәйкес теориялық материалдарды толтыру. Негізінен, бұл модульді бағдарламалау және олардың әрекеттегі формалары., стандартты құрылымды сақтау қажет. Сондай-ақ модульдік құрылым, көмекші бағдарламалар, оларды құрастыру және синтаксистік схемалар оны қарсы алу керек.
Бұл жоба негізінен кіріспеден, екі бөлімнен және қорытындыдан тұрады., пайдаланылған көздерден. Курстық жұмыстың мақсатына кіріспе, тапсырмалар жалпы сипаттамаларда берілген. Және соңында олар қалай үйренген модульдік бағдарламаларды енгізу, орындау және іске асыру сізге не қажет туралы.
НЕГІЗГІ БӨЛІМ
0.1. Модульдік программалау
Құрылымдық бағдарламалау алгоритмдік мінездемесі бар математикалық есептерді шығаруда тиімді қолданылады. Программалау процесін жақсартатын және кең қолданылатын әдістердің бірі - құрылымдық программалау. Құрылымдық программалаудың 3 бөлігі (құраушысы) бар:
1. Модульдік программалау
2. Құрылымдық кодтау
3. Жоғарыдан төменге қарай жобалау
Модульдік программалау дегеніміз - программаны логикалық бөліктерге бөлу процесі. Программа бірнеше модульдерге бөлінеді және мына 2 мақсат орындалуы тиіс: 1) модулдің дұрыс болуы және оның контекстерден тәуелсіз болуы қажет; 2) модулдің ішкі жұмыстарын білмей тұра әр түрлі модулдерден программа құру мүмкіндігінің болуы қажет.
Мысал ретінде стандарт математикалық функциялардың есептелу программасын қарастыруға болады. Программист sin(x) функциясын программаның кез-келген жерінде қолдана алады және оған функцияның есептелуіне қай әдістің қолданып тұрғанын білудің қажеттілігі жоқ. Модуль өлшемі 60 жолдан аспауы керек және модульдер өзара тәуелсіз болуы керек. Байланысқан элементтерді бір модульге, байланыспаған элементтерді әр түрлі модульге жинау керек. Модульдерді қолдана отырып программа күрделілігін төмендетуге болады.
Pascal тілінде модуль процедуралар мен функциялардың көмегімен құрылады, Cи тілінде функциялардың көмегімен құрылады. Құрылымдық кодтау деп программада басқарушы конструкциялардың - шартты операторлардың, циклдің (параметрлі, цикл-әзір, цикл-дейін) қолданылуын айтады.
Шартсыз көшу операторы программада сирек қолданылуы керек немесе шартты оператордың, циклдің көмегімен өзгертілуі керек. Программаны жоғарыдан төмен қарай жобалаудың өз иерархиялық құрылымы бар және қысқа есеп қойылымынан басталады. Одан кейін есеп бірнеше ұсақ ішкі есептерге бөлінеді. Ішкі есептердің өзі де ішкі есептерге бөлінуі мүмкін. Әр қадамда ішкі есептің орындайтын негізгі функциялары анықталуы керек. Бөлу процесі әр ішкі есеп қарапайым болғанға дейін, яғни әр ішкі есепке бір модуль сәйкес келгенше созылады.
Модульдік бағдарламалау Бөліп билей принципі бойынша жұмыс істейді.
Модульдік бағдарламалау әдетте модульдері аталады тәуелсіз шағын блоктар, көптеген ретінде бағдарламасын ұйымдастыру көздейді, мінез-құлық және құрылымы әбден толық бағынысты жекелеген қағидалары болып табылады. синтаксистік бір көрінісі болған кезде ол бірлік тұжырымдамасын пайдалану бөлісуге тұр тілдік бірлік бағдарламасы және қашан ол рәсімдерді түрінде, сондай-ақ іске асыруға болады, бірнеше блоктарға үлкен бағдарламаның ұнтақтау бөлімшесі болып табылады функцияларын түрінде. модульдік бағдарламалау пайдалану жеңілдетуге мүмкіндік береді тестілеу бағдарламасын және қателіктер дер кезінде анықтауды. Ол қатаң белгіленген бағдарламалардың ұтқырлығын арттыруға мүмкіндік береді, басқа подзадач, аппараттық-тәуелді тапсырмаларды бөлуге болады. уақыт-сын модульдер айтарлықтай процесін жеңілдетеді және тиімділігін әлдеқайда жоғары етеді, ол бөлек өзгертуге болады. модульдері тиімді басқа бағдарламаларға арналған блоктар құрылыс ретінде пайдалануға болады, өйткені Сонымен қатар, модульдік бағдарламалау, түсіну әлдеқайда оңай.
бағдарламаларды жазу кезінде термині модулі өзі модульдік принципін енгізу байланысты бағдарламалау пайдаланылуы бастады. жетпісінші, модуль белгілі бір ережелерге сәйкес жазылған функциясы немесе рәсімін қандай, деп аталады. сол уақытта жалпы қабылданған талаптарға құрылған жоқ болғандықтан, модуль, оның мөлшері елу желілері дейін кез келген процесс деп аталады. модуль үшін Parnassus бірінші нақтыланды талаптар қалыптастырылды: бір модулін қалыптастыру мақсатында басқа мазмұны туралы аз білім үшін жеткілікті болуы тиіс. Ол Parnassus бағдарламалау жасырынып ақпарат ұғымы қалыптасады алғаш рет шықты. Оның анықтамасы модуль төменгі және иерархияның ең жоғарғы деңгейі ретінде кез келген бірыңғай тәртібі аталады мүмкін, бұл шын мәнінде бізге әкеледі. Қауіпсіз олар жаһандық айнымалылар драмалық әсері жатады және олардың мінез-құлық кешенді бағдарламаларына болжау қиын, өйткені ақпарат уақытта бар құрылымдардың пайдалану арқылы қол мүмкін емес жасыру. Ол осы айнымалы оқшауланған құрылымын құру қажет болды. Ол оның және атындағы модуль болды, және оған негізделген, және модульдік бағдарламалау дүниеге келген.
Бастапқыда ол құрылыс нақты подзадачи іске бөлшектер біріктіреді және жасырады ретінде күрделі бағдарламалық қамтамасыз жүйесін енгізу функциялар мен процедуралар бар тең модуль көмегімен жүзеге асыруға болады деп болжанған. Бірақ Turbo Pascal тілінде ол толығымен модульдік бағдарламалау қағидасы жүзеге асырылды жоқ. ол кез келген басқа модульдерден нысандарды импорттау мүмкіндік бермейді, өйткені бұл тілде толық ішкі модульдерін қолдамайды, импорт, жеткіліксіз икемді жүзеге асырылуда. дербес компьютерлер таратпау бар айтарлықтай теориялық дайындықтың орташа деңгейі төмендейді бағдарламалау адамдар, ауқымын кеңейтті, бұл шын мәнінде осы фактіні аралас әсері, қолдану модульдер әзірлеу функциялар мен процедуралардың кітапханалардың проблемасын құру құралы ретінде пайдаланылды, бұл шын мәнінде әкелді. Тек білікті бағдарламашылар операцияларды құрылымдау барлық нысандар үшін тілдік құрылымдардың толық қуатын пайдаланылады.
Егер сіз бағдарламашы тұрғысынан Паскаль бірлік қарасақ, олардың саны қосалқы міндеттерді, бір-біріне тәуелсіз бірқатар Мәселенің ыдырау арқылы айқындалуы тиіс. төтенше жағдайда, модуль қажет болған жағдайда ол, тек бір емдеу жасасу үшін пайдалануға болады, ол жүзеге асырылады жергілікті әрекетке, ол Кодекс жобасында жасалған өзгертулермен бағдарламасының басқа бөліктерінің ықпалынан толығымен тәуелсіз болды.
Модульдік бағдарламалау
- Модульдердің құрылымы.
- Модульдердің тақырыбы және модульдердің бір-бірімен байланысы.
- Модульдің интерфейстік, орындалатын және инициалданатын бөліктері.
- Модульдердің компиляциясы.
Модульдар программалардың құрылымдануының концепциясын дамытады. Ішкі программалар программаны құрылымдаудың құралы екені белгілі. Негізгі мақсат - программаның көп операторлардан емес, жеке өзалдына программа бөліктерінен (ішкі программалардан) тұруын көзденеді. Өсындай өзбетінше программа бөліктерін соңынан осы әрекетті орындау үшін программада бір немесе бірнеше рет қолдануға болады. Төменде осындай қырдың бірнеше артықшылықтары көрсетілген:
1. Программа жеңіл түсініледі, оны ары қарай дамыту оңай болады;
2. Мұнда программаны жал5ыз адам емес, ұжым болып құруға болады. Программисттер ұжымының әрбір мүшесі белгілі ішкі программалар жиынтығын құрастырады, соңынан олардан үлкен программа жиналады.
3. Егер программа орындайтын әрекет көп кездесетін болса, бұл ішкі программаны басқа да программаларда бірнеше рет қолдануға болады.
Дегенмен мұны қалай практикалық тұрғыдан жүзеге асыруға болады? Осыған байланысты Turbo Pascal программалау тілінде модуль ұғымы енгізілген.
Модуль - бұл Turbo Pascal-дың жеке өзалдына компиляцияланатын файлы, онда тұрақтыларды, айнымалыларды және типтерді, сол сияқты процедуралар мен функцияларды сипаттау бөлімдері болады. Модуль жасалып, компиляцияланғаннан кейін, оның ресурстарын кез-келген Turbo Pascal программасында тек осы модульдың атауын көрсету арқылы қолдануға болады.
Сонымен, модульдар құрылымдық программалаудың қуатты құралы бола отырып, сол сияқты жиі қолданылатын процедуралар мен функциялардың кітапханаларын жасаудың және сақтаудың қолайлы құралы болып табылады.
0.2. Модуль құрылымы
Turbo Pascal-да модуль - жеке компиляцияланатын бірлік болғандықтан кәдімгі программаның құрылымына ұқсас болады.
Модульді дұрыс компиляциялау үшін оның атауы модуль сақталатын дискідегі файлдың атауымен сәйкес келуі керек. Мысалы,
Unit Сomplex;
болса, онда оның мәтіні Сomplex.pas атауымен сақталуы қажет. Модуль атауы оның басқа программалар немесе модульдермен байланысы үшін қажет. Бұл байланыс арнайы сөйлеммен жүзеге асады:
Uses Модульдер тізімі;
Мысалы,
Uses CRT, Graph, Complex
Модульдың құрылымы схематикалық түрде төмендегідей бейнеленеді:
Unit модуль тақырыбы;
Interface
Интерфейстік бөлік
Implementation
Жүзеге асыру бөлігі
[Begin
Орнататын бөлік]
End.
Мұнда кездесетін резервтелген сөздер келесі мағынаны береді:
Unit - модуль; осы сөзден кейін модуль тақырыбы жазылады;
Interface - интерфейс; модульдің интерфейстік бөлікті бастайды.
Implementation - жүзеге асыру; жүзеге асыру бөлігін бастайды.
Begin және End сөздері кәдімгі программадағыдай мағынаға ие, дегенмен Begin сөзі модульда орнататын бөліктің басын білдіреді (модульда орнататын бөліктің (сәйкесінше Begin сөзінің де) болуы міндетті емес). Ал End сөзіне келетін болсақ, ол бұл жерде модульдың соңын білдіріп тұр.
Модульдің кез-келген көрсетілген бөліктері бос бола алады.
1.3. Интерфейстік бөлік.
Бұл бөлікте модульдің басқа программалар мен модульдерге қатынас жасайтын барлық ауқымды объектілері (типтер, тұрақтылар, айнымалылар, блоктар) жариялануы қажет. Процедуралар мен функцияларды жариялау кезінде интерфейстік бөлікте тек олардың тақырыптары ғана көрсетіледі, мысалы Vect модулінің мәтіні көрсетілген 1-суреттегі 2-ші интерфейстік бөлікте үш процедураның тақырыптары сипатталған, олар:
- procedure Summa(var f,d,e:vector) - векторлардың қосындысын есептейтін процедураның тақырыбы ;
- procedure proizvscal(var f,d:vector; var k:real) - векторлардың скалярлы көбейтіндісін есептейтін процедураның тақырыбы;
- procedure proizvvect(var f,d,e:vector) - векторлардың көбейтіндісін есептейтін процедураның тақырыбы;
Егер негізгі программада:
Uses Vect;
жолы жазылатын болса, онда ол программада vector типіне қатынас жасалынып, Summa, proizvscal, proizvvect процедураларын қолдануға болады.
Жүзеге асыру бөлігі. Бұл бөлік интерфейстік бөлікте жарияланған процедуралар мен функциялардың денелерінен тұрады. Мұнда модуль үшін жергілікті болып табылатын объектілер де (қосымша типтер, тұрақтылар, айнымалылар, процедуралар және т.б.) жариялана алады. Ал интерфейстік бөлікте тақырыптары көрсетілген процедуралар мен функциялар сол ретпен сипатталуы қажет. Мысалы 1-суреттегі 3-ші жүзеге асыру бөлігінде алдымен Summa процедурасы, екінші proizvscal процедурасы, соңынан proizvvect процедурасы сипатталған.
Орнататын бөлік. Ол өзін бастайтын Begin сөзімен бірге болмауы мүмкін немесе бос болуы мүмкін. Бұл бөліктекейбір программа фрагменттерінен тұратын орындалатын операторларды орналастырады. Бұл операторлар негізгі программаға басқаруды бермес бұрын орындалады да, әдетте оны жұмысқа дайындау мақсатына қолданылады. Мысалы, орнататын бөлікте қажетті файлдар ашылады, айнымалыларға мәндер беріледі және т.б.
1. 4. Стандартты модульдер.
Модуль құрылымы программа құрылымына ұқсас. Модульдің ішіндегі барлық сипаттамалар бір-бірімен байланысты. Мысалығы, Strings модулі нөлдік белгімен аяқталатын жолдарды өңдейтін ішкі программаларға қажетті сипаттамалардан тұрады. Сонымен қатар ішкі программалар сияқты, модульдер де стандартты және стандартты емес немесе қолданушының модулі, яғни, програмалаушылар өздері құрастыратын бола алады. Стандартты және стандартты емес модульдер құрылымы бірдей болғандықтан, олардың сипатталуы бірдей ережеде құрылған.
Модульдер программаға оның атын uses компилятор нұсқауында сипаттаудың көмегімен қосылады. Мысалы, былай сипатталғанда:
Uses Dos, Crt;
Аталған модульдердің құрамындағы барлық ішкі программалар, айнымалылар, типтер және тұрақтыларды программада қолдануға болады.
Ескерту. Модульдердің аттары оларды хабарлағанда үтірмен бөлінеді, ал соңғы модульден кейін үтірлі нүкте қойылады!
Турбо Паскальда қолдануға дайын процедуралар мен функциялар жинақталған стандартты модульдер бар. Олар:
SYSTEM - барлық программаларда автоматты түрде қолданыла беретін стандартты процедуралар мен функциялардан құрылған модуль.
MS DOS- операциялық жүйе мүмкіндіктерін қолдануға арналған процедуралар мен функциялар DOS модулін құрайды.
CRT- экранның клавиатураның және динамиктің жұмысын басқаруға пайдаланылатын процедуралар мен функциялардан тұратын модуль.
GRAPH- әр түрлі графикалық адаптерлерді қолдайтын компьютердің графикалық мүмкіндіктерін көрсететін көптеген программалардан тұратын модуль.
PRINTER- принтермен жұмысты жеңілдететін модуль.
OVERLAY- оверлей программалар құру кезінде қолданылатын модуль.
WINDOS- модулінің процедуралары DOS модулінің процедураларына ұқсас.
STRINGS- модулі Pchar - типті қатарлармен жұмыста пайдаланылады.
Бұл модульдердің программада қолданылуы:
Program программанаң аты;
Uses модуль аты
{Егер бірнеше модульдер қолданылатын болса}
Uses 1-модуль аты,2-модуль аты... N - модуль аты;
Turbo Pascal-дың құрамына дайын типтер, тұрақтылар, айнымалылар, процедуралар мен функциялар жиынтығы бар стандартты модульдар жиыны (барлығы 8) енеді. Олар: SYSTEM, DOS, CRT, PRINTER, GRAPH, OVERLAY, TURBO3 және GRAPH3. Оларды пайдаланушы программаларында шектеусіз қолдана беруге болады. Turbo Pascal-дың құрамына енетін стандартты модульдерден басқа мамандандырылған модульдерді Интернеттен табуға болады. Дайын модульдердің ресурстарын программада қолдану үшін қажетті модульді программаға қосу керек.
Стандартты модульдерге тоқталайық:
1. SYSTEM модулі Turbo Pascal-дың кез-келген программасына автоматты түрде қосылады, яғни оның ресурстарын ешқандай әрекетсіз бірден қолдануға болады. Мысалы Read, Readln, Write, Writeln процедуралады SYSTEM модулінен алынады. Көптеген арифметикалық есептеулерге, файлдармен жұмыс істеуге, динамикалық жадыны пайдалануға арналған және т.б. функциялар мен процедуралар сол сияқты SYSTEM модулінде қамтылған.
SYSTEM-модулінің процедуралары мен функциялары
SYSTEM модуліндегі Random(i) функциясы 0-ден i-ге дейінгі кездейсоқ санды анықтайды.
Математикалық (Abs,ArcTan,cos,sin,exp,ln,sqr,sqrt ,Frac,int,Pi), түрлендіруші (chr,ord,trunk,round,pred,succ,odd, т.б.) жолдық қатарларды өңдеуге арналған (Concat,Copy,Length,Pos,Delete,Inse rt,Str,Val) процедуралар мен функциялар да осы SYSTEM модулі құрамына кіреді.
Басқа модульдардың (SYSTEM модулінен басқа) құралдарын программада қолдану үшін бұл модульдарды программаға қосу қажет. Ол үшін қажетті модульдің атауын USES сөзінен кейін көрсету жеткілікті.
Мысалы:
Uses dos;
Begin
Writeln(DiskFree(3) div 1024, `Кбайт бос');
End.
USES - бұл қолданылады мағынасын беретін резервтелген сөз. Мысалдағы программа фрагментінде DOS модулінен белгілі дисктегі борс кеңістік көлемін беретін DiskFree функциясы қолданылған. (функция параметрінің 3-ке тең мәні С: дискісіне сәйкес келеді, ал көлем Кбайтпен көрсетілу үшін функция мәні 1024-ке бөлінген).
Осылайша басқа кез-келген модульдерді (ол стандартты немесе пайдаланушы жасаған болсын) программаға қосуға болады. Және де оларды модульдерге топтап қосуға болады.
Uses dos, crt, graph;
2. DOS модулі. Мұнда программадан MS DOS құралдарына қатынас жасауға және файлдарды басқаруға мүмкіндік беретін процедуралар мен функциялар жинақталған.
DOS модулінің процедуралары
Программа жұмысын басқару үшін процедуралары: Exit, Halt.
Exit- процедурасы программаның орындалу барысында блоктан тез шығуға мүмкіндік береді.
Halt- процедурасы программаның орындалуын тоқтатып, басқаруды операциялық жүйеге қайтарады.
Exec(a,b)- a-программаны b-қатардың мәні бойынша тауып, орындайды.
FindFirst- көрсетілген каталогтан атрибуты бойынша файлды іздеу.
FindNext - сол каталогтан дәл сондай атрибутпен келесі файлды іздеу.
3. CRT модулі. Бұл модульдің ішкі программалары экранның текстік режимін түстер мен терзелерді, символдардың жарқырау ашықтығын қолданумен басқаруға, сол сияқты пернетақтаның кеңейтілген кодтары мен дыбысты басқаруға мүмкіәндік береді.
Дербес компьютердің экраны әдетте (текстік режимде) 25 жолдық қатардан тұрады, ал әр қатарға 80 таңба сияды. Бірақ кейбір типтегі дисплейлер басқа да режимде болады. Түрлі түстің жалпы саны 16. Бірақ ақ-қара экранды компьютерлер де бар. Экран жұмысын басқару үшін бізге қандай мүмкіндіктер қажет? Керекті таңбаны J-қатардың I-позициясына шығаруға болады. Түсін өзгерту толық экранды игере алу деген сөз. Аталған мүмкіндіктердің барлығы CRT модулінде қарастырылған.
GoToXY(I,J)- процедурасы курсорды экран бетінде J-қатардың I-бағанына жылжытады.
TextColor(Color)- текстің түсін орнатады.
TextBackground(Color)- экран бетінің түсін (фон) орнатады.
ClrScr процедурасы экрандағы жазуларды фон түсімен бояп, тазартып курсорды жоғарғы сол жақтағы бұрышқа апарады.
Window(x1,y1,x2,y2)- экран бетінде тік төртбұрышты терезе сызады. Мұндағы (x1,y1) және (x2,y2) нүктелері тік төртбұрыштың диагоналының сол жақ жоғарғы және оң жақ төменгі төбелері.
Window процедурасы іске қосылған болса, онда барлық процедура тек таңдалған терезеде ғана жүреді. Курсор әрі қарай өтпейді.
4. PRINTER модулі. Бұл модульде LPT1 жүйелік құрылғысымен байланыстырылған, TEXT типті LST файлдық айнымалысы жарияланады.
Var
Lst:text;
Begin
Assign(lst, `LPT1');
Осыдан кейін программада баспаға шығаруды көрсету қажет болса, lst айнымалысын Write процедурасының бірінші параметрі ретінде көрсету жеткілікті (ол үшін текстік файлды жариялап, бекітіп, ашып, жабудың қажеті жоқ).
Write(lst, `LPT1');
Әрине, LST файлдық айнымалысын программада қолдану үшін осы программаға PRINTER модулін қосуды ұмытпау қажет.
5. GRAPH модулі. Экранның графикалық режимін басқаруға арналған көптеген ішкі программалардан, сол сияқты тұрақтылар, типтер мен айнымалылыардан тұрады. Модульдің ресурстары экранның кез-келген писеліне қатынас жасап, оның жарықтануын басқаруға мүмкіндік береді.
GRAPH модулін графикалық драйверсіз (біреуін немесе бірнешесін, бұлар - .BGI кеңейтілуі бар файлдар) іске қосу мүмкін емес. Көрсетілген файлдар модуль құрамына енбейді, бірақ Turbo Pascal 7.0 - мен бірге әкелінеді (олар BGI каталогында орналасады). Ал егер программада векторлық қаріптер (шрифттер) қолданылса, драйверлерге қосымша ретінде қаріп файлдары қажет болады (.CHR кеңейтілуі бар файлдар).
6. OVERLAY модулі. Үлкен программаларды дайындау кезінде оларды жүктеу үшін компьютер жадысының жетіспейтін жағдайлары кездеседі. Turbo Pascal программаны жеке сегменттерге (оверлейлік сегменттер) бөлу арқылы тұғырықтан шығуды ұсынады. Осы кезде әр мезетте жадыға ағымдағы әрекетті орындауға қажетті программа бөлігі жүктеледі. Программаны оверлейлерге бөлу құралдары OVERLAY модулінде қамтылған.
7. TURBO3 және GRAPH3 модульдері. Бұл модульдер Turbo Pascal 3.0 версиясымен үйлесімділікті қолдау үшін жасалған. Turbo Pascal-дың бұл ескі версиясы қолданылмайтындықтан бұл модульдердің қазіргі кезде маңызы жоқ.
GRAPH, TURBO3 және GRAPH3 модульдарынан басқасы TURBO.TPL кітапханалық файлында орналасады. Ал бұл аталған үш модульге өз атауларына сәйкес және .TPU кеңейтілуі бар жеке файлдар қарастырылған.
8. Модуль трансляциясы
Модуль трансляциясының нәтижесі ретінде сол атымен берілген және кеңейтілуі-ТРU файлды алуға болады, яғни ұзақ қолдану кезінде дискіде сақтауға болады.
Модуль-файлының кеңейтілуі ТРU ету тәсілі:
- компиляциялау (Соmpile) мәзірін ашу; (Compile менюі жүйесі үш бөлімнен тұрады. Бірінші бөлімде компиляция әр-түрлі режимде жүзеге асырылады. Екінші бөлімде компиляциялауға дайындау командалары орналасқан. Үшінші бөлімдегі команда компиляциялау қорытындысының ақпараттарын бейнелейді.)
- опциялар тізімінен жадта адрестеу (Destination Memory) көрінсе, оны дискіде адрестеу (Destination Disk) етіп өзгерту (қатарды таңдау);
- модуль-программаны компиляциялау.
- Дәл осы тәсілмен программа файлын өңдесек, кеңейтілуі - ЕХЕ, яғни орындалуға дайын программаны аламыз.
DelLine- процедурасы курсор тұрған қатарды алып тастайды.
HighVideo- процедурасы терілуші таңба анықтығын арттырады.
LowVideo- терілген таңбалардың анықтығын төмендетеді.
InsLine - процедурасы курсор орналасқан жерге бос қатар қояды.
ReadKey- клавиатурадан басылған ... жалғасы
КІРІСПЕ3
НЕГІЗГІ БӨЛІМ4
1.1. Модульдік программалар4
1.2. Модуль құрылымы6
1.3. Интерфейстік бөлік. 7
1.4. Стандартты модульдер9
1.5. Модульдер компиляциясы13
1.6. Модуль трансляциясы13
2.1.Модульдер мен олардың қасиеттері16
2.2. Модульдердің байланысы17
3.1. Модульдерді тестілеу18
3.2. Автономды тестілеуден өткізу22
3.3 Тестілік мысалдар23
ҚОРЫТЫНДЫ25
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР26
КІРІСПЕ
Модуль немесе жалпы жағдайда, модульдік программалау ұғымы есептеу ісінің дамуының белгілі бір кезеңінде пайда болды және ең алдымен программалаудың ұлғаймалы көлемімен, олардың ішкі қиындықтарымен артуы мен жобалардың ұжымдық сипатымен түсіндіріледі. Қазіргі кездегі модуль ұғымы өз эволюциясында үлкен жол жүріп, программа текістік "бөлшектеу" немесе фрагменттер кітапханасын құру түсінігінен жеке түрде жобаланып, сақталатын және қатаң белгіленген интерфейісті тәуелсіз түрде құрастырылатын, тестіленетін программа бірліктеріне дейін жетті. Turbo Pascal жүйесінің 4 - версиасынан бастап оған модуль ұғымын ендіру оны қазіргі заманғы программалау технологиясы деңгейінде өндірістік және комерцияалық мақсаттағы ірі жобаларға жарайтын тілге айналуы жолындағы шешуі қадам болды.
Turbo Pascal модульдік құралдар, модульдік жобалау принципі базалық тілдердің тиісті мүмкіндіктеріне қарағанда айтарлықтай нашар.
Дегенмен, Турбо Паскаль әзірлеушілері классикалық Паскаль тілін қарастырайық оның тұтастығына, әсемдігіне және қарапайымдылығына нұқсан келтірмей жаңа тұжырымдаманы енгізу, сонымен қатар, біз мүмкіндіктерімізді айтарлықтай кеңейттік.
Осы курстық жұмыстың мақсаты құрылымдық-модульдік бағдарламаны қалыптастыру болып табылады. Ғылыми зерттеулер және бағдарламаларды әзірлеу. Осы мақсатқа жету үшін тақырыпқа сәйкес теориялық материалдарды толтыру. Негізінен, бұл модульді бағдарламалау және олардың әрекеттегі формалары., стандартты құрылымды сақтау қажет. Сондай-ақ модульдік құрылым, көмекші бағдарламалар, оларды құрастыру және синтаксистік схемалар оны қарсы алу керек.
Бұл жоба негізінен кіріспеден, екі бөлімнен және қорытындыдан тұрады., пайдаланылған көздерден. Курстық жұмыстың мақсатына кіріспе, тапсырмалар жалпы сипаттамаларда берілген. Және соңында олар қалай үйренген модульдік бағдарламаларды енгізу, орындау және іске асыру сізге не қажет туралы.
НЕГІЗГІ БӨЛІМ
0.1. Модульдік программалау
Құрылымдық бағдарламалау алгоритмдік мінездемесі бар математикалық есептерді шығаруда тиімді қолданылады. Программалау процесін жақсартатын және кең қолданылатын әдістердің бірі - құрылымдық программалау. Құрылымдық программалаудың 3 бөлігі (құраушысы) бар:
1. Модульдік программалау
2. Құрылымдық кодтау
3. Жоғарыдан төменге қарай жобалау
Модульдік программалау дегеніміз - программаны логикалық бөліктерге бөлу процесі. Программа бірнеше модульдерге бөлінеді және мына 2 мақсат орындалуы тиіс: 1) модулдің дұрыс болуы және оның контекстерден тәуелсіз болуы қажет; 2) модулдің ішкі жұмыстарын білмей тұра әр түрлі модулдерден программа құру мүмкіндігінің болуы қажет.
Мысал ретінде стандарт математикалық функциялардың есептелу программасын қарастыруға болады. Программист sin(x) функциясын программаның кез-келген жерінде қолдана алады және оған функцияның есептелуіне қай әдістің қолданып тұрғанын білудің қажеттілігі жоқ. Модуль өлшемі 60 жолдан аспауы керек және модульдер өзара тәуелсіз болуы керек. Байланысқан элементтерді бір модульге, байланыспаған элементтерді әр түрлі модульге жинау керек. Модульдерді қолдана отырып программа күрделілігін төмендетуге болады.
Pascal тілінде модуль процедуралар мен функциялардың көмегімен құрылады, Cи тілінде функциялардың көмегімен құрылады. Құрылымдық кодтау деп программада басқарушы конструкциялардың - шартты операторлардың, циклдің (параметрлі, цикл-әзір, цикл-дейін) қолданылуын айтады.
Шартсыз көшу операторы программада сирек қолданылуы керек немесе шартты оператордың, циклдің көмегімен өзгертілуі керек. Программаны жоғарыдан төмен қарай жобалаудың өз иерархиялық құрылымы бар және қысқа есеп қойылымынан басталады. Одан кейін есеп бірнеше ұсақ ішкі есептерге бөлінеді. Ішкі есептердің өзі де ішкі есептерге бөлінуі мүмкін. Әр қадамда ішкі есептің орындайтын негізгі функциялары анықталуы керек. Бөлу процесі әр ішкі есеп қарапайым болғанға дейін, яғни әр ішкі есепке бір модуль сәйкес келгенше созылады.
Модульдік бағдарламалау Бөліп билей принципі бойынша жұмыс істейді.
Модульдік бағдарламалау әдетте модульдері аталады тәуелсіз шағын блоктар, көптеген ретінде бағдарламасын ұйымдастыру көздейді, мінез-құлық және құрылымы әбден толық бағынысты жекелеген қағидалары болып табылады. синтаксистік бір көрінісі болған кезде ол бірлік тұжырымдамасын пайдалану бөлісуге тұр тілдік бірлік бағдарламасы және қашан ол рәсімдерді түрінде, сондай-ақ іске асыруға болады, бірнеше блоктарға үлкен бағдарламаның ұнтақтау бөлімшесі болып табылады функцияларын түрінде. модульдік бағдарламалау пайдалану жеңілдетуге мүмкіндік береді тестілеу бағдарламасын және қателіктер дер кезінде анықтауды. Ол қатаң белгіленген бағдарламалардың ұтқырлығын арттыруға мүмкіндік береді, басқа подзадач, аппараттық-тәуелді тапсырмаларды бөлуге болады. уақыт-сын модульдер айтарлықтай процесін жеңілдетеді және тиімділігін әлдеқайда жоғары етеді, ол бөлек өзгертуге болады. модульдері тиімді басқа бағдарламаларға арналған блоктар құрылыс ретінде пайдалануға болады, өйткені Сонымен қатар, модульдік бағдарламалау, түсіну әлдеқайда оңай.
бағдарламаларды жазу кезінде термині модулі өзі модульдік принципін енгізу байланысты бағдарламалау пайдаланылуы бастады. жетпісінші, модуль белгілі бір ережелерге сәйкес жазылған функциясы немесе рәсімін қандай, деп аталады. сол уақытта жалпы қабылданған талаптарға құрылған жоқ болғандықтан, модуль, оның мөлшері елу желілері дейін кез келген процесс деп аталады. модуль үшін Parnassus бірінші нақтыланды талаптар қалыптастырылды: бір модулін қалыптастыру мақсатында басқа мазмұны туралы аз білім үшін жеткілікті болуы тиіс. Ол Parnassus бағдарламалау жасырынып ақпарат ұғымы қалыптасады алғаш рет шықты. Оның анықтамасы модуль төменгі және иерархияның ең жоғарғы деңгейі ретінде кез келген бірыңғай тәртібі аталады мүмкін, бұл шын мәнінде бізге әкеледі. Қауіпсіз олар жаһандық айнымалылар драмалық әсері жатады және олардың мінез-құлық кешенді бағдарламаларына болжау қиын, өйткені ақпарат уақытта бар құрылымдардың пайдалану арқылы қол мүмкін емес жасыру. Ол осы айнымалы оқшауланған құрылымын құру қажет болды. Ол оның және атындағы модуль болды, және оған негізделген, және модульдік бағдарламалау дүниеге келген.
Бастапқыда ол құрылыс нақты подзадачи іске бөлшектер біріктіреді және жасырады ретінде күрделі бағдарламалық қамтамасыз жүйесін енгізу функциялар мен процедуралар бар тең модуль көмегімен жүзеге асыруға болады деп болжанған. Бірақ Turbo Pascal тілінде ол толығымен модульдік бағдарламалау қағидасы жүзеге асырылды жоқ. ол кез келген басқа модульдерден нысандарды импорттау мүмкіндік бермейді, өйткені бұл тілде толық ішкі модульдерін қолдамайды, импорт, жеткіліксіз икемді жүзеге асырылуда. дербес компьютерлер таратпау бар айтарлықтай теориялық дайындықтың орташа деңгейі төмендейді бағдарламалау адамдар, ауқымын кеңейтті, бұл шын мәнінде осы фактіні аралас әсері, қолдану модульдер әзірлеу функциялар мен процедуралардың кітапханалардың проблемасын құру құралы ретінде пайдаланылды, бұл шын мәнінде әкелді. Тек білікті бағдарламашылар операцияларды құрылымдау барлық нысандар үшін тілдік құрылымдардың толық қуатын пайдаланылады.
Егер сіз бағдарламашы тұрғысынан Паскаль бірлік қарасақ, олардың саны қосалқы міндеттерді, бір-біріне тәуелсіз бірқатар Мәселенің ыдырау арқылы айқындалуы тиіс. төтенше жағдайда, модуль қажет болған жағдайда ол, тек бір емдеу жасасу үшін пайдалануға болады, ол жүзеге асырылады жергілікті әрекетке, ол Кодекс жобасында жасалған өзгертулермен бағдарламасының басқа бөліктерінің ықпалынан толығымен тәуелсіз болды.
Модульдік бағдарламалау
- Модульдердің құрылымы.
- Модульдердің тақырыбы және модульдердің бір-бірімен байланысы.
- Модульдің интерфейстік, орындалатын және инициалданатын бөліктері.
- Модульдердің компиляциясы.
Модульдар программалардың құрылымдануының концепциясын дамытады. Ішкі программалар программаны құрылымдаудың құралы екені белгілі. Негізгі мақсат - программаның көп операторлардан емес, жеке өзалдына программа бөліктерінен (ішкі программалардан) тұруын көзденеді. Өсындай өзбетінше программа бөліктерін соңынан осы әрекетті орындау үшін программада бір немесе бірнеше рет қолдануға болады. Төменде осындай қырдың бірнеше артықшылықтары көрсетілген:
1. Программа жеңіл түсініледі, оны ары қарай дамыту оңай болады;
2. Мұнда программаны жал5ыз адам емес, ұжым болып құруға болады. Программисттер ұжымының әрбір мүшесі белгілі ішкі программалар жиынтығын құрастырады, соңынан олардан үлкен программа жиналады.
3. Егер программа орындайтын әрекет көп кездесетін болса, бұл ішкі программаны басқа да программаларда бірнеше рет қолдануға болады.
Дегенмен мұны қалай практикалық тұрғыдан жүзеге асыруға болады? Осыған байланысты Turbo Pascal программалау тілінде модуль ұғымы енгізілген.
Модуль - бұл Turbo Pascal-дың жеке өзалдына компиляцияланатын файлы, онда тұрақтыларды, айнымалыларды және типтерді, сол сияқты процедуралар мен функцияларды сипаттау бөлімдері болады. Модуль жасалып, компиляцияланғаннан кейін, оның ресурстарын кез-келген Turbo Pascal программасында тек осы модульдың атауын көрсету арқылы қолдануға болады.
Сонымен, модульдар құрылымдық программалаудың қуатты құралы бола отырып, сол сияқты жиі қолданылатын процедуралар мен функциялардың кітапханаларын жасаудың және сақтаудың қолайлы құралы болып табылады.
0.2. Модуль құрылымы
Turbo Pascal-да модуль - жеке компиляцияланатын бірлік болғандықтан кәдімгі программаның құрылымына ұқсас болады.
Модульді дұрыс компиляциялау үшін оның атауы модуль сақталатын дискідегі файлдың атауымен сәйкес келуі керек. Мысалы,
Unit Сomplex;
болса, онда оның мәтіні Сomplex.pas атауымен сақталуы қажет. Модуль атауы оның басқа программалар немесе модульдермен байланысы үшін қажет. Бұл байланыс арнайы сөйлеммен жүзеге асады:
Uses Модульдер тізімі;
Мысалы,
Uses CRT, Graph, Complex
Модульдың құрылымы схематикалық түрде төмендегідей бейнеленеді:
Unit модуль тақырыбы;
Interface
Интерфейстік бөлік
Implementation
Жүзеге асыру бөлігі
[Begin
Орнататын бөлік]
End.
Мұнда кездесетін резервтелген сөздер келесі мағынаны береді:
Unit - модуль; осы сөзден кейін модуль тақырыбы жазылады;
Interface - интерфейс; модульдің интерфейстік бөлікті бастайды.
Implementation - жүзеге асыру; жүзеге асыру бөлігін бастайды.
Begin және End сөздері кәдімгі программадағыдай мағынаға ие, дегенмен Begin сөзі модульда орнататын бөліктің басын білдіреді (модульда орнататын бөліктің (сәйкесінше Begin сөзінің де) болуы міндетті емес). Ал End сөзіне келетін болсақ, ол бұл жерде модульдың соңын білдіріп тұр.
Модульдің кез-келген көрсетілген бөліктері бос бола алады.
1.3. Интерфейстік бөлік.
Бұл бөлікте модульдің басқа программалар мен модульдерге қатынас жасайтын барлық ауқымды объектілері (типтер, тұрақтылар, айнымалылар, блоктар) жариялануы қажет. Процедуралар мен функцияларды жариялау кезінде интерфейстік бөлікте тек олардың тақырыптары ғана көрсетіледі, мысалы Vect модулінің мәтіні көрсетілген 1-суреттегі 2-ші интерфейстік бөлікте үш процедураның тақырыптары сипатталған, олар:
- procedure Summa(var f,d,e:vector) - векторлардың қосындысын есептейтін процедураның тақырыбы ;
- procedure proizvscal(var f,d:vector; var k:real) - векторлардың скалярлы көбейтіндісін есептейтін процедураның тақырыбы;
- procedure proizvvect(var f,d,e:vector) - векторлардың көбейтіндісін есептейтін процедураның тақырыбы;
Егер негізгі программада:
Uses Vect;
жолы жазылатын болса, онда ол программада vector типіне қатынас жасалынып, Summa, proizvscal, proizvvect процедураларын қолдануға болады.
Жүзеге асыру бөлігі. Бұл бөлік интерфейстік бөлікте жарияланған процедуралар мен функциялардың денелерінен тұрады. Мұнда модуль үшін жергілікті болып табылатын объектілер де (қосымша типтер, тұрақтылар, айнымалылар, процедуралар және т.б.) жариялана алады. Ал интерфейстік бөлікте тақырыптары көрсетілген процедуралар мен функциялар сол ретпен сипатталуы қажет. Мысалы 1-суреттегі 3-ші жүзеге асыру бөлігінде алдымен Summa процедурасы, екінші proizvscal процедурасы, соңынан proizvvect процедурасы сипатталған.
Орнататын бөлік. Ол өзін бастайтын Begin сөзімен бірге болмауы мүмкін немесе бос болуы мүмкін. Бұл бөліктекейбір программа фрагменттерінен тұратын орындалатын операторларды орналастырады. Бұл операторлар негізгі программаға басқаруды бермес бұрын орындалады да, әдетте оны жұмысқа дайындау мақсатына қолданылады. Мысалы, орнататын бөлікте қажетті файлдар ашылады, айнымалыларға мәндер беріледі және т.б.
1. 4. Стандартты модульдер.
Модуль құрылымы программа құрылымына ұқсас. Модульдің ішіндегі барлық сипаттамалар бір-бірімен байланысты. Мысалығы, Strings модулі нөлдік белгімен аяқталатын жолдарды өңдейтін ішкі программаларға қажетті сипаттамалардан тұрады. Сонымен қатар ішкі программалар сияқты, модульдер де стандартты және стандартты емес немесе қолданушының модулі, яғни, програмалаушылар өздері құрастыратын бола алады. Стандартты және стандартты емес модульдер құрылымы бірдей болғандықтан, олардың сипатталуы бірдей ережеде құрылған.
Модульдер программаға оның атын uses компилятор нұсқауында сипаттаудың көмегімен қосылады. Мысалы, былай сипатталғанда:
Uses Dos, Crt;
Аталған модульдердің құрамындағы барлық ішкі программалар, айнымалылар, типтер және тұрақтыларды программада қолдануға болады.
Ескерту. Модульдердің аттары оларды хабарлағанда үтірмен бөлінеді, ал соңғы модульден кейін үтірлі нүкте қойылады!
Турбо Паскальда қолдануға дайын процедуралар мен функциялар жинақталған стандартты модульдер бар. Олар:
SYSTEM - барлық программаларда автоматты түрде қолданыла беретін стандартты процедуралар мен функциялардан құрылған модуль.
MS DOS- операциялық жүйе мүмкіндіктерін қолдануға арналған процедуралар мен функциялар DOS модулін құрайды.
CRT- экранның клавиатураның және динамиктің жұмысын басқаруға пайдаланылатын процедуралар мен функциялардан тұратын модуль.
GRAPH- әр түрлі графикалық адаптерлерді қолдайтын компьютердің графикалық мүмкіндіктерін көрсететін көптеген программалардан тұратын модуль.
PRINTER- принтермен жұмысты жеңілдететін модуль.
OVERLAY- оверлей программалар құру кезінде қолданылатын модуль.
WINDOS- модулінің процедуралары DOS модулінің процедураларына ұқсас.
STRINGS- модулі Pchar - типті қатарлармен жұмыста пайдаланылады.
Бұл модульдердің программада қолданылуы:
Program программанаң аты;
Uses модуль аты
{Егер бірнеше модульдер қолданылатын болса}
Uses 1-модуль аты,2-модуль аты... N - модуль аты;
Turbo Pascal-дың құрамына дайын типтер, тұрақтылар, айнымалылар, процедуралар мен функциялар жиынтығы бар стандартты модульдар жиыны (барлығы 8) енеді. Олар: SYSTEM, DOS, CRT, PRINTER, GRAPH, OVERLAY, TURBO3 және GRAPH3. Оларды пайдаланушы программаларында шектеусіз қолдана беруге болады. Turbo Pascal-дың құрамына енетін стандартты модульдерден басқа мамандандырылған модульдерді Интернеттен табуға болады. Дайын модульдердің ресурстарын программада қолдану үшін қажетті модульді программаға қосу керек.
Стандартты модульдерге тоқталайық:
1. SYSTEM модулі Turbo Pascal-дың кез-келген программасына автоматты түрде қосылады, яғни оның ресурстарын ешқандай әрекетсіз бірден қолдануға болады. Мысалы Read, Readln, Write, Writeln процедуралады SYSTEM модулінен алынады. Көптеген арифметикалық есептеулерге, файлдармен жұмыс істеуге, динамикалық жадыны пайдалануға арналған және т.б. функциялар мен процедуралар сол сияқты SYSTEM модулінде қамтылған.
SYSTEM-модулінің процедуралары мен функциялары
SYSTEM модуліндегі Random(i) функциясы 0-ден i-ге дейінгі кездейсоқ санды анықтайды.
Математикалық (Abs,ArcTan,cos,sin,exp,ln,sqr,sqrt ,Frac,int,Pi), түрлендіруші (chr,ord,trunk,round,pred,succ,odd, т.б.) жолдық қатарларды өңдеуге арналған (Concat,Copy,Length,Pos,Delete,Inse rt,Str,Val) процедуралар мен функциялар да осы SYSTEM модулі құрамына кіреді.
Басқа модульдардың (SYSTEM модулінен басқа) құралдарын программада қолдану үшін бұл модульдарды программаға қосу қажет. Ол үшін қажетті модульдің атауын USES сөзінен кейін көрсету жеткілікті.
Мысалы:
Uses dos;
Begin
Writeln(DiskFree(3) div 1024, `Кбайт бос');
End.
USES - бұл қолданылады мағынасын беретін резервтелген сөз. Мысалдағы программа фрагментінде DOS модулінен белгілі дисктегі борс кеңістік көлемін беретін DiskFree функциясы қолданылған. (функция параметрінің 3-ке тең мәні С: дискісіне сәйкес келеді, ал көлем Кбайтпен көрсетілу үшін функция мәні 1024-ке бөлінген).
Осылайша басқа кез-келген модульдерді (ол стандартты немесе пайдаланушы жасаған болсын) программаға қосуға болады. Және де оларды модульдерге топтап қосуға болады.
Uses dos, crt, graph;
2. DOS модулі. Мұнда программадан MS DOS құралдарына қатынас жасауға және файлдарды басқаруға мүмкіндік беретін процедуралар мен функциялар жинақталған.
DOS модулінің процедуралары
Программа жұмысын басқару үшін процедуралары: Exit, Halt.
Exit- процедурасы программаның орындалу барысында блоктан тез шығуға мүмкіндік береді.
Halt- процедурасы программаның орындалуын тоқтатып, басқаруды операциялық жүйеге қайтарады.
Exec(a,b)- a-программаны b-қатардың мәні бойынша тауып, орындайды.
FindFirst- көрсетілген каталогтан атрибуты бойынша файлды іздеу.
FindNext - сол каталогтан дәл сондай атрибутпен келесі файлды іздеу.
3. CRT модулі. Бұл модульдің ішкі программалары экранның текстік режимін түстер мен терзелерді, символдардың жарқырау ашықтығын қолданумен басқаруға, сол сияқты пернетақтаның кеңейтілген кодтары мен дыбысты басқаруға мүмкіәндік береді.
Дербес компьютердің экраны әдетте (текстік режимде) 25 жолдық қатардан тұрады, ал әр қатарға 80 таңба сияды. Бірақ кейбір типтегі дисплейлер басқа да режимде болады. Түрлі түстің жалпы саны 16. Бірақ ақ-қара экранды компьютерлер де бар. Экран жұмысын басқару үшін бізге қандай мүмкіндіктер қажет? Керекті таңбаны J-қатардың I-позициясына шығаруға болады. Түсін өзгерту толық экранды игере алу деген сөз. Аталған мүмкіндіктердің барлығы CRT модулінде қарастырылған.
GoToXY(I,J)- процедурасы курсорды экран бетінде J-қатардың I-бағанына жылжытады.
TextColor(Color)- текстің түсін орнатады.
TextBackground(Color)- экран бетінің түсін (фон) орнатады.
ClrScr процедурасы экрандағы жазуларды фон түсімен бояп, тазартып курсорды жоғарғы сол жақтағы бұрышқа апарады.
Window(x1,y1,x2,y2)- экран бетінде тік төртбұрышты терезе сызады. Мұндағы (x1,y1) және (x2,y2) нүктелері тік төртбұрыштың диагоналының сол жақ жоғарғы және оң жақ төменгі төбелері.
Window процедурасы іске қосылған болса, онда барлық процедура тек таңдалған терезеде ғана жүреді. Курсор әрі қарай өтпейді.
4. PRINTER модулі. Бұл модульде LPT1 жүйелік құрылғысымен байланыстырылған, TEXT типті LST файлдық айнымалысы жарияланады.
Var
Lst:text;
Begin
Assign(lst, `LPT1');
Осыдан кейін программада баспаға шығаруды көрсету қажет болса, lst айнымалысын Write процедурасының бірінші параметрі ретінде көрсету жеткілікті (ол үшін текстік файлды жариялап, бекітіп, ашып, жабудың қажеті жоқ).
Write(lst, `LPT1');
Әрине, LST файлдық айнымалысын программада қолдану үшін осы программаға PRINTER модулін қосуды ұмытпау қажет.
5. GRAPH модулі. Экранның графикалық режимін басқаруға арналған көптеген ішкі программалардан, сол сияқты тұрақтылар, типтер мен айнымалылыардан тұрады. Модульдің ресурстары экранның кез-келген писеліне қатынас жасап, оның жарықтануын басқаруға мүмкіндік береді.
GRAPH модулін графикалық драйверсіз (біреуін немесе бірнешесін, бұлар - .BGI кеңейтілуі бар файлдар) іске қосу мүмкін емес. Көрсетілген файлдар модуль құрамына енбейді, бірақ Turbo Pascal 7.0 - мен бірге әкелінеді (олар BGI каталогында орналасады). Ал егер программада векторлық қаріптер (шрифттер) қолданылса, драйверлерге қосымша ретінде қаріп файлдары қажет болады (.CHR кеңейтілуі бар файлдар).
6. OVERLAY модулі. Үлкен программаларды дайындау кезінде оларды жүктеу үшін компьютер жадысының жетіспейтін жағдайлары кездеседі. Turbo Pascal программаны жеке сегменттерге (оверлейлік сегменттер) бөлу арқылы тұғырықтан шығуды ұсынады. Осы кезде әр мезетте жадыға ағымдағы әрекетті орындауға қажетті программа бөлігі жүктеледі. Программаны оверлейлерге бөлу құралдары OVERLAY модулінде қамтылған.
7. TURBO3 және GRAPH3 модульдері. Бұл модульдер Turbo Pascal 3.0 версиясымен үйлесімділікті қолдау үшін жасалған. Turbo Pascal-дың бұл ескі версиясы қолданылмайтындықтан бұл модульдердің қазіргі кезде маңызы жоқ.
GRAPH, TURBO3 және GRAPH3 модульдарынан басқасы TURBO.TPL кітапханалық файлында орналасады. Ал бұл аталған үш модульге өз атауларына сәйкес және .TPU кеңейтілуі бар жеке файлдар қарастырылған.
8. Модуль трансляциясы
Модуль трансляциясының нәтижесі ретінде сол атымен берілген және кеңейтілуі-ТРU файлды алуға болады, яғни ұзақ қолдану кезінде дискіде сақтауға болады.
Модуль-файлының кеңейтілуі ТРU ету тәсілі:
- компиляциялау (Соmpile) мәзірін ашу; (Compile менюі жүйесі үш бөлімнен тұрады. Бірінші бөлімде компиляция әр-түрлі режимде жүзеге асырылады. Екінші бөлімде компиляциялауға дайындау командалары орналасқан. Үшінші бөлімдегі команда компиляциялау қорытындысының ақпараттарын бейнелейді.)
- опциялар тізімінен жадта адрестеу (Destination Memory) көрінсе, оны дискіде адрестеу (Destination Disk) етіп өзгерту (қатарды таңдау);
- модуль-программаны компиляциялау.
- Дәл осы тәсілмен программа файлын өңдесек, кеңейтілуі - ЕХЕ, яғни орындалуға дайын программаны аламыз.
DelLine- процедурасы курсор тұрған қатарды алып тастайды.
HighVideo- процедурасы терілуші таңба анықтығын арттырады.
LowVideo- терілген таңбалардың анықтығын төмендетеді.
InsLine - процедурасы курсор орналасқан жерге бос қатар қояды.
ReadKey- клавиатурадан басылған ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz