Upload
da-quy-thien-nhien
View
220
Download
2
Embed Size (px)
DESCRIPTION
Phan II_Thuat Toan1. các bước xây dựng chương trình và giải thuật toán trên máy tính2. khái niệm về thuật toán và giải thuật
Citation preview
Gio trnh Nhp mn Tin hc: Phn II - Thut ton GVC: o Tng Kim
B mn Tin hc Xy dng 1
TRNG I HC XY DNG KHOA CNG NGH THNG TIN
------------ ------------
GIO TRNH
MN HC: NHP MN TIN HC
PHN II THUT TON
Ging vin: O TNG KIM B mn : TIN HC XY DNG
H ni 2011
----------
Gio trnh Nhp mn Tin hc: Phn II - Thut ton GVC: o Tng Kim
B mn Tin hc Xy dng 2
PHN 2
GII BI TON TRN MY TNH THUT TON
I. CC BC XY DNG CHNG TRNH V GII BI TON TRN MY TNH
1. Thu thp d liu thit k chng trnh (User Requirement): yu cu ca bi ton v u vo, u ra, giao din, h thng, ngi s dng, ni dung cn tnh ton, x l
2. Phn tch bi ton v xy dng gii thut (Algorithm- Analyze -Code): thit lp cu trc d liu, cch lu tr, tm kim, chn phng php v cch gii -> xy dng s tng th v cc thut ton chi tit cho bi ton hoc vit Code ca chng trnh.
3. Chn ngn ng lp trnh v vit chng trnh (Write Program): gii quyt bi ton theo s thut ton lp.
4. Kim tra s ng n ca chng trnh (Test): th nghim chng trnh vi cc d liu khc nhau c th xy ra trong bi ton kim tra tin cy ca chng trnh. Trong phn ny c th c mt s giai on : Kim tra tng m un trong chng trnh ; Mc ni cc m un vi nhau.
5. Vn hnh - Bo tr ( Maintenance): Chng trnh c em ra x dng thc t v nhn s phn hi ca ngi s dng, khch hng. Ty thuc vo cht lng ca chng trnh n c th c kim tra v ng k bn quyn hoc phi sa cha.
II. KHI NIM V THUT TON V GII THUT
1. Khi nim v thut ton Thut ton l mt chui cc php x l thng tin, a ra phng php v trnh t gii mt bi ton trn my tnh. Thut ton c hiu l cc bc, cc mo, lut thc hin cc qu trnh x l thng tin.
2. Cc c trng c bn: - Cc qui nh th hin s thut ton phi thng nht v theo qui nh chung nn mi ngi u c th hiu c s thut ton.
3. c im : - Thut ton ch c ngha vi ngi lp trnh, my tnh khng hiu c.
Gio trnh Nhp mn Tin hc: Phn II - Thut ton GVC: o Tng Kim
B mn Tin hc Xy dng 3
- Cng mt vn c th c nhiu phng n lp s thut ton khc nhau. - Thut ton c th m t cc bc chnh ca bi ton (TT tng qut) hoc chi tit tng bc gii ca vn (thut ton chi tit). - Thut ton hay, cch gii ngn, kt qu chnh xc ph thuc vo phng php gii, trnh v kinh nghim ca ngi lp trnh.
4. Cc cu trc c bn ca thut ton - Cu trc tun t - Cu trc r nhnh - Cu trc lp
5. Cch biu din s thut ton Thng thng c 2 cch th hin s thut ton : theo s khi v s tuyn. S khi : l cc bc lu tr, cc php x l thng tin c t trong cc khi.
Cc khi ni vi nhau bng cc ng lin lc, ng phn chia, hp, ni tip S tuyn :l tt c cc bc lu tr, x l TT c ghi trn mt ng lin tc
t trn xung di. V d:
Cu trc S khi Cu trc S tuyn
Gio trnh Nhp mn Tin hc: Phn II - Thut ton GVC: o Tng Kim
B mn Tin hc Xy dng 4
6. K hiu c bn dng trong s thut ton :
Khi bt u, kt thc
Khi nhp d liu t bn phm- xut d liu ra mn hnh
Khi tnh ton
Khi kim tra- So snh
Khi ni tip Cc ng lin lc
K hiu chng trnh con
Cc thit b xut kt qu ra a, giy in
7. Cc bc cn chun b trc khi vit s thut ton: T chc d liu cho chng trnh : + Xc nh nhng s liu no cn nhp vo chng trnh (l cc d liu do u bi cung cp) + Xc nh cc d liu pht sinh trung gian trong qu trnh tnh ton, d liu cn xut kt qu (da theo yu cu ca bi ton) + Mi loi d liu cn xc nh cc thng tin: - S lng bin - Cu trc d liu: Loi bin ( n, mng, bn ghi ) - Kiu d liu: nguyn, thc, bn ghi, kiu mi t t . . . - Tn ca d liu: tn bin, hng, kiu, bn ghi ( ngi dng t t, nn t ngn,
vit tt ngha ca bin ) Xc nh cc cng thc tng qut cn tnh (ch nm ngoi chu trnh hoc trong
chu trnh). Trnh t cc bc cn thc hin: vi nhng bi ton phc tp cn th hin 2 loi
s : S thut ton tng qut (cc khi thc hin chnh); S thut ton chi tit: din gii cc bc thc hin cho tng khi chnh
Gio trnh Nhp mn Tin hc: Phn II - Thut ton GVC: o Tng Kim
B mn Tin hc Xy dng 5
III. CC DNG THUT TON C BN
1. Dng thut ton n gin cu trc tun t Khi nim: Thut ton n gin l cc bc ( nhp d liu, tnh ton, x l,
xut kt qu) c thc hin tun t t trn xung di theo ng mi tn . V d s 1: Vit s thut ton tnh : Chu vi y, Din tch y, Din tch
xung quanh, Din tch ton phn, Th tch ca mt hnh tr c kch thc bt k.
Phn tch : + D liu cn nhp vo: Bn knh, chiu cao ca hnh tr; Cu trc d liu: bin n; Kiu bin: s thc ; t tn bin : R,H
+ Cn tnh: t tn bin : CVD,DTD, DTXQ, DTTP, TT. Loi d liu: bin n; Kiu bin: s thc ;
Cc cng thc: Chu vi y: CVD = 2R Din tch y: DTD = R2 , Din tch xung quanh: DTXD= CVD*h, Din tch ton phn : DTTP= DTXQ + 1* DTD , Th tch TT= DTD*h ;
+ Cc d liu cn xut kt qu: cc d liu va tnh: CVD,DTD, DTXQ, DTTP, TT Th hin s : Thut ton V d 1 Thut ton V d 2
2. Dng thut ton phn nhnh
Khi nim: Thut ton phn nhnh l cu trc c t nht mt khi kim tra hay so snh, da vo kt qu kim tra, la chn hng tnh ton. C th r nhnh i hoc nhiu nhnh, nhng mi ln thc hin, ch i theo mt nhnh.
Gio trnh Nhp mn Tin hc: Phn II - Thut ton GVC: o Tng Kim
B mn Tin hc Xy dng 6
Mt s dng tng qut: a)
b)
c)
d)
Gii thch cc i lng : BTK- Biu thc iu kin. Kt qu ca biu thc ch nhn mt trong 2 gi tr ng hoc sai. BTC- Biu thc chn, kt qu c th l mt hng nguyn hoc k t. S lng kt qu khng hn ch. Nhm lnh 1, 2 : l cc lnh trong min tc dng cn thc hin khi gi tr biu thc ng hoc Sai. Cc dng: Dng a) : Dng phn nhnh i khng y , ch thc hin khi biu thc iiu kin ng. Dng b) : Dng phn nhnh i y , thc hin vi mi gi tr ca BTK (mt nhnh cho gi tr ng, mt nhnh cho gi tr sai). Dng c) : Dng phn nhnh lng nhau: c th y hoc khng y v mc lng nhau ty . Dng d) : Dng n nhnh.
Cch thc hin nhnh i: - Tnh ton v kim tra biu thc iu kin (BTK). - Nu BTK c gi tr ng th nhm lnh 1 s c thc hin (b qua nhm lnh
2), ngc li nhm lnh 2 c thc hin. - Thc hin cc khi tip theo.
Gio trnh Nhp mn Tin hc: Phn II - Thut ton GVC: o Tng Kim
B mn Tin hc Xy dng 7
Cch thc hin dng n nhnh: - Da theo gi tr ca biu thc chn (BTC) m thc hin mt trong cc nhnh tng ng. V d gi tr BTC = N1 thc hin Nhm lnh 1,gi tr l Nn, thc hin nhm lnh n.
- Mi ln ch thc hin 1 nhnh, b qua cc nhnh kia v kt thc lnh. V d s 2: Cho 3 s a,b,c . Vit thut ton tm s ln nht trong 3 s . V d s 3: Vit thut ton gii phng trnh bc 2: Ax2 + Bx + C = 0 (trang 19) V d s 4: Vit s thut ton tnh s lng sinh vin c tui t 18-20, 21-25,
26-30 v trn 30. K hiu s lng sinh vin cc nhm l SL1, SL2, SL3, SL4. Thut ton v d 3 Thut ton v d 4
3. Dng thut ton chu trnh Chu trnh lng nhau
3.1. Dng thut ton mt chu trnh Khi nim : Thut ton lp l cu trc trong mt nhm lnh (min tc ng)
c lp i lp li nhiu ln, c dng tng qut khng thay i, c th bin i mt s tham s trong min. C 2 dng lp: lp vi s ln lp xc nh (dng a) hoc lp vi s ln khng xc nh (dng b ).
Mt s dng tng qut cu trc:
Gio trnh Nhp mn Tin hc: Phn II - Thut ton GVC: o Tng Kim
B mn Tin hc Xy dng 8
Dng a)
Dng b)
Gii thch: BK - bin iu khin hay bin m ca chu trnh; n1,n2,n3 l cc
gi tr u, bc nhy v gi tr cui ca bin iu khin. Cc lnh lp: l cc khi cn thc hin trong min tc dng ca chu trnh.
Cch thc hin: Dng a) - Bc 1 : Gn gi tr u cho bin iu khin - Khi 1 - Bc 2 : Thc hin cc lnh trong min tc ng ca chu trnh lp Khi 2 - Bc 3 : Tng gi tr ca bin iu khin Khi 3 - Bc 4 : Kim tra BK vt qua gi tr cui hay cha, nu cha quay li thc hin t bc 2, nu vt qu, kt thc qu trnh lp (thc hin cc bc tip theo)- Khi 4. Cch thc hin: Dng b) - Bc 1 : Gn gi tr u cho bin iu khin - Khi 1 - Bc 2 : Kim tra BK, nu tha mn iu kin lp, thc hin bc 2, nu khng tha mn iu kin, kt thc qu trnh lp (thc hin cc bc tip theo)- Khi 4. - Bc 3 : Thc hin cc lnh trong min tc ng ca chu trnh lp Khi 2 - Bc 4 : Tng gi tr ca bin iu khin Khi 3 Ch : - Vi dng a) chu trnh lun thc hin t nht 1 ln, vi dng b) nu biu
thc iu kin khng tha mn, c th dng ngay chu trnh ( khng thc hin ln no).
- Thut ton chu trnh lun tn ti 4 khi
Gio trnh Nhp mn Tin hc: Phn II - Thut ton GVC: o Tng Kim
B mn Tin hc Xy dng 9
- Khng c thay i cc gi tr n1,n2,n3 trong min tc dng chu trnh. - C th kt thc chu trnh sm ( trc khi lp s ln khai bo)- nhy t trong ra
ngoi chu trnh. - Khng cnhy t ngoi chu trnh vo trong chu trnh V d s 5: Cho mt vc t A c n phn t. Vit s thut ton tnh tng cc
phn t trong vc t. Phn tch: - Cc bin cn nhp: n (bin n) ; vc t A (bin mng), nhp tng phn t Ai, bc ny lp n ln. - Tnh ton: Tng cc phn t: T (bin n). tnh tng : gi s ban u T=0; sau cng tng phn t vo T , c dng T T+ Ai ( vi i chy t 1-n) : cng thc ny c lp n ln.
Thut ton V d 5 Thut ton V d 6
Gio trnh Nhp mn Tin hc: Phn II - Thut ton GVC: o Tng Kim
B mn Tin hc Xy dng 10
V d s 6: Cho mt vc t B c m phn t. Vit s thut ton tm gi tr ln nht ca vc t.
Phn tch: - Cc bin cn nhp: m (bin n) ; vc t B (bin mng), nhp tng phn t Bi, bc ny lp m ln.
- Tnh ton: Gi tr ln nht k hiu Max (bin n). tm gi tr ln nht: gi s ban u Max = B1; sau ly tng phn t Bi kim tra vi Max (vi i chy t 1-n), nu phn t no ln hn gn li Max Bi,: cng thc ny ch thc hin khi iu kin KT l ng.
3.2. Dng Thut ton chu trnh lng nhau: V nguyn tc thut ton chu trnh lng nhau cng ging nh thut ton 1 chu trnh, mi chu trnh cng c 4 khi v 4 bc thc hin nh thut ton 1 chu trnh.
Ch : - Mi chu trnh c mt bin iu khin ring (thng k hiu i,j,k .) - Cc gi tr n1,n2,n3 ca bin iu khin mi chu trnh c th ging hoc khc
nhau. - Ton b chu trnh trong l mt phn ca min tc dng chu trnh ngoi (nm trong
khi 2). - S ln thc hin ca chu trnh trong nhiu hn chu trnh ngoi, bin iu khin ca
chu trnh trong s tng trc. - Dng tng qut :
Chu trnh c s ln lp bit
Chu trnhc s ln lp cha bit
Gio trnh Nhp mn Tin hc: Phn II - Thut ton GVC: o Tng Kim
B mn Tin hc Xy dng 11
V d s 7: Cho mt lp hc c m ngi v im thi tng mn ca n mn. Vit s thut ton :
- Tm im trung bnh n mn ca mi ngi - Tm danh sch nhng ngi c im trung bnh >8 .
Phn tch: - Cc bin cn nhp: s ngi m (bin n); vc t h tn HT( mng 1 chiu), nhp tng phn t HTi, lp m ln; Nhpim thi tng mn D (mng 2 chiu, mi hng l cho mt ngi, mi ct l cho mt mn), nhp tng phn t Dij, bc ny lp mxn ln.
- Tnh ton: + im trung bnh tng ngi k hiu TB (mng 1 chiu, m phn t): Tm tng im cc mn ca ngi th i: Tbi Tbi+Dij ( mi chu trnh i lp n ln chu trnh j). Kt thc chu trnh j, tnh trung bnh: Tbi = Tbi /n + Tm danh sch: C 2 cch: Kim tra im trung bnh tng ngi, nu ai c Tbi>8 in ngay tn ca ngi tng ng. Hoc lp danh sch mi ch cha tn nhng ngi c im TB >8 ( s lng cha bit) - Xut kt qu : In ra mn hnh vc t im trung bnh TB (m ngi); Danh sch
nhng ngi c DTB ln hn 8 (In trc tip).
Thut ton V d 7
Gio trnh Nhp mn Tin hc: Phn II - Thut ton GVC: o Tng Kim
B mn Tin hc Xy dng 12
V d s 8: Cho ma trn A vung c m hng, m ct. Vit s thut ton tm tch ca cc phn t nm trong khong [x , y] cho trc v tng cc phn t dng nm pha trn ng cho chnh.
Thut ton V d 8
V d 9: Cho mt ma trn A c m hng, m ct. Ma trn B c n hng, n ct.
Yu cu : Vit s thut ton ghp hai ma trn trn thnh ma trn C c m+n hng, m+n ct c dng nh hnh bn. Trong vit 1 chng trnh chnh l chng trnh iu khin v 3 chng trnh con, mt chng trnh con nhp d liu, mt chng trnh con ghp 2 ma trn v mt chng trnh con In kt qu ra mn hnh. Phn tch bi ton:
- Cc chng trnh con nhp d liu v xut kt qu ta vit cho mt ma trn X bt k, c kch thc gi nh n1,n2. Chng trnh con ghp ly ng tn cc ma trn A,B,C. Chng trnh con xut d liu, v thut ton s ging nhp DL.
Gio trnh Nhp mn Tin hc: Phn II - Thut ton GVC: o Tng Kim
B mn Tin hc Xy dng 13
- Chng trnh iu khin s gi 2 ln chng trnh con Nhp d liu (thay X bng A,B, thay n1,n2 bng m, n) nhp cho A v B; v gi chng trnh con ghp 2 ma trn.
Thut ton V d 9 Chng trnh con Nhp D liu cho mt mng
Chng trnh con
Ghp 2 ma trn A,B vo ma trn C
Chng trnh con xut kt qu
Chng trnh chnh
Gio trnh Nhp mn Tin hc: Phn II - Thut ton GVC: o Tng Kim
B mn Tin hc Xy dng 14
V d 10: Cho d liu ca mt phng dn c gm m h, bit h tn ch h (HT), s in tiu th tng thng (DTT) trong 12 thng ca nm. Vit thut ton nhp d liu cho c phng vi cc yu cu sau:
- Nhp cc d liu vo my. - Tnh tng s in tiu th (TD) ca mi h trong c nm - Lp danh sch (DS) nhng h tiu thu in c nm > X s.
Thut ton V d 10