You are on page 1of 9

Ni dung

TRNG I HC BCH KHOA H NI


VIN CNG NGH THNG TIN V TRUYN THNG

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

TIN HC I CNG
Bi 4: Gii quyt bi ton

Ni dung

4.1. Bi ton (problem)

4.1. Bi ton (problem)


4.2. Gii quyt bi ton bng my tnh
4.3. Biu din thut ton

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 .
3

4.1. Bi ton (2)

Ni dung

Biu din vn -bi ton

4.1. Bi ton (problem)


4.2. Gii quyt bi ton bng my tnh
4.3. Biu din thut ton

AB
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

4.2. Gii quyt bi ton bng my tnh

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

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

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.

Cc tiu ch gii thut cn tha mn

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

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:

Bc 1. Xc nh yu cu bi ton
Bc 2. Phn tch v thit k bi ton

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.

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 tr
9

Hai giai on chnh hin thc ha bi ton

10

Ni dung
4.1. Bi ton (problem)
4.2. Gii quyt bi ton bng my tnh
4.3. Biu din thut ton

Giai on gii quyt vn

Giai on thc hin

11

12

4.3. Biu din thut ton

4.3.1. Ngn ng t nhin

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.

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 tp
13

14

V d 1

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

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 hay a=b.

tng:

B1: Nhp s a v s b.
B2: Nu a> b, hin th a>b v kt thc
B3: Nu a=b, hin th a=b v kt thc
B4: (a<b) Hin th a<b v kt thc.

So snh a v b ri a ra kt lun

15

16

4.3.2. Lu thut ton

Cu trc tun t

Mt s khi trong s khi dng biu din thut ton

Bt u hoc kt thc

Cc bc c thc hin theo 1 trnh t tuyn


tnh, ht bc ny n bc khc
Cng vic 1

Thao tc tnh ton hoc phc tp


Lnh vo, lnh ra (read hoc write)

Cng vic 2

Kim tra iu kin

Ni tip on lnh

Cng vic n
Lung thc hin
17

18

Cu trc lp

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.

Khi biu thc iu kin


cn ng, thc hin cng
vic 1

19

Thc hin cng vic 1 khi


biu thc iu kin cn
ng

20

V d 1 - M t bng lu thut ton

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

21

4.3.3 M gi (pseudocode)

22

V d 2

Ngn ng ta (gn ging) vi ngn ng


lp trnh c gi l m gi

Bi ton: a ra tng, tch, hiu, thng


ca hai s a v b.

Mnh c cu trc
Ngn ng t nhin

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

u im

tng:

Tin li, n gin


D hiu, d din t

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

Gii thiu chi tit trong bi sau

23

24

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

V d 3

B1: Nhp s a v s b.
B2: s a + b; d a b; p a * b
Hin th

Bi ton: Gii phng trnh bc I


u vo: Hai h s a, b
u ra: Nghim ca phng trnh ax + b = 0

tng:

Tng l s
Hiu l d
Tch l p

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

B3: Nu b = 0, hin th Khng thc hin c


php chia v kt thc
B4: (b<>0) Hin th Thng l a/b v kt thc
25

26

V d 3 - M t tun t cc bc

V d 4

B1: Nhp a v b.
B2: Nu a<>0 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

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

27

28

V d 4 - M t tun t cc bc

V d 4 tng
max

max = 3

B1: Nhp N v dy s a1, a1, a2,,aN.


B2: Max a1; i=1.
B3: Nu i <= N, sang bc 4
Ngc li in ra gi tr Max. Kt thc.
B4: Nu ai > Max, Max ai
B5: Tng i ln 1 n v. Quay ln B3.
B6: Kt thc.

max<5
max<7

7
9

max<9
max>2

max>8
Kt qu

9
9
29

V d 4 - M t bng lu thut ton

30

Bi tp
Bi ton: Gii phng trnh bc II
u vo: Ba h s a, b, c
u ra: Nghim ca phng trnh
ax2 + bx + c = 0

tng:
Ln lt xt a = 0, b = 0 ri xt c=0 xt cc
trng hp ca phng trnh

31

32

V d 5

V d 5 - M t tun t cc bc

Bi ton: Sp xp bng phng php i ch


(Exchange Sorting)

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.

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

33

34

V d 5 - M t bng lu thut ton

35