- Nu có mà sau khi th ch in xong hàm vn không ẫ
qui phi tuyê n ́
• Trong thân ha m co duy nhâ t môt l i goi ha m goi lai ̀ ́ ́ ̣ ờ ̣ ̀ ̣ ̣
chi nh no môt ca ch t́ ́ ̣ ́ ường minh.
<Kiêu d liêu ha m> ̉ ữ ̣ ̀ TenHam (<danh sa ch tham sô >)́ ́
{
if (điê u kiên d ng)̀ ̣ ừ
{
. . .
//Tra vê gia tri hay kê t thu c công viêc̉ ̀ ́ ̣ ́ ́ ̣
}
//Th c hiên môt sô công viêc (nê u co )ự ̣ ̣ ́ ̣ ́ ́
Vi dú ̣: Ti nh ́
- Điê u kiên d ng: S(0) = 0.̀ ̣ ừ
- Qui tă c (công th c) ti nh: S(n) = S(n-1) + n.́ ứ ́
long TongS (int n) { if(n==0) return 0; return ( TongS(n-1) + n ); } n n S ( ) =1 +2 +3 + +
Trong thân cua ha m co hai l i goi ha m goi lai chi nh no môt ̉ ̀ ́ ờ ̣ ̀ ̣ ̣ ́ ́ ̣
ca ch t́ ường minh.
<Kiêu d liêu ha m> ̉ ữ ̣ ̀ TenHam (<danh sa ch tham sô >)́ ́ {
if (điê u kiên d ng)̀ ̣ ừ {
. . .
//Tra vê gia tri hay kê t thu c công viêc̉ ̀ ́ ̣ ́ ́ ̣ }
//Th c hiên môt sô công viêc (nê u co )ự ̣ ̣ ́ ̣ ́ ́
. . .TenHam (<danh sa ch tham sô >); //Giai quyê t vâ n đê nho ́ ́ ̉ ́ ́ ̀ ̉
h n ơ
//Th c hiên môt sô công viêc (nê u co )ự ̣ ̣ ́ ̣ ́ ́
Vi du:́ ̣ Ti nh sô hang th n cua da y Fibonaci đ́ ́ ̣ ứ ̉ ̃ ược đinh nghi a ̣ ̃ nh sau:ư
f1 = f0 =1 ;
fn = fn-1 + fn-2 ; (n>1)
Điê u kiên d ng: f(0) = f(1) = 1.̀ ̣ ừ
long Fibonaci (int n) {
if(n==0 || n==1) return 1;
return Fibonaci(n-1) + Fibonaci(n-2); }
Trong thân cua ha m co l i goi ha m goi lai chi nh no đ̉ ̀ ́ ờ ̣ ̀ ̣ ̣ ́ ́ ược đăt bên ̣
trong vo ng lăp.̀ ̣
<Kiêu d liêu ha m> ̉ ữ ̣ ̀ TenHam (<danh sa ch tham sô >)́ ́
{
for (int i = 1; i<=n; i++)
{ //Th c hiên môt sô công viêc (nê u co )ự ̣ ̣ ́ ̣ ́ ́
if (điê u kiên d ng)̀ ̣ ừ
{ . . .
//Tra vê gia tri hay kê t thu c công viêc̉ ̀ ́ ̣ ́ ́ ̣
}else else
{ //Th c hiên môt sô công viêc (nê u co )ự ̣ ̣ ́ ̣ ́ ́
Vi du:́ ̣ Ti nh sô hang th n cua da y {X́ ́ ̣ ứ ̉ ̃ n} được đinh nghi a nh ̣ ̃ ư
sau: X0 =1 ;
Xn = n2X0 + (n-1)2X1 + … + 12Xn-1 ; (n≥1)
Điê u kiên d ng:X(0) = 1.̀ ̣ ừ
long TinhXn (int n) {
if(n==0)
return 1; long s = 0;
for (int i=1; i<=n; i++)
Trong thân cua ha m na y co l i goi ha m đê n ha m kia ̉ ̀ ̀ ́ ờ ̣ ̀ ́ ̀
va trong thân cua ha m kia co l i goi ha m t i ha m ̀ ̉ ̀ ́ ờ ̣ ̀ ớ ̀
<Kiêu d liêu ha m> ̉ ữ ̣ ̀ TenHam2 (<danh sa ch tham sô >);́ ́
<Kiêu d liêu ha m> ̉ ữ ̣ ̀ TenHam1 (<danh sa ch tham sô >)́ ́
{
//Th c hiên môt sô công viêc (nê u co )ự ̣ ̣ ́ ̣ ́ ́
…TenHam2 (<danh sa ch tham sô >); ́ ́
//Th c hiên môt sô công viêc (nê u co )ự ̣ ̣ ́ ̣ ́ ́
}
<Kiêu d liêu ha m> ̉ ữ ̣ ̀ TenHam2 (<danh sa ch tham sô >)́ ́
{
//Th c hiên môt sô công viêc (nê u co )ự ̣ ̣ ́ ̣ ́ ́
…TenHam1 (<danh sa ch tham sô >); ́ ́
//Th c hiên môt sô công viêc (nê u co )ự ̣ ̣ ́ ̣ ́ ́
Vi du:́ ̣ Ti nh sô hang th n cua hai da y {X́ ́ ̣ ứ ̉ ̃ n}, {Yn} được đinh nghi a nh ̣ ̃ ư
sau:
X0 =Y0 =1 ;
Xn = Xn-1 + Yn-1; (n>0)Yn = n2Xn-1 + Yn-1; (n>0) Yn = n2Xn-1 + Yn-1; (n>0)
- Điê u kiên d ng:X(0) = Y(0) = 1.̀ ̣ ừ
long TinhYn(int n); long TinhXn (int n) {
if(n==0)
return 1;
return TinhXn(n-1) + TinhYn(n-1); }
long TinhYn (int n) {
Xác đ nh các khai báo hàm c a các bài toán sau:ị ủ
1.Viê t ch́ ương tri nh ti nh diên ti ch va chu vi cua ̀ ́ ̣ ́ ̀ ̉
hi nh ch nhât v i chiê u da i va chiê u rông ̀ ữ ̣ ớ ̀ ̀ ̀ ̀ ̣
được nhâp t ba n phi m.̣ ừ ̀ ́
2.Viê t ch́ ương tri nh ti nh diên ti ch va chu vi hi nh ̀ ́ ̣ ́ ̀ ̀
tro n v i ba n ki nh đ̀ ớ ́ ́ ược nhâp t ba n phi m.̣ ừ ̀ ́
3.Nhâp va o 3 sô th c a, b, c va kiêm tra xem ̣ ̀ ́ ự ̀ ̉
chu ng co tha nh lâp tha nh 3 canh cua môt tam ́ ́ ̀ ̣ ̀ ̣ ̉ ̣
gia c hay không? Nê u co ha y ti nh diên ti ch, ́ ́ ́ ̃ ́ ̣ ́
chiê u da i mô i đ̀ ̀ ̃ ường cao cua tam gia c va in ̉ ́ ̀