Программа денесі(операторлар тізбегі)



бет64/163
Дата07.02.2022
өлшемі4,26 Mb.
#94523
түріПрограмма
1   ...   60   61   62   63   64   65   66   67   ...   163
Байланысты:
cda6b05d-8cb5-11e3-bf6e-f6d299da70eeУММ ПР1

Процедураны сипаттау
Айталық, мәтіндерді редактрлау программасын жасалынып жатыр. Бұл программада редактрленетін мәтіннің бір бөлігін екіншісінен сызық (бірдей «минус» белгілерінен тұратын) арқылы бөлу қарастырылған болсын. Осы мүмкіндікті жүзеге асыру үшін редактор программада сәйкес процедураны жасауға болады. Схемалық түрде бұл процедуралы программа мынадай түрде болады:
Program editor;

{белгілерді, тұрақтыларды, типтерді және айнымалыларды сипаттау бөлімі}
...
Procedure Line;
Var symbol:integer;
Begin {процедура денесінің басы}
Write (‘{‘);
For symbol:=1 to 78 do
Write (‘-’);
Writeln (‘}’);
End; {процедура денесінің соңы}

Begin {программа денесінің басы}

Line; {процедураны шақыру}

End. {программа денесінің соңы}
Бұл editor программасында Line процедурасы сипатталған. Схемада процедураны сипаттау (бұл функцияға да қатысты) программа денесінің алдында жүргізілетіні көрініп тұр. Процедураның құрылымы программа құрылымын қайталайтыны көрініп тұр – мұнда да тақырыбы, сипаттау бөлімі және денесі бар. Процедура PROCEDURE резервтелген сөзінен басталады, содан кейін бос орыннан соң тақырыбы жазылады. Тақырып жолы міндетті түрде нүктелі үтірмен аяқталуы қажет. Осыдан кейін процедураның сипаттау бөлімі болады. Бұл мысалда тек бір ғана айнымалы сипатталған. Бірақ программадағыдай мұнда да белгілерді, тұрақтыларды, типтерді және айнымалыларды, сол сияқты Line процедурасының ішіне салынған процедуралар мен функцияларды сипаттауға болады.
Сипаттау бөлімінен кейін оның денесі көрсетіледі. Процедура денесі операторлық жақшаға (begin..end) алынған операторлар тізбегі жазылады. Line процедурасын шақыру үшін оның атауын қажетті жерге көрсетсе жеткілікті. Осы процедураны шақыру мысалы editor программасында көрсетілген. Осы процедура экранда 78 «минус» (-) символдарынан тұратын жолды шығарады. Ал егер өңделетін құжатта әртүрлі мәтін үзінділерін басқа символдар жолымен бөлу керек болса және де олардың ұзындығы да басқа болу қажет болса, онда программа денесіне қажетті ақпаратты (символ мен жол ұзындығын) енгізуге мүмкіндік беретін Read операторын қарастыру қажет болады. Бұл оператор қалай да бұл ақпаратты процедураға береді. Ақпаратты программа денесінен процедураға беру параметрлер механизмінің көмегімен жүзеге асады. Жоғарыда келтірілген программа схемасы төмендегідей өзгертілген:
Program editor;

{белгілерді, тұрақтыларды, типтерді және айнымалыларды сипаттау бөлімі}
...
Procedure Line(ch:char; ln:integer);
Var symbol:integer;
Begin {процедура денесінің басы}
Write (‘{‘);
For symbol:=1 to ln do
Write (‘ch’);
Writeln (‘}’);
End; {процедура денесінің соңы}

Begin {программа денесінің басы}

Read(a,b); {символ мен жол ұзындығы беріледі}
Line(a,b); {процедураны шақыру}

End. {программа денесінің соңы}
Екінші схема біріншісінен несімен ерекшеленеді? Процедура сипаттамасында тақырыбынан кейін формальды параметрлер берілген (ch:char; ln:integer). Олар таңдалынған символ (ch) мен жол ұзындығын (ln) программадан процедураға беруге арналған. Және де көрсетілген параметрлердің идентификаторлары процедура денесіндегі бекітілген мәндерді (78 және ‘-’) ауыстырды. Программа денесінде де екі өзгеріс болды. Біріншіден, кез-келген символ мен жол ұзындығын енгізуге мүмкіндік беретін жаңа оператор (Read(a,b)) қосылды. Екіншіден, процедураны шақыру операторы (Line(a,b)) енді нақты параметрлерге ие болды. Мәндері Read операторының көмегімен енгізіліп, содан кейін Line процедурасының сипаттамасында көрсетілген формальды параметрлерге берілетін a және b айнымалылары программаның сипаттау бөлімінде сәйкесінше char және integer типтері ретінде жариялануы керек.




Достарыңызбен бөлісу:
1   ...   60   61   62   63   64   65   66   67   ...   163




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет