Wednesday, December 9, 2009

Лекц №6

Õýðýãëýã÷èéí ôóíêö
Ôóíêö íü ïðîãðàìä îëîí áàãòàõ õèéãäýõ ¿éëäëèéã áàãàñãàæ , ¿éëäë¿¿äèéã á¿ëýãëýæ ºãäºã.
Ôóíêö òîäîðõîéëîõ áè÷ëýã :
<áóöààõ óòãûí òºðºë > < Ôóíêö íýð > (< Àðãóìåíòóóä >)
< Àðãóìåíòûí çàðëàëò >
{< Ëîêàëü õóâüñàã÷äûã çàðëàõ > ;
< Ôóíêöûí ¿íäñýí áèå áóþó êîìàíäóóä > ;

return ( áóöààõ óòãà );
}
• Õýðýâ ôóíêö óòãà áóöààõ øààðäëàãàòàé áîë ôóíêöûí íýðèéí ºìíº òóõàéí ôóíêöýýñ áóöààõ óòãûí òºðëèéã áè÷èæ ºãíº.
• Õýðýâ ôóíêö óòãà áóöààäàãã¿é áîë ò¿¿íèé íýðèéí ºìíº íü void ò¿ëõ¿¿ð ¿ãèéã áè÷èæ ºãíº ýñâýë åðººñºº ò¿ëõ¿¿ð ¿ã áè÷èõã¿é.
• Õýðýâ ôóíêö ðóó àëèâàà óòãà äàìæäàã áîë ò¿¿íèéã õ¿ëýýæ àâàõ õóâüñàã÷äûã àðãóìåíòóóä ãýæ íýðëýäýã áà õóâüñàã÷äûã ôóíêöûí íýðèéí àðä ( ) õààëòàíä òàñëàëààð çààãëàæ áè÷èæ ºãíº.
• Õýðýâ ôóíêö óòãà õ¿ëýýí àâäàãã¿é áîë () õààëòàíä þó ÷ áè÷èõã¿é.Àðãóìåíòóóäûí òºðëèéã áóþó òýäíèé çàðëàëòûã äàðààãèéí ìºðä õóâüñàã÷ çàðëàäàã øèãýýð çàðëàæ ºãíº.
• Ëîêàëü õóâüñàã÷äûã çàðëàõ õýñýãò òóõàéí ôóíêö äîòîð ë õýðýãëýãäýõ õóâüñàã÷äûã çàðëàæ ºãíº.
• Ôóíêöûí áèåèéã {} õààëòàíä áè÷èæ ºãíº.

Õýðýãëýã÷èéí ôóíêö


