You are on page 1of 14

Cc bc gii bi ton trong tin hc

Chu Th T Anh

Phn I: m u
A- L do chn t i
Trong nhng nm gn y, vic o to v Cng ngh thng tin (CNTT) tr th nh nhu cu ng y c ng cp thit hn i vi mi ngi, t nhn vin bn h ng, k s, bc s v phng vin n nh doanh nghip, cn b qun l Ph hp vi xu th pht trin ca x hi, tin hc tr th nh mt mn hc chnh thc v c yu thch nh trng. Ngay t trn gh nh trng khng t hc sinh quyt tm hc tp tr th nh chuyn gia CNTT v mt s em t th nh tch cao ti cc k thi do tnh, quc gia t chc. Mt trong nhng mc tiu khi a tin hc v o trong nh trng l nhm gip cho hc sinh c kh nng phn tch, tng hp, tru tng ho, khi qut vn v c bit l pht huy t duy. Mun vy ngo i vic dy i tr tin hc trong nh trng nhm m bo tnh ph thng, hng nghip v dy ngh cn phi to iu kin cho cc hc sinh c nng khiu tin hc c pht trin v kh nng lp trnh gii quyt cc b i ton. gp phn v o vic phc v cho qu trnh dy v hc tin hc trong trng PTDT Ni tr, trong chuyn n y ti xin trnh b y:

Cc bc gii mt bi ton trong tin hc.


Ni dung chuyn gm 2 phn: A- Tm hiu cu trc d liu biu din b i ton. B- Cc bc gii b i ton trong tin hc.

B- Phng php nghin cu


Phng php ch yu khi vit chuyn : Cc bc gii bi ton trong tin Cc hc hc l nghin cu Sch gio khoa v mt s t i liu tham kho, t tng hp cht lc cc kin thc v ni dung cn thit xy dng chuyn .

nghin C- i tng nghin cu


Chuyn vit ra vi mc ch phc v cho qu trnh dy v hc tin hc trong trng PTDT Ni tr nn ni dung ngn gn, d hiu, khng qu phc tp. Hc sinh c th t nghin cu v hiu c.
1

Cc bc gii bi ton trong tin hc

Chu Th T Anh

Phn 2: Ni dung hn 2:
A- Tm hiu cu trc d liu biu din b i ton Cc b i ton trong thc t thng c d liu v o v kt qu ra thuc nhng kiu d liu quen bit nh: s nguyn, s thc, k t Khi cn lp trnh cho nhng b i ton nh vy, ngi lp trnh s dng cc kiu d liu thng gp mt s hn ch nht nh, ph thuc v o cc yu t nh: dung lng b nh, kh nng x l ca CPU V vy, mi mt ngn ng lp trnh thng cung cp mt s kiu d liu chun cho bit phm vi gi tr c th l tr, dung lng b nh cn thit lu tr v cc php ton tc ng ln d liu. Trong ngn ng Pascal ta c s cc kiu d liu nh sau: BOOLEAN INTEGER REAL CHAR

BASIC TYPE SIMPLE TYPE DATA TYPE STRUCTURE TYPE USER DEFINED TYPE ARRAY SET RECORD STRING FILE

SUBRANGE ENUMERATED

BOOLEAN: Kiu logic ch c th nhn mt trong hai gi tr TRUE hoc FALSE INTEGER: Kiu s nguyn (-32768..32767) REAL: Kiu s thc (2.9x10-39..1.7x1038) CHAR: Kiu k t gm 256 k t trong b m ASCII. SUB_RANGE: Kiu min con ca mt kiu s cp

Cc bc gii bi ton trong tin hc


V d: TYPE CHU_HOA=A..Z; Chu_thuong=a..z; So_nguyen=0..200;

Chu Th T Anh

