04-Giai Quyet Bai Toan

9
 1 TRƯỜNG ĐẠI HC BÁCH KHOA HÀ NI VIN CÔNG NGHTHÔNG TIN VÀ TRUYN THÔNG TIN HC ĐẠI CƯƠNG Bài 4: Gii quyết bài toán Ni dung 4.1. Bài toán (problem) 4.2. Gii quyết bài toán bng máy tính 4.3. Biu din thut toán 4.4. Các phương pháp thiết kế thut toán 2 Ni dung 4.1. Bài toán (problem) 4.2. Gii quyết bài toán bng máy tính 4.3. Biu din thut toán 3  4.1. Bài toán (problem) “Bài t oán” hay “Vn đề Vn đề có nghĩa rn g hơn bài toán  Bài toán là mt loi vn đề để gii quyết phi liên quan ít nhiu đến tính toán: bài toán trong vt lý, hóa hc, xây dng, kinh tếHai loi v n đề  Theorema: là vn đề cn được khng định tính đúng sai.  Problema: là vn đề cn tìm đư c gii pháp để đạt được mt mc tiêu xác định tnhng điu kin ban đầu nào đó. 4

description

Tin Đại Cương

Transcript of 04-Giai Quyet Bai Toan

  • 1TRNG I HC BCH KHOA H NIVIN CNG NGH THNG TIN V TRUYN THNG

    TIN HC I CNGBi 4: Gii quyt bi ton

    Ni dung

    4.1. Bi ton (problem)

    4.2. Gii quyt bi ton bng my tnh

    4.3. Biu din thut ton

    4.4. Cc phng php thit k thut ton

    2

    Ni dung

    4.1. Bi ton (problem)

    4.2. Gii quyt bi ton bng my tnh

    4.3. Biu din thut ton

    3

    4.1. Bi ton (problem)

    Bi ton hay Vn

    Vn c ngha rng hn bi ton

    Bi ton l mt loi vn m gii quyt phi lin quan t nhiu n tnh ton: bi ton trong vt l, ha hc, xy dng, kinh t

    Hai loi vn

    Theorema: l vn cn c khng nh tnh ng sai.

    Problema: l vn cn tm c gii php t c mt mc tiu xc nh t nhng iu kin ban u no .

    4

  • 24.1. Bi ton (2)

    Biu din vn -bi ton

    A B

    A: Gi thit, iu kin ban u

    B: Kt lun, mc tiu cn t

    Gii quyt vn -bi ton

    T A dng mt s hu hn cc bc suy lun c l hoc hnh ng thch hp t c B

    Trong Tin hc, A l u vo, B l u ra

    5

    Ni dung

    4.1. Bi ton (problem)

    4.2. Gii quyt bi ton bng my tnh

    4.3. Biu din thut ton

    6

    4.2. Gii quyt bi ton bng my tnh

    My tnh khng th dng gii quyt cc vn lin quan n hnh ng vt l hoc biu th cm xc

    My tnh ch lm c nhng g m n c bo phi lm. My tnh khng thng minh, n khng th t phn tch vn v a ra gii php.

    Lp trnh vin l ngi phn tch vn , to ra cc ch dn gii quyt vn (chng trnh), v my tnh s thc hin cc ch dn

    7

    4.2. Gii quyt bi ton bng my tnh (2)

    Phng n gii quyt bi ton c gi l thut ton/gii thut trong tnh ton

    Mt thut ton l:

    mt dy hu hn cc thao tc v trnh t thc hin cc thao tc sao cho sau khi thc hin dy thao tc ny theo trnh t ch ra, vi u vo (input) ta thu c kt qu u ra (output) mong mun.

    8

  • 39

    Cc tiu ch gii thut cn tha mn

    Tnh hu hn: gii thut phi dng sau mt s bc hu hn.

    Tnh ng : khi kt thc, gii thut phi cung cp kt qu ng n.

    Tnh hiu qu:

    Thi gian tnh ton nhanh

    S dng t ti nguyn khng gian nh b nh, thit b,

    Mang tnh ph dng, d hiu, d ci t v m rng cho cc lp bi ton khc.

    4.2. Gii quyt bi ton bng my tnh (3)

    Khng ch n gin l lp trnh

    Phc tp, gm nhiu giai on pht trin

    Cc giai on quan trng

    Bc 1. Xc nh yu cu bi ton

    Bc 2. Phn tch v thit k bi ton

    La chn phng n gii quyt (thut ton)

    Xy dng thut ton

    Bc 3. Lp trnh

    Bc 4. Kim th v hiu chnh chng trnh

    Bc 5. Trin khai v bo tr10

    Hai giai on chnh hin thc ha bi ton

    Giai on gii quyt vn Giai on thc hin11

    Ni dung

    4.1. Bi ton (problem)

    4.2. Gii quyt bi ton bng my tnh

    4.3. Biu din thut ton

    12

  • 413

    4.3. Biu din thut ton

    Cch 1: Ngn ng t nhin

    Cch 2: Ngn ng lu (lu /s khi)

    Cch 3: M gi (pseudocode) gi l ngn ng m phng chng trnh PDL (Programming Description Language).

    Cch 4: Cc ngn ng lp trnh nh Pascal, C/C++ hay Java. Tuy nhin, khng nht thit phi s dng ng k php ca cc ngn ng m c th c b mt s rng buc.

    4.3.1. Ngn ng t nhin

    S dng mt loi ngn ng t nhin lit k cc bc ca thut ton

    u im

    n gin

    Khng yu cu ngi vit v ngi c phi c kin thc nn tng

    Nhc im

    Di dng

    Khng lm ni bt cu trc ca thut ton

    Kh biu din vi nhng bi ton phc tp14

    15

    V d 1

    Bi ton: a ra kt lun v tng quan ca hai s a v b (>, < hay =).

    u vo: Hai s a v b

    u ra: Kt lun a>b hay a b, hin th a>b v kt thc

    B3: Nu a=b, hin th a=b v kt thc

    B4: (a

  • 54.3.2. Lu thut ton

    Bt u hoc kt thc

    Thao tc tnh ton hoc phc tp

    Lnh vo, lnh ra (read hoc write)

    Kim tra iu kin

    Lung thc hin

    Ni tip on lnh

    Mt s khi trong s khi dng biu din thut ton

    17 18

    Cu trc tun t

    Cc bc c thc hin theo 1 trnh t tuyn tnh, ht bc ny n bc khc

    Cng vic 1

    Cng vic 2

    Cng vic n

    Cu trc r nhnh

    Nu biu thc iu kin ng (gi tr chn l l True) thc hin cng vic 1.

    Nu biu thc iu kin sai (gi tr chn l l False) thc hin cng vic 2.

    19

    Cu trc lp

    Khi biu thc iu kincn ng, thc hin cngvic 1

    20

    Thc hin cng vic 1 khibiu thc iu kin cnng

  • 621

    V d 1 - M t bng lu thut ton

    S

    S

    4.3.2. S khi (2)

    u im

    Trc quan, d hiu, d thit k

    Cung cp ton cnh, tng quan v thut ton

    Nhc im

    Cng knh, c bit vi bi ton phc tp

    22

    4.3.3 M gi (pseudocode)

    Ngn ng ta (gn ging) vi ngn ng lp trnh c gi l m gi

    Mnh c cu trc

    Ngn ng t nhin

    u im

    Tin li, n gin

    D hiu, d din t

    Gii thiu chi tit trong bi sau

    23 24

    V d 2

    Bi ton: a ra tng, tch, hiu, thng ca hai s a v b.

    u vo: Hai s a v b

    u ra: Tng, tch, hiu v thng ca a v b.

    tng:

    Tnh tng, tch, hiu ca a v b

    Nu b khc 0, a ra thng

    Nu b bng 0, a ra thng bo khng thc hin c php chia

  • 725

    VD2 - Ngn ng t nhin (tun t cc bc)

    B1: Nhp s a v s b.

    B2: s a + b; d a b; p a * b

    Hin th

    Tng l s

    Hiu l d

    Tch l p

    B3: Nu b = 0, hin th Khng thc hin c php chia v kt thc

    B4: (b0) Hin th Thng l a/b v kt thc

    26

    V d 3

    Bi ton: Gii phng trnh bc I

    u vo: Hai h s a, b

    u ra: Nghim ca phng trnh ax + b = 0

    tng:

    Ln lt xt a = 0 ri xt b = 0 xt cc trng hp ca phng trnh

    27

    V d 3 - M t tun t cc bc

    B1: Nhp a v b.

    B2: Nu a0 th hin th Phng trnh c 1 nghim duy nht x = -b/a.

    B3: (a=0) Nu b 0 th hin th Phng trnh v nghim v kt thc

    B4: (a=0)(b=0) Hin th Phng trnh v s nghim v kt thc

    28

    V d 4

    Bi ton: Tm gi tr ln nht ca mt dy s nguyn c N s u vo: S s nguyn dng N v N s

    nguyn a1, a2,, aN u ra: s nguyn ln nht ca dy

    tng: Khi to gi tr Max = a1 Ln lt so snh Max vi ai vi i=2,3,, N;

    nu ai > Max ta gn gi tr mi cho Max

  • 8V d 4 tng

    29

    3 5 7 9 2max

    3

    5max

  • 933

    V d 5

    Bi ton: Sp xp bng phng php i ch (Exchange Sorting) u vo: Dy A gm N s nguyn a1, a2,, aN u ra: Dy A dc sp li theo th t tng.

    tng: Duyt t u dy, nu 2 s k cn nhau ngc th t

    (s ng trc ln hn s ng sau) th i ch s ln nht chm xung pha cui dy.

    Lp li bc trn vi on cn cha c sp xp

    34

    V d 5 - M t tun t cc bc

    B1: Nhp s N v dy s a1,a2,,aN B2: M N

    B3: Nu M>=2 ti B4

    Ngc li, M < 2 dy c sp xp xong. Kt thc.

    B4: Gn i 1

    B5: Nu i < M 1 ti B6

    Ngc li, gn M M 1, quay li B3.

    B6: Nu ai > ai+1 th i ch.

    B7 : Gn i i+1. Quay li B5.

    V d 5 - M t bng lu thut ton

    35