You are on page 1of 15

Bi 5: * Hm con *

Ni Dung:

I. Gii thiu v chc nng ca hm con trong C.


II. Quy tc hot ng S khc nhau gia bin trong cc hm.
III. Cu trc v cch vit ca hm con.
IV. Mt s dng hm con thng dng.
V. Hm quy.
I. Gii thiu v chc nng ca hm con trong C:

Hm con trong C thc cht l lnh hay khi lnh thc hin mt hoc nhiu
cng vic cho hm main.
Hm con nhn bin t hm m (main) ri thc hin tnh ton hon thnh
nhim v ca n.
S S
Hiu mt cch khc mi hm con c mt chc nng ring, chng phi nhn
th th
1 2
d liu ngun t hm m hon thnh nhim v ca mnh.
VD1: Sp v nhn vin ng sch 2 quyn sch thnh 1.
a vo 2 quyn sch => 1 quyn.
Hm con tnh tng 2 s
VD2: Hm con tm tng 2 s: bt k.
a vo 2 s => tng 2 s .
VD3: Hm sp xp mt dy s theo tng dn.
a vo mt dy s => dy s sp theo tng dn. Tng
hai s
II. Quy tc hot ng S khc nhau gia bin trong cc
hm: (1)
Quy tc hot ng ca hm: (Ci quy tc kh hiu nht mnh vit
kekeke ^^)
B1: Nhn gi tr cc bin t hm main vo cc bin ca n theo th t.
B2: Thc hin tnh ton trn cc bin trong hm.
B3: Nu c kt qu tr v hm s bin thnh kt qu ca n (kt qu n tnh ton
ra c t d liu vo). Ta c th in s ny ra nh bnh thng hoc lu n vo
mt bin khc.
Kh hiu vi nh :v. Thi ly Chng trnh ra lm vd lun he.
VD1: Chng trnh tnh tng 2 s bng hm con. Untitled12.cpp
VD2: Ri gi t mu ny mnh vit chng trnh tm s ln nht trong 2 s bng
hm con. ^^. Untitled1.cpp
VD3: tip tc vit CT tnh trung bnh cng 2 s bng hm con vd1.
Untitled3.cpp
II. Quy tc hot ng S khc nhau gia bin trong
cc hm: (2)
S khc nhau gia bin trong cc hm:
Bin gia cc hm (con-m, con-con) c th trng tn vs nhau v chng
hon ton ring bit nhau.
Tn bin v tn ca hm c t vn phi tun th quy tc t tn
trong C.
Tn bin v hm khng c trng nhau. (ci ny tng i thi nhng
mnh khuyn cc bn nn tuyt i khng ti ny trng nhau ^^).
III. Cu trc v cch vit ca hm con. (1)

<Kiu tr v k> tn hm(khai bo cc bin ln lt){


khi lnh;
return <gi tr kiu k>;
}
III. Cu trc v cch vit ca hm con. (2)
Mt s lu :
Tn hm v cc bin trong hm phi khai bo ng quy tc.
Tn hm khng trng tn bin.
Nu hm khng c kiu tr v th kiu s l void. Nu c kiu tr v cu
lnh return phi tr v mt biu thc cng kiu vi ktv.
Tn hm chnh ch c t l main v khng c danh sch bin a
vo main(void) nhng hm main t void c php b qua.
Cch xc nh c hm c kiu tr v hay khng: (Vn nan gii ^^)
xc nh c c kiu tr v hay khng ta tm thi tun theo
nguyn tc sau: (tm thi thi ^^. Sang cc mn sau c th k cn ng)
o Nu kt qu ca hm l 1 trong 3 kiu s nguyn, thc hoc k t v
kt qu ny cn dng tnh ton tip. =>c return;
o Ngc li => khng c return;
III. Cu trc v cch vit ca hm con. (3)
Gi ta p dng tt c nhng g va hc lm 2 bi tp sau:
Bi 1: Vit chng trnh con tm tng 2 s thc. Dng hm con ny vit
chng trnh tnh trung bnh cng ca 3 s thc nhp t bn phm.
bai1.cpp
Bi 2: Vit chng trnh con tm bnh phng ca mt s. p dng hm
ny vit chng trnh tm hiu hai bnh phng.
Bi tp: (1)
Mnh vn khuyn cc bn nn c gng t lm. Khi qu b >< th c phn gi mu
tm hoc xem li bi ging ri hy xem p n v nh vy chng ta hc s hiu qu
hn. CHC CC BN HC TT. ^^.
Bi 1: Vit hm tm s ln nht trong hai s. p dng tm s ln nht trong ba s a,b,c
vi a, b, c nhp t bn phm. (Tng t bi 1 phn III)
Bi 2: Vit mt hm tnh tng cc ch s ca mt s nguyn. Vit chng trnh nhp
vo mt s nguyn, dng hm trn kim tra xem s c chia ht cho 3 khng. Mt
s chia ht cho 3 khi tng cc ch s ca n chia ht cho 3. (Phn hm con: Nhn s
nhp t hm main, sau chia % cho 10 ly s cui cng cng dn vo tng ri chia
s cho 10. Sau khi c tng ch s, ta kim tra xem tng ny c chia ht cho 3
khng? nu c s cng chia ht cho 3 v ngc li)
VD: S nhn vo hm con l n= 356.
o 356%10=6; S=0+6=6; n=n/10= 35;
o 35%10=5; S=6+5=11; n=n/10=3;
o 3%10= 3; S=11+3=14; n=n/10=0; (dng li)
o Vy S=14 khng chia ht cho 3 nn n=356 cng khng chia ht cho 3;
Bi tp: (2)
Bi 3: Vit chng trnh con in ra mn hnh n k t c. Ri Vit chng
trnh in ra dng nh hnh di y. (Ta nhp s lng v k t th nht ri
a n cho hm con in ra n1 k t c1 sau gi hm con a tip n2,c2
cho n in ra. Tc l gi 2 ln mi ln a vo d liu khc nhau).
Bi tp: (3)
Bi 4: Vit chng trnh con tm UCLN ca 2 s nguyn dng. Dng hm
con ny vit chng trnh kim tra mt phn s ti gin hay cha?
Tm UCLN: ta gn 1 bin u bng s nh nht trong 2 s cn tm UCLN.
Sau chy vng lp thc hin gim u i mt n v n khi c 2 s
iu chia ht cho u th dng li. (iu kin lp l a%u!=0||b%u!=0 => 1
trong 2 thng cha chia ht cho u th cn lm ^^).
Phn s ti gin l ps m UCLN ca t v mu ca n bng 1.
Bi gii: (1)

Gi hm lng nhau. Kt qu
ca hm max trong tr v lm
bin tip cho hm max ngoi.
Bi gii: (2)
Bi gii: (3)

- Lnh c th vit theo chiu


ngang min l kt thc bng
du ; ng
- Hai hm fflush(stdin) mnh vit
ngang l vi hm main c th
b c.
Bi gii: (4)

You might also like