ENUMERATED: Kiu lit k c nh ngha bng cch lit k tt c cc phn t c th c. V d: TYPE THU=(Chunhat, ThuHai, ThuBa, ThuTu, ThuNam, ThuSau, ThuBay); Color=(Red, Blue, Green, White, Black); ARRAY: Kiu mng gm mt tp hp cc phn t cng mt kiu d liu c s c xc nh bi ch s. V d: TYPE A=array[1..100] of integer; B=array[1..100,1..100] of integer; RECORD: Kiu bn ghi gm mt tp hp cc phn t thuc cc kiu d liu khc nhau. V d: TYPE Hocsinh=record HoTen:string[20]; Lop:1..12; DiemTB:real; Ketqua:Boolean; End; SET: Kiu tp hp gm mt s cc i tng c cng kiu c s. V d: TYPE Chucai= SET OF Char; Chuso= SET OF 0..9;

Cc bc gii bi ton trong tin hc


STRING: Kiu xu gm mt d y cc k t. V d: TYPE TRUONG: STRING[50]; HOTEN:STRING;

Chu Th T Anh

FILE: Kiu tp gm mt tp hp cc d liu c lin quan vi nhau v c cng kiu c nhm li th nh mt d y v c lu tr trn b nh nh ngo i. V d: TYPE Tep=FILE of integer; Bai=text;

Cc bc gii bi ton trong tin hc

Chu Th T Anh

B- Cc bc gii b i ton trong tin hc: I_ Bc 1: Xc nh bi ton: 1- Khi nim b i ton: Trong qu trnh tn ti v pht trin, mi c nhn lun phi lin tc gii quyt cc b i ton. Cuc sng l mt chui cc b i ton m ta phi i u gii quyt. Theo nhiu nh nghin cu th mi b i ton u c th din t theo mt s chung: A B Trong : + A: l gi thit, iu kin ban u hoc l ci cho, ci c khi bt u gii b i ton. + B: l kt lun, mc tiu cn t c hoc l ci phi tm, phi l m ra khi kt thc b i ton. + : l suy lun, gii php cn xc nh hoc l mt chui cc thao tc cn thc hin, cn thi h nh t nhng ci c A c c ci phi tm B. 2- Xc nh b i ton: Theo s trn th xc nh b i ton c ngha l xc nh A, B v nu c th c th xc nh lun cc thao tc c php s dng i t A n B. 3- B i ton trong tin hc: Mt b i ton trn my tnh cng mang y cc tnh cht ca mt b i ton tng qut ni trn nhng c th c din dt theo mt cch ni khc. * A: l input hay cn gi l thng tin v o. * B: l output hay cn gi l thng tin ra. * l chng trnh to ra t cc lnh c bn ca my cho php bin i t A th nh B. 4- Nhng kh khn: xc nh mt b i ton trn my tnh ta thng gp nhng kh khn sau: - Thng bo v A hay B khng y v khng r r ng. - Thng bo v cc iu kin t ra cho cch gii thng khng c nu ra mt cch minh bch. 5- Mt s v d: V d 1: Tm c chung ln nht ca hai s nguyn dng M v N. Input: hai s nguyn dng M v N. Output: c chung ln nht ca M v N.
5

Cc bc gii bi ton trong tin hc

Chu Th T Anh

