Функциялар мен процедуралар

Программаның орындалуы барысында бiр ғана есептеу жұмысын әртүрлi мәндер үшiн бiрнеше рет орындауға тура келедi. Осы бiр есептеу жұмысын программада бiрнеше рет қайталап жазбай, қажеттi кезiнде қолдану үшiн программаның жеке бөлігі ретінде жазып қоюға болады. Қандайда бiр алгоритм бойынша жұмыс жасайтын және өзiне негiзгi программаның кез келген бөлiгiнен қатысуға болатын программаның жекелеген бөлiгiн iшкi программа деп атаймыз. Ішкі программа – бұл арнайы операцияларды орындау үшін қызмет ететін процедуралар мен функциялар.

Барлық программалау тілдеріндегідей Python-да да процедура мен функция бар. Олар стандартты және пайдаланушы өзі анықтайтын стандартты емес топтарға бөлінеді.

Стандартты функциялар мен процедуралар тілдің элементі ретінде өз аттары бойынша алдын ала нақтыланған қызметші сөздермен белгіленеді. Ал стандартты емес функция мен процедураларды әрбір программалаушы өзі жаңа атау беру арқылы анықтайды.

Процедуралар мен функциялардың екеуімен де бірдей нәтижеге жетуге болады. Алайда олардың өзара айырмашылықтары бар. Процедура қажетті операцияларды орындап болған соң, тізімдегі параметрлерге нәтижені қайта жазады. Функция да осы айтылғандарды орындап, оған қосымша нәтижені өзіне меншіктелген мәнге қайтарады. Осылайша, функция – неғұрлым әмбебап нысан болып саналады.

Процедура – белгілі бір әрекеттерді орындау мақсатында алдын ала бекітілген атау бойынша шақырып орындалатын программаның тәуелсіз бөлігі. Процедура параметрлі және параметрсіз болып бөлінеді. Процедура мен функцияларды таныстыру үшін def қызметтік сөзі қолданылады (def – define – анықтау мағынасын береді). Программада процедураны пайдалану үшін процедураның атын нақты немесе параметрлермен бірге жазып шақырады, оны «процедураны шақыру нүктесі» деп атайды. 

Мысал. N саны берілген. Сол санның оң немесе терістігін анықтайтын процедура жаз. Параметрсіз процедура 

def ANIKTAU (): (параметрсіз процедураны таныстырады)

 print («Teris san»)

#Негізгі программа бөлігі

n = int (input (‘Sandy engiz=’))

if n < 0:  

ANIKTAU() (процедураны шақыру)

else:  

print («O san»)

Процедeра — бірнеше іс-әрекетті орындайтын көмекші алгоритм. Python тілінде процедура def қызметші сөзінен басталып, бос не бос емес жақшадан және қос нүктеден тұрады.

• процедура коды негізгі программада шақырылмай тұрып жазылады;

• программада бірнеше процедура болуы мүмкін;

• процедура дұрыс жұмыс істеуі үшін, оны негізгі программадан немесе басқа процедурадан шақыруымыз керек;

• процедура шақырылғанға дейін анықталған болуы керек. Процедураны анықтау қызметтік def сөзінен басталады;

• процедураны шақыру қос жақшаның алдындағы атымен жүзеге асырылады. Мысалы, Err();

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

Функция құрылымы

Функция – программаның кез келген жерінде шектеусіз қолдануға болатын программа бөлігі. Функцияның анықтамасын былай нақтылауға болады. Функция – программалау процесінде алдын ала таныстырылған атау бойынша шақырып орындалатын программаның тәуелсіз бөлігі. Функция үш бөліктен: атау, аргумент (параметр), функция денесінен тұрады. Мысалы, қарапайым функцияны қарастырайық:

def testfunc (myname):   

print(‘Salem, %s’ % myname)

testfunc(‘Samal’)

Бұл мысалда testfunc – функцияның атауы, ал myname – оның аргументі. Функция денесі def қатарынан кейінгі қатардан басталады. Аргумент – функция жұмысына қатысатын арнайы айнымалы. Программаның орындалу барысында функция жұмысын аяқтаған соң, есептелген мәнді негізгі программаға қайтып алу керек. Функция жұмысын аяқтап, оның мәнін негізгі программаға қайтару үшін Return командасы қолданылады.

Мысал. а, b, c сандарының арасынан үлкенін табатын программа құрастыруда функция қызметін пайдалан

# Үлкенін анықтау функциясы

def Max( m,k,p ):  

max=m  

if max< k:   

max=k  

if max< p:   

max=p  

return max # Негізгі программа коды a= int(input(‘а=’)) b= int(input(‘b=’)) c= int(input(‘c=’)) print (‘En ulkeni=>’,max(a,b,c))

Функция – атауы бар программа барысында шақырылатын программа бөлігі. Функция шақырылғанға дейін анықталған болуы керек.

• Функцияның процедурадан айырмашылығы – мәнді қайтаруында.

• Функция мәнін қайтару үшін return операторы пайдаланылады.