Құрылымдық модульдік программалау


МАЗМҰНЫ

КІРІСПЕ . . . 3

1. ҚҰРЫЛЫМДЫҚ МОДУЛЬДІК ПРОГРАММАЛАУ . . . 4

  1. Модульдер . . . 4
  2. Модульдік программалау . . . 10
  3. Модульдік программа формасы . . . 11
  4. Стандартты структуралық программалау . . . 12
  5. Стандартты модульдер . . . 12
  6. Модульдің жалпы құрлымы . . . 13
  7. Модульдегі көмекші программалар . . . 15

2. МОДУЛЬДІ КОМПИЛЯЦИАЛАУ МЕН ОНЫҢ ҚОЛДАНЫЛУЫ . . 17

  1. Модульді компиляциалау: TPU - файлдар . . . 17

2. 2. Модульдерді іздеу. TURBO. TPL - файлы . . . 20

2. 3. Синтаксистік диаграммалар . . . 22

ҚОРЫТЫНДЫ . . . 24

ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР . . . 25

Кіріспе

Модуль немесе жалпы жағдайда, модульдік программалау ұғымы есептеу ісінің дамуының белгілі бір кезеңінде пайда болды және ең алдымен программалаудың ұлғаймалы көлемімен, олардың ішкі қиындықтарымен артуы мен жобалардың ұжымдық сипатымен түсіндіріледі. Қазіргі кездегі модуль ұғымы өз эволюциясында үлкен жол жүріп, программа текістік “бөлшектеу” немесе фрагменттер кітапханасын құру түсінігінен жеке түрде жобаланып, сақталатын және қатаң белгіленген интерфейісті тәуелсіз түрде құрастырылатын, тестіленетін программа бірліктеріне дейін жетті.

Turbo Pascal жүйесінің 4-версиасынан бастап оған модуль ұғымын ендіру оны қазіргі заманғы программалау технологиясы деңгейінде өндірістік және комерцияалық мақсаттағы ірі жобаларға жарайтын тілге айналуы жолындағы шешуі қадам болды.

Turbo Pascal - дағы модульдік құралдар, модулдік принцип жобалау негізіне салынған тілдердің сәйкес мүмкіндіктерінен айтарлықтай нашар. Бірақ Turbo Pascal жобалаушылары классикалық деп саналатын Pascal тіліне жаңа ұғым ендіріп, оның тұтастығы, әсемділігі мен қарапайымдылығын бұзбай, және сонымен бір уақытта оның мүмкіндіктерін айтарлықтай кеңейтті.

Бұл курстық жұмыстың мақсаты құрылымдық модульдік программаларды зерттеп меңгеру және программаларды құрастыру. Бұл мақсатқа жету үшін осы тақырыпқа сай теориялық матириалдарды жинақтау.

Негізінен бұл жұмыста модульдік программалау және олардың формасын, стандартты структурасы орындалуы тиіс. Және де модульдің құрылымы, көмекші программалары, оларды компиляциалау және синтаксистік диаграммалары орындалуы керек.

Бұл жоба негізінен кіріспеден, екі тараудан, қорытындыдан, пайдаланылған әдебиеттерден тұрады. Кіріспеде курстық жұмыстың мақсаты, міндеттері айтылған. Ал қорытындыда оларды қалай қолданғаны жайлы, қалай іске асыру керектігі, орындалуы, модульдік программалар қалай жүзеге асыруы керектігі жайлы айтылған.

1. Құрылымдық модульдік программалау.

1. 1. Модульдер

Модульдер басты принципі ақпаратты жасыру (information hidinig) болып табылатын программалар құруда модульдік прогаммалау принципін ұстануға арналған. Бұл принцип бойынша программаның логикалық жағынан бір - бірінен тәуелсіз бөліктерінің өзара әсері минимумға жеткізуі керек. Модульдер қолдануында ақпаратты жасау принципі сенімді жұмыс жасайтын және оңай түрленетін программалар құруға мүмкіндік береді. Turbo Pascal тілінде модульдер көбінесе процедура, функциялар мен обьектілер кітапханасын құруда пайдаланылып, оларды кейіннен пайдаланушы жасайтын программаларда пайдалануға болады.

Модуль синтаксисінің түрі келесідей:

Модульдерді пайдалануда олардың атын дұрыс көсету маңызды. Стандарттымодульдерді енгізгенде олардың идинтификаторын USES ұсынысында сөйлемінде жазу жеткілікті.

Жеке модуль құрғанда бірқатар ерекшеліктерді есте сақтаған жөн:

  • атаулары бірдей модульдерді бірдей уақытта бірге пайдалануға болмайды;
  • (UNIT) атауында көрсетілген модуль идинтификаторы бастапқы (PAS) және обьектілік (TPU. TPP, TPW) коттары бар файл аттарымен сәйкес келуі керек (1. 2 - сурет. ) ;
  • егер модуль идинтификаторы 8 символдан көп болса, онда ол файл атауларымен алғашқы 8 символы бойынша сәикеи келуі керек.

Төменде модульдің әр бөлігінің мазмұны мен қызметін түсіндіретін қосымша түсініктемелермен толықтырылған модульдің жалпы құрылымы көрсеиілген.

UNIT - Модуль идинтификаторы.

Интерфейстік бөлімі.

Interface
- Бұл бөлімде берілген модуьдің басқа пайдаланушы немесе стандарт модульдерімен, сондай - ақ бас программамен өзара қатнасын сипаттайды. Басқаша айтқанда - модульдің “сыртқы әлеммен ” қатынасы.

Интерфейс бөлімінің импорттық тізімі.

Uses
Бұл тізімде үтір арқылы интерфистік бөлімінің ақпараты осы модульде түсінікті болуы тиіс модульдер идинтификаторы келтіріледі. Мұнда тек ақпаратты берілген модульдің interface бөлімінде cипаттауға пайдаланылған модульдердің идинтификааторын ғана келтірген жөн.

Интерфеис бөлімінің экспортты тізімі.

Const

Tupe

Var

Procedure

Function

Экспорттық тізім берілген модульде анықталған, бірақ оларды тек өзін uses қатарында аталған модуль аты кіретін барлық басқа модульдер мен программаларда пайдалануға рұқсат етілген константалар, тиіптер, айнымалылар, процедуралар мен функция атауларын сипаттау бөлімшелерінен тұрады. Процедуралар мен функциялар үшін мұнда тек атаулар келтіріледі, бірақ формальді параметірлері міндетті түрде толық көрсетіледі.

Орындау бөлімі.

Implementation -
Бұл бөоімде басқа модульдер мен программалар үшін жабық, берілген модульдің сипаттамаларының орындаушылық жеке бөлімі көрсетіледі. Басқа түрде айтқанда модульдің “ішкі шеберханасы”

Орындау бөлімінің импортты тізімі.

Uses -
Бұл бөлімде берілген модульдің интерфейс бөлімінің ақпаратты қол жететін модульдер идинтификаторы үтір арқылы келтіріледі. Бұл жерде ол туралы ақпарат аталған модульдің interface бөлімінде пайдаланылмайтын және оны пайдалану жөнінде басқа бір де бір модуль білмеуі тиіс, барлық қажетті модульдер идинтификаторын келтірген дұрыс.

Модуль үшін ішкі түсіндіру бөлімшелері.

Label

Const

Type

Var

Procedure

Function -

Бұл бөлімшелерде берілген модульді орындайтын алгроитімдік амалдарды сипаттайтын таңбалар, константалар, типтер, айнымалылар, процедуралар мен функциалар келтіріледі. Олар сондай-ақ, тек осы модульдің ғана “жеке меншігі” болып табылады. Бұл сипаттамалар басқа бір де бір модульге ашылмайды. Бөлімшедегі процедуралар мен функциалар атауын формальды параметірлеу келтіруге болады. Егер тізім параметірлі болса, онда формальды параметірлер тізімі interface бөліміндегі сәйкес процедура, функция тізіміне парапар болуы керек.

Инициалдау бөлімі.