V d 2: B i ton tm kim nh phn: Cho d y A tng gm N s nguyn khc nhau a1, a2, aN v mt s nguyn k cho trc. Cn bit c hay khng ch s i (1<=i<=N) m ai = k. Nu c h y cho bit ch s . Input: D y A l d y tng gm N s nguyn khc nhau a1, a2, aN , s nguyn k. Output: Ch s i m ai = k hoc thng bo khng c s hng n o ca d y A c gi tr bng k. V d 3: B i ton 8 qun hu: H y tm cc cch t 8 qun hu trn mt b n c vua sao cho khng c qun hu n o c th n qun hu n o. Input: - Mt b n c mt bng hnh vung gm 8 h ng v 8 ct. - Qun hu l qun c th n c bt k qun n o nm trn cng mt h ng, cng mt ct hay cng mt ng cho. - Ta c tt c 8 qun hu. Output: Cc bng vung trn c nh du v tr ca 8 qun hu sao cho khng c qun hu n o c th n qun hu n o khc, ngha l trn mi h ng, mi ct, mi ng cho ch c th c mt qun hu. 6- Mt s nhn xt: - Vic xc nh b i ton l rt quan trng n nh hng rt ln n n cch thc v cht lng ca vic gii quyt b i ton. - Mt b i ton cho d c din t bng thng bo chnh xc n u i chng na th phn ln thng tin v A v B l tim n trong u ngi gii. Thng bo v A hoc B ch l biu tng gi nh ti cc thng tin tim n . - Bc u tin xc nh mt b i ton l phi pht biu li b i ton mt cch chnh xc theo ngn ng ring ca mnh v chnh l cch tip cn b i ton, hiu b i ton. - Bc k tip l tm hiu cc thng tin Input A v thng tin Output B, tm cc mi lin gia chng.

Cc bc gii bi ton trong tin hc

Chu Th T Anh

II_ Bc 2: Chn cu trc d liu biu din bi ton: 1- Mt s lu khi chn cu trc d liu: - Cu trc d liu phi biu din c y cc thng tin nhp v xut ca b i ton. - Cu trc d liu phi ph hp vi thao tc ca thut ton m ta la chn gii quyt b i ton. - Cu trc d liu phi ph hp vi iu kin cho php ca ngn ng lp trnh v MTT ang c s dng. 2- Mt s v d: V d 1: Tm c chung ln nht ca hai s nguyn dng M v N. M, N l cc s nguyn dng nn cu trc d liu nguyn dng l hp l. C th s dng d liu kiu INTEGER. V d 2: B i ton tm kim nh phn: biu din d y gm N s nguyn th cu trc d liu y s dng mng mt chiu l hp l. C th l s dng mt mng gm c N s nguyn (kiu Integer). V d 3: B i ton qun l hc sinh ca mt lp: Thng tin v mt hc sinh bao gm: H tn, Ng y sinh, im Ton, vn, ngoi ng, l, ho, sinh, s ,a, TD, GDCD, Xp loi. a ra kt qu xp loi ca tng hc sinh trong mt lp. biu din thng tin v mt hc sinh ta s dng mt bn ghi (RECORD) biu din. Type HS = record HoTen:string[20]; NgaySinh:string[10]; Toan, Van, NN, Sinh, Su, Dia, GDCD, TD:real; DiemTB:real; XepLoai:char; End; biu din s hc sinh trong mt lp ta s dng mng (ARRAY): Var LopA: array[1..Nmax] of HS;

Cc bc gii bi ton trong tin hc


3_ Bc 3: Tm thut ton:

Chu Th T Anh

Tm thut ton l bc quan trng nht gii quyt mt b i ton. Mi thut ton ch c th gii c mt b i ton nhng mt b i ton c th c nhiu thut ton khc nhau. Khi thit k thut ton hoc la chn thut ton ngi ta thng quan tm n cc t i nguyn nh: thi gian thc hin, s lng nh V d: vi b i ton tm kim nh phn, d y cho l d y c sp xp nn thut ton tm kim nh phn (s trnh b y di y) cn t thao tc hn nhiu so vi thut ton tm kim tun t. V d 1: Tm c chung ln nht cua hai s nguyn dng M v N. Ta c thut ton Euclide c din t bng lu nh sau:

Begin

Nhp M, N

M<>N

CLN l M

end M>N

M:=M+N

M:=M-N

Cc bc gii bi ton trong tin hc


V d 2: B i ton tm kim nh phn: Ta c thut ton tm kim nh phn nh sau:

Chu Th T Anh

Nhp N v a1, a2 aN

Dau<-1;Cuoi<-N

Giua:=[(Dau+Cuoi)/2]

Agiua=k? Sai Agiua<k? ng Dau<-giua+1

ng

a ra giua ri kt thc

Sai

Cuoi<-Giua-1

