Qui phi tuyê n ́

Một phần của tài liệu Hàm con doc (Trang 27 - 39)

- 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 ̉ ́ ̀

Một phần của tài liệu Hàm con doc (Trang 27 - 39)