Begin -
Бұл бөлімде модульдің түзету жұмыстарын жүргізуге қажеттібастапқы операторлары көрсетіледі. Программада пайдаланылатын модульдерді инициалдау белгілі оперпторлары программаның басында модуль идинтификаторы uses ұсынысында келтірілген ретпен орындалады. Егер инициалдау опреаторы қажет болмаса, begin сөзі қолданылуы мүмкін.
Begin -: End.
Бұл бөлімде модульдің түзету жұмыстарын жүргізуге қажеттібастапқы операторлары көрсетіледі. Программада пайдаланылатын модульдерді инициалдау белгілі оперпторлары программаның басында модуль идинтификаторы uses ұсынысында келтірілген ретпен орындалады. Егер инициалдау опреаторы қажет болмаса, begin сөзі қолданылуы мүмкін.: Т өмендегі келтірілген мысалда модульдер мен бас программа арасындағы қатынастар құрылымы келтірілген. Модульдермен жұмыс істеген олардың процедуралар мен функциалардан басты ерекшетігін ескерту қажет.

Ескерту . Ғаламдық және жергілікті айнымалылардың дәстүрлі әсер ету аймағы ережелерін модульге қолдануға болмайды. “Модуль” конструкциясы бас программада жариаланған ғаламдық айнымалылардың модульдің ішкі сипатына әсерін болдырмау мақсатында арнайы құрылған.

Сондықтан да, егер программаның барлық блогына оңтайлы сипаттамалар аса қажет болса, (яғыни ғаламдық сипаттамалар түсіндірмелер), онда модульдер үшін оны бір тәсілмен ғана жасауға болады - арнайы ғаламдық жарияалау модульін құру арқылы (келтірілген мысалда - Globals) жасап, оны барлық қалған модульдер мен бас прогпрмма импортты тізімге қосылуы керек.

Unit Globals ; {Ғаламдық сипаттамаоар модульі}

Interface

Const Len = 100;

Tupe

T vector = array [1. . len] of integer;

Implementation

End.

Unit vector service;

{Ұзындығы 100 элементке дейінгі бір өлшемді массивтермен жұмыс жасайтын сервистік процедуралар мен функциалар кіретін кітапханалық модуль}

interface

{Импортталушы модульдер тізімі}

Uses Globals ; {Тек Globals модульінкөрсету жеткілікті, себебі interface бөлімі түсіндірмесінде өзге стандарттық немесе пайдаланушы модульдері пайдаланылмайды. Interface б-л3м3нде келт3р3лген модульдер implementation бөлімінде де пайдалануға болмайды. }

{Экспорттаушы модульдер тізімі}

Procedure Vect Max (Vect: T Vector; N:Byte) ;

{Массивтің максималды элементін тауып, қарау процедурасы}

Procedure Vect Min (Vect: T Vector; N:Byte) ;

{массивтің минимал элементін тауып шығару}

Procedure Vect Inversr ( varVect: T Vector; N:Byte) ;

{Массив элементін кері ретке бұру процедурасы}

Implementation

{Модульдің жеке импортты тізімі}

Uses crt; {Қарастырыи отырған мысал үшін мұнда Crt модульін көрсету қажет. Globals модульіндегі ақпарат Implementation - да пайдаланғанымен, оны бұл тізімге келтіруге болмайды, өйткені әр модуль тек 1 рет көрсетілуі тиіс - не Interface - те немесе Implementation - да. }

Procedure PrintVect (Vect: T Vector; N: Byte) ;

{Вектор элементтерін баспаға шығаруда орындайтын модуль ішілік процедура. Ішкі процедура мен функциалар атаулары әрдайым толық түрде параметірлермен көрсетіледі. }

Var i: Byte;

Begin

Writeln (‘Вектор элементері:’) ;

For i:=1 to N do write (Vect[i] : 5, ‘ ’) ;

Writeln;

End;

{Integer бөлімінде келтірілген процедура мен функциалар атауларын бөлімінде параметрсіз көрсетуге болады. }

Procedure Vect Max;

Var

