14
Giáo trình Nhập môn Tin học: Phần II - Thuật toán GVC: Đào Tăng Kiệm TRƯỜNG ĐẠI HỌC XÂY DỰNG KHOA CÔNG NGHỆ THÔNG TIN ------------ ------------ GIÁO TRÌNH MÔN HỌC: NHẬP MÔN TIN HỌC PHẦN II – THUẬT TOÁN Giảng viên: ĐÀO TĂNG KIỆM Bộ môn : TIN HỌC XÂY DỰNG Hà nội 2011 ----------

Giao Trinh Tin Dai Cuong_Kiem

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