Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»


n  санының факториал мəнін алу үшін, ( n-1



Pdf көрінісі
бет137/642
Дата30.03.2022
өлшемі3,66 Mb.
#29231
түріПрограмма
1   ...   133   134   135   136   137   138   139   140   ...   642
Байланысты:
pavlovskaia-jogargy-dengeili

n

 санының факториал мəнін алу үшін, (



n-1

санының факториалын 



n

 санына көбейту қажет. Сонымен қатар, 0!=1 жəне 

1!=1 болатыны белгілі.

long fact(long n){

if (n==0 || n==1) return 1;

return (n * fact(n-1));

}

Осы программа үзіндісін қысқартылған түрде былайша жазуға болады:



long fact(long n){

return (n > 1) ? n * fact (n-1) : 1;

}

Рекурсивті функцияларды көп жағдайда рекурсивті алгоритмдерді 

ықшамды түрде жүзеге асыру үшін, сонымен қатар, рекурсивті сипатталған 

мəліметтердің құрылымдарымен, мысалы, екілік бұтақтармен жұмыс 

істеу үшін қолданады (132 б.). Кез келген рекурсивті функцияны рекурсия-

ны қолданбай жүзеге асыруға болады, ол үшін программалаушы барлық 

қажетті мəліметтердің сақталуын өзі қамтамасыз ету керек. Рекурсияның 

 

артықшылығы ықшам түрде қысқаша жазылуында болып есептеледі, ал 



рекурсияның кемшіліктеріне функцияны қайта шақыруларға жəне оған пара-

метрлер көшірмелерін беруге жұмсалатын уақыт пен жадының шығыны жəне, 

ең негізгісі, стектің толып кету қаупі жатады.

Функцияларды қолдана отырып, программаларды құру технологиясы 

практикумның [11] жетінші семинарында қарастырылған. 



86



Достарыңызбен бөлісу:
1   ...   133   134   135   136   137   138   139   140   ...   642




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

    Басты бет