Dau>Cuoi ng TB khng c phn t bng k ri kt thc

Sai

Cc bc gii bi ton trong tin hc


IV_ Bc 4: Lp trnh:

Chu Th T Anh

1- Khi nim: Lp trnh l dng ngn ng my tnh c th n o (v d Pascal) din t thut ton, cu trc d liu th nh cc cu lnh my tnh c th thc hin c v gii quyt ng b i ton m ngi lp trnh mong mun. 2- K nng lp trnh: - K nng lp trnh l k nng c i t th nh cng cc thut ton bng mt ngn ng lp trnh c th. - gi l k nng th ch c th c c thng qua vic tn luyn tch cc. - Kinh nghim cho thy mt thut ton hay nhng vic c i t ln xn, vng v khi chy trn my tnh c th cho kt qu rt ti t. 3- Pht trin chng tnh bng cch tinh ch tng bc: Tinh ch tng bc l phng php khoa hc, c h thng gip ta phn tch cc thut ton v cu trc d liu t vit th nh chng trnh. Mun lp trnh khng phi ch nm vng ngn ng lp trnh l , vn ct yu l bit pht trin dn dn chuyn cc tng th nh chng trnh ho n chnh. 4- Phng php tinh ch tng bc: Ban u chng trnh c vit bng nhng li t nhin (ngn ng ting Vit chng hn). - tng bc sau, mi cu li c phn tch ra chi tit hn bng nhiu cu li khc tng ng vi s phn tch mt cng vic th nh nhng cng vic nh hn. Mi cu li l mt s c t cng vic. - C ng nhng bc sau cc li t nhin c thay th bng cu li trong ngn ng lp trnh.. - Phng php tinh ch tng bc l mt th hin ca s t duy, gii quyt vn t trn xung trong s pht trin ca cc bc l hng v pha ngn ng lp trnh ang c s dng. 4- Cc v d: V d 1: B i ton tm c chung ln nht ca hai s nguyn dng M, N. Theo thut ton Euclid trnh b y trn ta tinh ch chng trnh nh sau: * Tinh ch ln 1: Bt u Nhp M, N. Lu M v o a, lu N v o b. (Lu li gi tr cho M v N) Chng n o M khc N th Nu M>N th thay th M bi M-N
10

Cc bc gii bi ton trong tin hc


Ngc li thay th N bi N-M. Xut CLN ca M, N l M. Kt thc. * Ting ch ln 2: Bt u; Nhp M, N; a<-M; b<-N; While M<>N do IF M>N then M<-M-N Else N<-N-M; In ra UCLN ca M v N l M; Kt thc. Chng trnh c th vit ho n chnh nh sau: Program UCLN; Var M,N,a,b: integer; Begin Write( Moi ban nhap gia tri M, N); readln(M,N); a:=M; b:=N; While M<>N do If M>N then M:=M-N Else N:=N-M: Writeln(CLN ca ,a,,,b, la:,M); Readln End.

Chu Th T Anh

V d 2: B i ton tm kim nh phn: Tinh ch ln 1: tng ca thut ton S dng tnh cht d y A l d y tng, ta thu hp nhanh phm vi tm kim sau mi ln so snh kho vi s hng c chn. l m iu l chn s hng agiua gia d y so snh vi k, trong giua=
N + 1 . 2

Khi ch xy ra mt trong 3 trng hp: + Nu agiua = k th a ra ch s giua cn tm. Vic tm kim kt thc. + Nu agiua > k th do A l d y sp xp tng nn vic tm kim tip theo s thc hin trn d y a1, a2, agiua-1. + Nu agiua < k th vic tm kim s c thc hin trn d y s agiua+, aN.
11

Cc bc gii bi ton trong tin hc

Chu Th T Anh

Qu trnh s c lp li mt s ln cho n khi hoc tm thy kho k trong d y A hoc phm vi tm kim bng rng. * Tinh ch ln 2: Bt u. B1- Nhp d liu B2- Dau<-1; Cuoi<-N; B3- Kim tra iu kin: Dau > Cuoi ? B3.1: Nu Dau< Cuoi th : B4- giua=
Dau + Cuoi . 2

B5- Nu agiua = k th thng bo ch s giua ri kt thc. B6- Nu agiua > k th t Cuoi<-giua-1 ri quay li B3 B7- Nu agiua < k th t Dau<-giua+1 ri quay li B3 B3.2: Nu Dau > Cuoi th thng bo d y A khng c s hng n o c gi tr bng k ri kt thc. * Tinh ch ln 3: Bt u. B1- Nhp d liu: N, cc s hng ca d y: a1, a2, aN. B2- Dau<-1; Cuoi<-N; B3- While Dau < Cuoi v cha tm thy k th 1. Tnh - giua=
Dau + Cuoi . 2

2. IF Agiua = k then thng bo Tm thy k Ngc li If Agiua > k then Cuoi<-giua-1 Ngc li Dau<-giua+1 B4- Nu khng tm thy k (tc Dau>Cuoi) th thng bo khng c s hng n o ca d y bng k. * Chng trinh ho n chnh: Program TKNP; Uses crt; Const Nmax=250; Type Arrint=Array[1..Nmax] of integer; Var N,i,k,Dau,Cuoi,giua:integer; A:Arrint; Timthay:boolean;
12

Cc bc gii bi ton trong tin hc


BEGIN Clrscr; Write(Nhap so phan tu cua day so N=); readln(N); Writeln(Nhap cac phan tu cua day so tang:); For i:=1 to N do Begin Write(PT thu ,i, la:); readln(A[i]); End; Write(Nhap k=); readln(k); Dau:=1; Cuoi:=N; Timthay:=false; While (Dau< Cuoi) and not(Timthay) do Begin Giua:=(Dau+Cuoi) mod 2; If A[giua] = k then Timthay:=true Else if A[giua]>k then Cuoi:=giua-1 Else Dau:=giua+1; End; If Timthay then writeln(Chi so tim duoc la:,giua) Else writeln(Khong tim thay!); Readln END. V-bc 5: Hiu chnh:

Chu Th T Anh

Sau khi c vit xong, chng trnh vn cn c th c nhiu li khc cha pht hin c nn c th khng cho kt qu ng. V vy, cn phi chy th chng trnh vi mt s b Input tiu biu ph thuc v o c th ca b i ton v bng cch n o ta bit trc Output. Cc b Input v Output tng ng n y c gi l cc Test. Nu c sai st ta phi sa chng trnh v th li. V d 1: Vi thut ton tm kim nh phn ta c th Test chng trnh vi cc b test tng ng vi kt qu l tm thy hoc khng tm thy. V d 2: Vi b i ton gii phng trnh bc hai: Ta c th Test chng trnh vi cc b test tng ng vi kt qu ca b i ton l : V nghim (Delta<0), C nghim kp (Delta=0), C hai nghim phn bit (Delta>0).

13

Cc bc gii bi ton trong tin hc

Chu Th T Anh

Kt lun
Qu trnh xy dng chng trnh l mt chui cc bc tinh t. mi bc, mt cng vic c phn ra l m nhiu cng vic con, ta s l m mn dn cc cng vic v c ng cc bc sau ta s hng cng vic v ngn ng lp trnh m ta ang s dng. Ngi lp trnh mun c k nng xy dng v pht trin chng trnh tt phi tri qua qu trnh rn luyn, tm ti v nghin cu. Trn y l chuyn Cc bc gii mt b i ton trong tin hc gip cho cc bn yu thch lp trnh c th xem nh mt t i liu tham kho, khai thc thm thng tin v cch gii quyt mt b i ton trong tin hc. Do hn ch v thi gian v kinh nghim, chuyn c th cn nhiu sai st, rt mong nhn c s ng gp kin ca cc bn. Xin chn th nh cm n!

Ngi vit chuyn

Chu Th T Anh

14

You might also like