int Max ( a, b )
int a, b;
{ int k;
k=(a>b) ? a:b;
printf(“Max=%d ”, k);
return k ;



Ýíý ôóíêöûã ò¿¿íèé íýðýýð àðãóìåíòèéã íü äàìæóóëàõ äóóäíà.
• Sum ( ); / àðãóìåíòã¿é ôóíêö äóóäàõ
• Sum (5,7); / òîãòìîë óòãûã ôóíêöýä äàìæóóëàõ
• Sum (i,k); / õóâüñàã÷äûí óòãûã äàìæóóëàõ
• i=sum( 5,7); / Óòãà áóöààäàã ôóíêöûã àøèãëàõ
• i=sum(i,k);
• i=m+sum(5,k); / Èëýðõèéëýëä àøèãëàõ


Ôóíêöýýñ óòãà áóöààõ ¿éëäýë
Ñè õýëýíä ôóíêöýýñ óòãà áóöààõäàà return ò¿ëõ¿¿ð ¿ãèéã õýðýãëýäýã.
Áè÷èãäýõ õýëáýð :
Return [(]<èëýðõèéëýë > [ )];
Æèøýý : return a+b;
return (a+b);
return a;
return (a);
Return ¿éëäýë ã¿éöýòãýõýä óäèðäëàãà òóõàéí ôóíêöýýñ ãàðíà.ªºðººð õýëáýë íýã áëîêò ò¿¿íèé àðä áè÷èãäñýí ¿éëäë¿¿ä áèåëýõã¿é.

Int sum(int a, int b)
{ int k ;
k=a+b;
return k;
printf(“sum=%d ”, k); ýíý ¿éëäýë õýçýý ÷ áèåëýãäýõã¿é.

Ôóíêöûã çàðëàõ
• Õýðýâ ôóíêö int –ýýñ ÿëãààòàé óòãà áóöààäàã áîë ò¿¿íèéã çààâàë çàðëàõ øààðäëàãàòàé.
• Ôóíêöûã çàðëàõäàà òóõàéí ôóíêö ðóó äàìæèõ àðãóìåíòèéí áîëîí áóöààõ óòãûí òºðëèéã çààíà.
• Ôóíêö çàðëàõ áè÷ëýã
< áóöààõ òºðºë > <ôóíêöûí íýð >(< àðãóìåíòèéí òºðºë>,...)
Æèøýý :
int sum (int , int);
Æèøýý :
int max (int , int);
main()
{ printf(“Sum=%d”, sum( 5,7 ));
printf(“Max=%d”,Max ( 5,7 ));
}
Ôóíêöûã çàðëàõ
Õýðýâ ôóíêö ¿íýõýýð þó ÷ áóöààäàãã¿é áîë ò¿¿íèéã çàðëàõäàà íýðèéíõ íü ºìíº void ò¿ëõ¿¿ð ¿ãèéã õýðýãëýíý.
Void print_it (n)
Void ãýæ òîäîðõîéëæ ºãñíººð ôóíêö çàðëàëò áà ôóíêö äóóäàëòûã ÿëãàæ ºãíº.
int i, j ;
wizard();
Ýíý ôóíêö íü óòãà áóöààäàãã¿é ó÷èð ò¿¿íèéã çàðëàõäàà òºðºë áè÷èõã¿é ãýâýë ýíý íü ôóíêö äóóääàã áè÷ëýãòýé àäèëõàí áîëîõ þì.
int i , j;
void wizard();
̺í àðãóìåíò ãàäààä¿é ôóíêöûã çàðëàõäàà ÷ void ò¿ëõ¿¿ð ¿ãèéã àøèãëàäàã.
Void Sum (void);
Main()
{ sum ();
}
sum()
{printf(“Sum=%d”,a+b);}
Ôóíêöûí àðãóìåíòóóä
Ñè õýëýíä æèíõýíý àðãóìåíòóóäûí òîî íü òîäîðõîéëñîí òîîíîîñîî áàãà áàéæ áîëíî.
Çàðèì ñòàíäàðò ôóíêö áóþó printf , scanf íü õóâüñàõ òîîíû æèíõýíý àðãóìåíòóóäòàé áàéäàã.
include
{ sum (i, j , k , n);
int i , j, k, n;}
{ return(i+j+k+n);}
main()
{printf(“sum:%d ”, sum(1,2,3));}
Àðãóìåíòèéí òºðºë
Æèíõýíý àðãóìåíòèéí òºðºë íü òîäîðõîéëñîí òºðºëòýéãýý èæèë áàéõ àëáàã¿é.
Float max( a,b )
Float a,b;
{if (a>b) return a;
else return b;
}
printf(“%d\n”,(int) max ((float) 2 , (float) 3));
printf(“%f\n”, max((float ) 5.23 , (float ) 6.28) ;

Óòãààð äàìæóóëàõ
-Áèäíèé ºìíº ¿çñýí áàéäëààð ôóíêöýä àðãóìåíò äàìæóóëàõàä òóõàéí óòãóóä íü ôóíêöûí ìóæèä äàõèí íýã õóâü õóóëàãääàã.
-Èéìýýñ ýíý àðãóìåíòèéí óòãûã ººð÷èëñºí ÷ òóõàéí ôóíêöýä óòãàà äàìæóóëñàí ¿íäñýí õóâüññàã÷ûí óòãà ººð÷ëºãääºãã¿é.
-èéì áàéäëààð ôóíêöýä àðãóìåíò äàìæóóëàõûã óòãààð äàìæóóëàõ ãýíý.

Õàÿãààð äàìæóóëàõ
Õàðèí õóâüñàã÷ûí óòãûã ôóíêö äîòðîîñ ººð÷ëºõèéí òóëä õàÿãààð äàìæóóëàõ ãýäýã àðãûã õýðýãëýäýã.Ýíý àðãûí ãîë ìºí ÷àíàð íü ôóíêöýä õóâüñàã÷ûí óòãà äàìæóóëàõûí îðîíä õóâüñàã÷ûí õàÿãèéã äàìæóóëäàã.Õóâüñàã÷ûí óòãûã ººð÷ëºõ人 òóõàéí õóâüñàã÷ûí õàÿãààð íü õàíäàæ ººð÷èëíº.
Æèøýý : 2 á¿õýë òîîí õóâüñàã÷èéí óòãûã ñîëüäîã ôóíêö .

Swap (m, n)
Int *m , *n;
{ int temp;
temp=*m;
*m= *n;
*n=temp;
} *-çààã÷ õóâüñàã÷ (õàÿã)
Æèøýý : Ýíý ôóíêöûã äóóäàõäàà swap(&m , &n); äóóäíà.
ªºðººð õýëáýë òóõàéí ôóíêöýä õóâüñàã÷äûí óòãûã áèø òýäãýýðèéí õàÿãèéã äàìæóóëàõ ¸ñòîé ó÷ðààñ & ¿éëäëèéã àøèãëàí õàÿãèéã íü àâ÷ ôóíêöýä äàìæóóëæ áàéíà.


Æèøýý :
Temp =*m; /*m-èéí àãóóëæ áàéãàà õàÿãò áàéãàà óòãûã temp- õèéæ áàéíà.*/
*m=*n; /*n-èéí àãóóëæ áàéãàà õàÿãò áàéãàà óòãûã m õàÿãò õèéæ áàéíà.*/
*m=temp; /*temp-èéí óòãûã m- àãóóëæ áàéãàà õàÿãò õèéæ áàéíà.

No comments:

Post a Comment