Max : Integer;

I : Byte ;

Begin Max := Vect [1] ;

For i:= 2 to N do

If Vect[1] ;

Max := Vect[1] ;

Clrscr ;

PrintVect (Vect, N) ;

Writeln (‘вектордың максимал элементі: ’, Max)

End;

Procedure Vect Min;

Var

Min : Integer;

I : Byte;

Begin Min := Vect[1] ;

For I := 2 to n do

If Vect [1] < Min then

Min := Vect [i] ;

Clrscr;

PrintVect (Vect, N) ;

Writeln (‘вектордың минимал элементі:’. Min)

End;

Procedure Vect Inverse;

Var Temp : Integer;

I : Byte

Begin

Clrscr;

Writeln (‘өзгертуге дейінгі вектор:’) ;

Print Vect (Vect, N) ;

For I := 1 to N div 2 do

Begin Temp := Vect[i] ;

Vect[i] := Vect [N-i+1] ;

Vect [N-i+1] := Temp;

End;

Writeln (‘өзгертуден кейінгі вектор:’) ;

PrintVect (Vect, N) ;

End.

Program Main; {Бас программа}

Uses Crt, Globals, Vectorservice;

Var

A: T Vector;

I, N : Byte;

Begin

Clrscr;

Writeln (‘Массив ұзындығын енгіз <=100:’) ;

Readln (N) ;

Writeln (‘Массив элементтерін ендіріңіз; ’) ;

For I := 1 to N do read (A[i] ) ; readln;

Vect Max (A, N) ;

Readln; {нәтиже экранда Enter басылымынан тұрады}

Vect Min (A, N) ;

Readln; {нәтиже экранда Enter басылымынан тұрады}

Vect Inverse (A, N)

End.

  1. . Модульдік программалау

Модульдік программаның басты принципі “бөліп ал да, билей бер”. Модульдік программалау дегеніміз-бұл программаны модуль деп аталатын, құрылымы мен іс-әрекеті белгілі бір ережелерге бағынатын кішігірім тәуелсіз блоктар жиынтығы ретінде ұйымдастыру. “Модуль” сөзінің программалау тіліндегі синтаксистік конструкция ұғымы (Turbo Pascal - дағы unit) мен бір үлкен программаны білу керектігін айта кеткен жөн.

Модульдік программаларды програмаса тестілеумен қателіктерді анықтауда жеңілдетеді.

Парогамма тиімділігін анықтау процесі жеңілдей түседі, себебі уақыт бойынша аумалы модульдер өзгелерден тәуелсіз түрде көпретті қайта жасала береді. Сонымен бірге, модульдік прграммаларды түсіну оңайырақ, ал модульдерді басқа программаларда құраушы блок ретінде пайдалануға болады.

“Модуль” тирмені программалауда модульдік принциптерді ендірумен бірге пайдаланыла басталады. 70 ж. ж модуль деп белгілі бір ережелер бойынша жазылған қандайда бір процедура немесе функцианы түсінетін. Мысалы: “Модуль қарапайым, тұйық көрнектік ( 50-100 қатарға дейін), тапсырманаң тек бір функциасын атқарып, бір ғана шығу және бір ғана кіру нүктесі болуы керек. ” Біріқ жалпы белгіленген талаптар болмаған және модульдеп кезкелген 50 қатарға дейінгі процедураны атай берген.

Программалық модульдің негізгі қасиеттерін біршама анық, нақты түрде алған тұжырымдаған Парнас (Parnas) : “Бір модульді жазу үшін екіншісінің тексиі жайлы минимал бөлім жеткілікті. ” Бұл анықтамаға сәйкес модуль болып, басқа процедура - модульдер шақырылатын нң төменгі де, ең жоғарғы да деңгейлерін кезкелген жеке процедур немесе функция табылады.

Осылай Парнас бірінші болып программалауда ақпаратты жасыру концепциасын ұсынады (information hiding) . Бірақ 70 ж. ж тілінде қолданылған процедура, функция секілді синтаксистік конструкциалардың өздері ғана ақпаратты сенімді түрде жасыруды қамтымаз ете алмайтын, өйткені олар іс- қймылын қиын ғаламдық айнымалылар әсеріне бөленгіш еді.

