04-Giai Quyet Bai Toan
description
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