Тәттібеков Қ. С. Раимбаева С.Ә. С/С++ тілінде программалау негіздері



Pdf көрінісі
бет44/79
Дата15.11.2023
өлшемі1,39 Mb.
#124059
түріПрограмма
1   ...   40   41   42   43   44   45   46   47   ...   79
double 
-
мәліметтер типіне назар аударайық. 
Факториалдың ерекшелігі сол үлкен емес сан болса да, нәтижесі өте үлкен 
болуы мүмкін. Мысалы, 15 санының факториалы 1 307 674 368 000 тең 
болады. 
Факториалды есептеу үшін рекурсияны пайдалануды көрсететін 
программа құрамыз. n факториалды есептеу
n! = (n-1)!*n 
формуласына негізделген.


66 
#include  
double fact(int num); 
int main() { 
int num=15; 
double res; 
res=fact(num); 
printf(“%d факториал %15.0f\n тең”, num, res); 
return(); 

double fact(int num) { 
if (num<=1) return(1.0); 
else 
return(num*fact(num-1)); 

Функция анықтамасында көрсетілгенге сәйкес, параметрге көшіру 
арқылы мәндері бойынша аргументтер беріледі. Аргументтер мен 
параметрлері, саны және типі Си тілінде бақыланбайды. Функцияны 
сипаттағанда қолданылатын формалды аргументтер мен функцияны 
шақырғанда берілетін фактілік аргументтердің айырмашылығын білу қажет.
Формалды аргумент – программадағы шақырылатын айнымалы, фактілік 
аргумент – программадағы айнымалыға меншіктелетін нақты мәні. Фактілік 
аргумент тұрақты, айнымалы немесе күрделі өрнек болуы мүмкін. Фактілік 
аргументтің типіне қатыссыз ол басында есептеледі, содан кейін оның 
шамасы функцияға беріледі. Аргументтер тізімін үтір арқылы беруге болады. 
Төмендегі программада негізгі функциясынан бөлек, екі функция 
пайдаланылады. Ол функциялардың прототиптері программаның бастапқы 
бөлімінде хабарлануы керек. 
# include  
int zero(int u); 
char ch(char u) 
main() { 
int x, y, z, zero(); 
char p, q, ch(); 
x=2; y=12; z=0; q=’0’; 
printf(“x=”); zero(x); 
zero(x+y+(x+y)^z); 
printf(“q=”); ch(q); 
}
int zero(int u) {
printf(“%d\n”, u);



67 
char ch(char u) { 
printf(“%c\n”,u);



Достарыңызбен бөлісу:
1   ...   40   41   42   43   44   45   46   47   ...   79




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

    Басты бет