Бұл проблеменың шешімі табылып, ол модуль деп аталады. Алғашында күрделі прграммалар кейіннен жүзеге асыруда модуль басқа процедура, функциалармен қатар, берілген тапсырманы жүзеге асырудың детальдарын сенімді түрде жасырып, біріктіретін конструкция ретінде ойластырылған.

Ең бірінше модульдің арнайы синтаксистік конструкциасын 1975 ж. Н. Вирт ұсынып, ол Modula жаңа тіліне ендірілді. Осы жылы Modula тілінің тәжірбиелік пайдалануы жүргізілді. Бір шама өндеулерден соң жаңа тіл 1977 ж. жүзеге асырылып Modula -2 атауына ие болды. Кейінірек оған ұқсас, бірқатар айырмашылықтар бар конструкциалар басқа программалау тіліне де қосыоды: Pascal Plus (Уэлш и Бастард, 1979 ж. ), Ada (1980), Turbo Pascal 4. 0 версиасы.

  1. Модульдік программа формасы

Модульдік прграмманың иерархиалық құрылымына жақсы форма беру оны өңдеу порцесін жақсарта түседі.

Қандай да бір модульмен шақырылатын модульдер саны және оны шақыратын модульдер саны программа күрделілік дәрежесіне әсерін тигізеді. Берілген модульден шақырылатын модульдер санын Йодан (Yourdan) модульдерді басқару ауқымды өрісі деп атады. Модульдің үлкен өлшемімен қоса, өте кіші немесе өте ауқымды басқару модульдерге бөлудің нашар жүргенін көрсетеді. Жалпы, модульді басқару ауқымы 10-нан аспауы керек. Бұл сан “қасиетті” 7санымен, және әсіресе, ақпарат “бөліктері” (“chubking”) теориясына сүйенеді. Психологиалық тәжірбелер көрсетілгендей, біздің қысқа мерзімдік есте сақтауымыз 5-9 “бөлшек” шегінде (орташа-7) болады.

Адамның қысқа мерзімде есте сақтауын тиімді пайдаланып, материал ұғымдылығын жақсарту. Кезінде ақпаратты ыңғайлы бөлшектерге бөліп ұйымдастырылуы аса маңызды шары болып табылады. Адамдар көптеген жағдайларға мұндай ұйымдастыруды сансыз түрде жүргізді. Бірақ программист модульді басқару ауқымы 7 санының ішінен шықпауын сансыз түрде қадағалай отырып, өзіне көмектесе алды.

1. 4 Стандартты структуралық программалау

1. Программа модуль деп аталатын тәуелсіз, және бөліктерге бөлінуі керек.

  1. Модуль - коды физикалық және логикалық жағынан басқа модульдер кодынан бөлінген тәуелсіз блок.
  2. Модуль тек бір логикалық функция атқарады.
  3. Модуль өлшемі 100 оператордан аспауы керек.
  4. Модульдің бір кіру және шығу жүйесі болуы керек.
  5. Модульдер арасындағы өзара байланыстар иерархиялық құрылым бойынша бекітіледі.
  6. Әр модуль оның қызметін, модульге және модульден берілетін айнымалылар қызметін, оны шақыратын, және оның ішінен шақырылатын модульдер қызметін түсіндіретін түсініктемелерден басталуы тиіс.
  7. Қажетсіз таңбаларды қолданбай, go to операторын тек модульдің кіру немесе шығу нүктесінде қолдану немесе тіптен қолданбаған жөн.
  8. Барлық айнымалылар мен модуль идинтификаторы маңызды болуы керек.
  9. Идинтификатордың туыс топтары бірдей префикстен басталуы керек. Стандартты модульдер

Turbo Pascal - да 8 стандартты модуль бар:

SYSTEM

DOS

CRT

PRINTER

OVERLAY

GRADPH

TURBO 3

GRAPH 3

