Cи тілінде бағдарламалау Берикжан Касымов, 2018-2019



Pdf көрінісі
бет24/34
Дата28.06.2022
өлшемі2.75 Mb.
#459535
1   ...   20   21   22   23   24   25   26   27   ...   34
devcpp 1 Kaz66

 
Процедура -  ол бағдарламаның бірнеше жерін де кездесе алатын, қандай да 
бі іс-әрекетті орындай алатын көмекші бағдарлама (подпрограмма).
Процедура негізгі бағдарлама секлді рәсімделеді, бірақ оның аты –main 
болмайды, қандайда бір өзіне тән ат қойып сақтаймыз. Процедура шақыру 
кезінде орындалатын командадан тұрады, олар тақырыбшадағы жүйелік 
жақшаның ішінде жазылады, ол процедураның денесі деп аталады. Бұл 
командалар трансляторға белгілі болу керек.
Процедураның тақырыпшасын толығырақ қарастырайық 
Void сөздің мағынасы, яғни командасы қандай да бір мәндерді есептемейді, ол 
тек команда қандай да бір іс-әрекетті орындайды (мысалы, қандай да бір сурет 
салау). Жақшаның ішіне үтір арқылы бір-бірінен ажыратылған процедураның 
параметрлері есептеліп жазылады.
 
Параметрлер - ол процедураның жұмыс істеуіне арналған қосымша 
мәліметтер. 
Процедураны параметрсіз де жазуға болады, бірақ ол әрқашан өте ұқсас 
қайталанатын 
іс-әрекеттерді 
орындайтын 
болады. 
Мысалы: 
бірдей 
координаталық бір орынға, бірдей көк түсті үшбұрышты салады. Параметр 
процедураның жұмыс істеу нәтижесін өзертуіне мүмкіндік береді – фигураны 
жылжытуды (х және у параметрлерін өзгерту арқылы) және әртүрлі түстемен 
бояуды (с параметрін өзгерту арқылы) орындап отырады.
Есімізге түсірейік, біз параметрге өзгеретін шамалардың барлығын енгізген 
болатынбыз. Кейбір параметрлер алдын ала белгісіз болғандықтан, қандай да 
бір аты бар айнымалымен сипаттауымыз қажет және ондай параметрлер - 
формальді параметрлер деп аталады. Айнымалыларды бағдарламаның басында 
сипаттағанымызда, процедураның тақырыпшасында да әрбір параметрдің түрін 
(типін) көресетілуі керек.
Ондай процедураны қалай қолдану қажет? Көк үшбұрыштың сол жақ 
төменгі төбесінің координатасын (100, 100) нүктесіне ауыстырамыз. Бұл жерде 
үшбұрыштың табанының ұзындығы мен оның биіктігі 100 және 60 ескере 
отырып, қалған екі үшбұрыштың төбелерінің координаталарын анықтаймыз: 
(200,100) координатасы жасыл түсті және (200, 160) координатасы қызыл түсті 
ұшбұрыштарға арналған. Біздің есебіміздің шешімі төмендегідей болады: 


Cи тілінде бағдарламалау Берикжан Касымов, 2018-2019 
 
43 
http://astanabilim.kz/infor/c
  
Бағдарламаға мұқият назар аударайық. Процедура (шифрлау, жаңа команданың 
сипаттамасы) негізгі бағдарламаның бөлімінен жоғары орналасқан. Процедура 
негізгі бағдарламаның ішінде емес, оның қасында жеке блок ретінде рәсімделіп 
жазылған
Бұл жол процедураны шақыру жолы болып табылады. Жақшаның ішінде барлық 
параметрлердің нақты мәндері көрсетілген. Бұндай шақыру кезінде (100) мәні 
бірінші параметр х-тің шамасы ретінде, ал екінші мән –екінші параметрдің мәні 
т.с.с. Бұл жолдың орындалар алдындағы ең маңыздысы транслятордың Tr
процедурасын алдын ала білуі, себебі ол жоғарыда сипатталып жазылған 
болатын.
Қалған екі үшбұрышты салу үшін процедураға енген командалардың 
барлығын қайта жазып керегі жоқ, басқа параметрлерді жазу арқылы 
процедураны тағы екі рет шақыру жеткілікті.
Қандай жаңалықтар енгізілді? 

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

Процедураның атының алдына void –сөзі жазылады. Яғни, void –сөзі 
шамаларды есептеулерге арналмаған екендігін көрсетеді, ол тек қандай да бір 
іс-әрекеттерді орындауға арналған.

Жақшаның ішінде айнмалының аты жазылғанан соң үтір қойлады, одан кейін 
процедураның параметрлері жазылады – процедураның жұмысы осы 


Cи тілінде бағдарламалау Берикжан Касымов, 2018-2019 
 
44 
http://astanabilim.kz/infor/c
  
параметрлерге байланысты болады. Бұл параметрлерді процедураның 
аргументтері деп те атайды. 

Параметрлерге Си тілінде рұқсат етілген кезкелген аттар қоюға болады.

Процедураның тақырыпшасындағы жазылған параметрлер формальді деп 
аталады. Яғни, олар процедураның ішінде ғана рұқсат етіледі және 
шақырылған кезде ғана орындалады.

Процедуранның параметрлерінің аттарын мағынасына қарай таңдау - ол 
кейін бағдарламаны оңай түсінуге мүмкіндік береді. 

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

Нақты параметрлер – олар сандар немесе кезкелген арифметикалық өрнектер 
(бұл жағдайда алғашқы болып олардың мәндері қаралады немесе 
есептелінеді).

Процедураның бірінші формальді праметрінің орынына бірінші нақты 
параметр қаралады, т.с.с тізбектеліп орындалады. 

Процедура негізгі бағдарламаның алдында сипатталуы қажет: себебі 
процедураны шақыру кезінде транслятор ондай процедура сипатталған-
дығын, сонымен қатар қанша және қандай параметрлар бар екендігін білуі 
қажет. Ол трансляция кезінде қандай қателер бар екендігін табады. Мысалы 
мынадай қателер: 
Tr (100); Too few arguments (параметрлер жетспейді)
Tr (100, 100, 5, 5);  Too many arguments (параметрлер өте көп...). 

Неізгі бағдарламаны бірнеше бөліктерге бөлу үшін көбінесе процедуралар 
бір-ақ рет шақырылады. Әрбір процедура 50 жолдан аспаулары керек (2 эран 
25 жолдан), әйтпесе бағдарламаны түсіну қиын болады. 

Процедурадан ертерек шығу үшін return операторы қолданылады, одан кейін 
процедураның жұмысы аяқталады.

Процедурада return операторының бірнешеуін қолдануға болады: ол 
оператрлардың кезкелген біреуін қолданғаннан кейін процедураның жұмысы 
аяқталады. 


Cи тілінде бағдарламалау Берикжан Касымов, 2018-2019 
 
45 
http://astanabilim.kz/infor/c
  


Достарыңызбен бөлісу:
1   ...   20   21   22   23   24   25   26   27   ...   34




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

    Басты бет