Cac Buoc Giai Bai Toan Trong Tin Hoc

You might also like

Download as pdf or txt
Download as pdf or txt
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