Стандарт модульде шоғырланған программалық ресурстер қуатты жүйелік құралдар пакетін түзеді. Бұл пакеттер, өз кезінде, Turbo Pascal жүйесін қолданудың кең ауқымы мен жоғары тиімділігін қамтамасыз едеді.

Әрбір стандартты модульге логикалық байланысқан типтер, тұрақтылар, айнымалылар мен белгілі бір қолдану аймағына жатқан бағыныңқы программалар жиынтығы кіреді.

Әр модуль Turbo Pascal жүйелік каталогының бір аттас TPU - файылында сақталады. Сонымен қоса әдетте System, Dos, Crt, Printer, Overley модульдері TUTBO. TPL жүйелік кітапханалық файл құрамына кіреді. Стандарт модуль ресурстарын пайдалану үшін, ережеге сәйкес пайдалану спецификациясында оның атын көрсету керек. Тек System модульінің атын көрсетуге болады, себебі оның ішіндегі ресурстар кез-келген программаға автоматты түрде қосылады.

System модульіне Pascal тілінің авторлық версиасының барлық процедуралары мен функциалары, стандарт Паскальдың бағыныңқы программалары, сондай - ақ жалпылама сипаттағы көптеген қосымша бағыныңқы программалар, соныңішінде, нақты операциялық ортаға бағдарланғандары да кіреді.

Dos модульініңоперациалық жүйеге ену құралдары бар және ол MS-DOS жүйелік интерфейісінің программалық көрсетілімі болып табылады.

Crt модульі текістік режимде дисплей экраныны енудің толыққанды мүмкіндіктерін қамтамасыз етеді. Сонымен бірге, бұл модульге ақпаратты клавиатурадан оқу мен дыбысты басқару құралдары кіреді.

Printer модульінің жалғыз интерфистік элементі бар - PRN логикалық құрлымымен жүйеліл байланысқан text стандартты типі last айнымалысы. Бұл айнымалыны Write, Writeln стандарт процедураларында қолдау ақпаратты баспаға шығарады.

Overlay модульі деп аталатын оверлейлік өлшемі оперативті жады көлемінен асып кетіп үлкен көлемді программалар жүйесінде жеткілікті дәрежеде тиімді орындауды қамтымасыз етіп, программаларды ұйымдастыру құралдарын береді.

Graph модульі дисплейдің графикалық жұмыс режймін басқаруға қажетті көптеген программалық құралдарды бекітеді. Бұл модуль неғұрлым кең таралған CGA, EGA, VGA, Hercules т. б тиіпті дисплейдің барлық мүмкіндіктерін пайдалануды қамтамасыз етіп, әртүрлі және тиімді графикалық программаларды құруға мүмкіндік береді.

Turbo 3 және Craph 3 модульдері Turbo Pascal жүйесінің берілген версиясымен, алдыңғы 3. 0 құрастырылған программаларды үйлестіруді қамтымасыз етеді.

  1. Модульдің жалпы құрылымы

Turbo Pascal тілінде (unit) модуль жеке программа болып саналады. Егер программа (9-бөлімді қара) Pascal - программасының құрылымдың элементі болса және одан тыс өмір сүре алмайтын болса, онда модуль жеке сақталатын және тәуелсіз құрастырылатын бірлік болып табылады. Осы фактіні ескере отырып 1. 3 Pascal -программасының жалпы құрылымын Turbo Pascal тілі үшін келесі синтаксистік диаграммасымен толықтыруқа болады:

Turbo Pascal тіліндегі программа.

Жалпы түрде модуль басқа модульдер мен программалар пайдалануына арналған пргораммалардың ресурстар жиынтығынан тұрады. Ресурс деп, бұл жағдайда, Turbo Pascal тілінің кез-келген программалық обьектілері түсінледі - тұрақтылар, типтер, айнымалылар, бағыныңқы программалар, модуль өзінше орындалатын программа болып табылмайды - оның обьектілерін басқа программаның бірліктер пайдаланады.

Барлық программаның ресурстарын 2 бөлікке бөлуге болады: өзге модуль немесе прграммамен пайдалануға тікелей арналған обьектілер және жұмыстық сипаттағы обьектілер. Осыған сәйкес модуль атауынан бөлек 2 негізгі бөлігі болады - интерфейс және орындау.

Модульдің интерфейстік бөлімінде өзге программалардан алынатын обьектілер сипаттамалары топтастырылған: мұндай обьектілерді модульден тыс көрінетін деп атайды. Орындау бөлімінде көрінбейтін немесе жасырын деп аталатын жұмысшы обьектілері орналасады.

Модуль атауы unit сөзімен басталып, одан кейін тұратын идинтификаиордан, яғни модуль атынан құралады. Атау “ ; ” таңбасымен аяқталады. Интерфейстік бөлімі жұмысшы interface сөзі мен оның жұмысшы implementation сөзінен басталады. Оның артынша жасырын обьектілер сипаттамасы келтіріледі. Модульді end жұмысшы сөзімен “ . ” символы аяқтайды.

Аталғандардан бөлек, модуль, оны пайдалану алдында бастапқы мәндері белгілеуге арналған инициалдау деп аталатын бөлімі де болуы мүмкін. Бұл бөлім орындау бөлімінен кейін келіп, begin басталады және операторлар кезектілігінен тұрады. Осылайша, модульдің жалпылама құрылымы келесі схема түрінде болуы мүмкін:

Unit Module Name;

Interface

Implementation

Begin

End.

Қарапайым мысал келтірейік. Әртүрлі программада кейбір жалпы қолданылатын мәліметтер типін көп ретті сипаттау жүргізбеу үшін оларды 1 модульге топтастыруға болады.

Unit Calendar;

Interface

Type

Days = (mon, tue, wed, thy, fri, sat, sun) ;

WorkingDays = Mon. . Fri;

Montahs = (jan, frb. mar, apr, may, june, july, aug, sept, ocr, nov, dec) ;

Summer = June . . Aug;

Atumn = Sep . . Nov;

Spring = Mar . . May;

DayNo = 1 . . 30;

YerNo = 1900 . . 2000;

Date = record

Day : DayNo;

Month : Months;

Year : YearNo

End;

Implementation

End.

Берілген модуль қарапайым болғандықтан орындау және инициалдау бөлімдері болмайды.

  1. Модульдегі көмекші программалар

Процедуралар мен функциалар модульішінде басқа да Pascal - обьектілерімен қатар қолданыла береді. Бірақ олардың құрылымдық ерекшелгігіне сәикес бірқатар айырмашылықтар болады. Бағыныңқы программа атауында оны шақыруда қажетті барлық ақпараттар болады: оның аты, параметірлер менсаны тиіптері және нәтижелер типі (функция үшін) . Одан басқа бағыныңқы программа денесіне оның алгоритімін көрсететін блок кіреді. Басқаша айтқанда, бағыныңқы программа атауын оның “интерфейсі”, ал денесі - “орындау ” осы пікірге сәйкес, модульдің интерфейстік бөлімінде басқа программалар көрінетін процедуралар, функциалар атаулары (алдын ала сипаттамаларға сәйкес, бірақ forword қызметін сөзсіз) келтіріп, ал олардың сипаттамма түсіндірмесі орындау бөлімінде болу керек. Және бағандағы программалардың толық сипаттамасының қысқартылған атауы тек қызметтік procedure немесе function сөзінен программа атын және “; ” символынан тұрады.

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Құрылымдық программалаудың базалық конструкциялары
Орта мектепте Паскаль программалау тілін оқытуды жетілдіру жолдары
Программалау тілдерінің маңызы
Модульдік бағдарламалау - Модульдердің құрылымы
Программаны құрудың техникалық тапсырмасы
АЛГОРИТМНІҢ ПРОГРАММАЛАУ НЕГІЗДЕРІНДЕГІ РОЛІ
Программалауды оқытудың замануи технологиялары
Программалау технологиялары
ПАСКАЛЬ ПРОГРАММАЛАУ ОРТАСЫ
Бағдарламалау тілдері
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz