SKKN Một số phương pháp giải toán trong BDHSG Tin họcSKKN Một số phương pháp giải toán trong BDHSG Tin họcSKKN Một số phương pháp giải toán trong BDHSG Tin họcSKKN Một số phương pháp giải toán trong BDHSG Tin họcSKKN Một số phương pháp giải toán trong BDHSG Tin họcSKKN Một số phương pháp giải toán trong BDHSG Tin họcSKKN Một số phương pháp giải toán trong BDHSG Tin họcSKKN Một số phương pháp giải toán trong BDHSG Tin họcSKKN Một số phương pháp giải toán trong BDHSG Tin họcSKKN Một số phương pháp giải toán trong BDHSG Tin họcSKKN Một số phương pháp giải toán trong BDHSG Tin họcSKKN Một số phương pháp giải toán trong BDHSG Tin họcSKKN Một số phương pháp giải toán trong BDHSG Tin họcSKKN Một số phương pháp giải toán trong BDHSG Tin học
Sở GD&ĐT QUảNG BìNH TRờng thpt số bố trạch TI: MT S PHNG PHP GII TON TRONG BI DNG HC SINH GII TRNG PT Gv: Nguyễn Hữu Đức Tổ: Tin Học Năm học 2012-2013 Mc lc I Lý chn ti Tr II Phn ni dung ti Tr C s lý lun ca ti Tr Thc trng ca Tr Cỏc bin phỏp gii quyt Tr a Gii thiu phng phỏp ỏnh du Tr b Gii thiu phng phỏp sinh Tr c Xõy dng cụng thc truy hi Tr Hiu qu ca sỏng kin kinh nghim Tr 10 III Tr 11 Kt lun Ti liu tham kho Tr 12 Tờn ti : MT S PHNG PHP GII TON TRONG BI DNG HC SINH GII TRNG PT I Lí DO CHN TI Bi dng hc sinh gii l mt nhim v rt cn thit v quan trng i vi mi giỏo viờn, vic tỡm tũi, su tm, biờn v tớch ly cỏc dng toỏn, cỏc phng phỏp gii l cụng vic thng nht ca mi giỏo viờn nhm nõng cao trỡnh chuyờn mụn nghip v, tớch ly kinh nghim cho bn thõn Trong quỏ trỡnh ging dy mụn Tin hc 11, cỏc ó c cp theo kin thc k nng ca chng trỡnh Tin hc ph thụng v ỏp dng vo gii mt s bi thc t cú hiu qu, nhiờn cỏc ú mi c gii thiu mc c bn, gii cỏc bo toỏn n gin vi d liu vo nh, cha nghiờn cu mc sõu rng hn, vic gii cỏc bi toỏn cỏc thi hc sinh gii gp rt nhiu khú khn, chớnh vỡ vy, phc v cho quỏ trỡnh ging dy v c bit l cụng tỏc bi dng hc sinh gii cp THPT, tụi ó tng hp c mt s phng phỏp gii toỏn c bn nhm phc v cho cụng tỏc bi dng hc sinh gii b mụn Tin hc trng PT Mc ớch l gii thiu mt s phng phỏp cựng thut toỏn gii cỏc bi toỏn tiờu biu cho phng phỏp ú Di õy l mt s phng phỏp: - Tỡm hiu thut toỏn phng phỏp ỏnh du - Tỡm hiu thut toỏn phng phỏp sinh - Xõy dng cụng thc truy hi - Gii thiu mt s thut toỏn v ci t chng trỡnh th hin cỏc thut toỏn ú II PHN NI DUNG C S Lí LUN CA TI Vic bi dng hc sinh gii l vic lm thng nht hng nm ca giỏo viờn, nu ch s dng nhng kin thc c trang b theo yờu cu ca chng trỡnh ph thụng s gp rt nhiu khú khn, thm cú nhiu bi toỏn khụng gii c theo yờu cu vi d liu vo ln v thi gian thc hin ngn Mt khỏc vic phõn loi cỏc phng phỏp gii toỏn cụng tỏc bi dng hc sinh gii hin cha nhiu Da vo cu trỳc mụn Tin hc qua cỏc kỡ thi hc sinh gii Tnh Da vo cỏc kin thc c bn m hc sinh ó c hc chng trỡnh Tin hc ph thụng THC TRNG CA VN - Nhng kin thc chng trỡnh Tin hc ph thụng cũn hn ch hoc khụng ỏp ng cho vic gii mt s bi toỏn cỏc kỡ thi hc sinh gii Tnh cú yờu cu d liu ln cựng thi gian thc hin ngn - Vic tng hp cỏc phng phỏp gii nhm giỳp hc sinh cú th so sỏnh cỏc cỏch gii, cỏc kt qu cũn ớt CC BIN PHP GII QUYT VN T thc trng trờn, tụi xin tng hp mt s phng phỏp gii mt s dng toỏn c bn cụng tỏc bi dng hc sinh gii Tnh nh sau: a Gii thiu phng phỏp ỏnh du K thut ỏnh du phn t thng c s dng gii cỏc bi toỏn cn n chn nhng phn t theo yờu cu no ú chn phn t ta thc hin ỏnh du phn t ú bng cỏch: s dng mt mng M, ỏnh du M[i]:=true chn phn t i, M[i] := false khụng chn phn t i Bi toỏn vớ d: Vit chng trỡnh in NT.OUT tt c cỏc s nguyờn t then Begin xi := 1; For j := i + to n xj := 0; End; C th: D liu vo (Input): nhp t file bn NHIPHAN.INP cha s nguyờn dng n 100 Kt qu (Output): ghi file bn NHIPHAN.OUT cỏc dóy nh phõn di n NHIPHAN.INP NHIPHAN.OUT 000 001 010 011 100 101 110 111 Chng trỡnh th hin thut toỏn sinh dóy nh phõn Program nhiphan; Const max = 100; fi = Nhiphan.inp; fo = Nhiphan.out; type mm= Array[1 max] of Integer; Var A: mm; n, i,j: Integer; f1,f2:text; Begin Assign(f1, fi); Reset(f1); Assign(f2, fo); Rewrite(f2); Readln(f1,n); FillChar(A, SizeOf(A), 0); If n=0 then Write(f2,0) Else Repeat for i := to n Write(f2,A[i]); Writeln(f2); i := n; While (i > 0) and (x[i] = 1) Dec(i); if i > then Begin A[i] := 1; for j:=i+1 to n A[i]:=0; End; until i = 0; Close(f1); Close(f2); End c Xõy dng cụng thc truy hi õy l bc rt quan trng vic gii cỏc bi toỏn bng phng phỏp quy hoch ng C s xõy dng cụng thc truy hi: Xột xem bi toỏn cú th tỡm c nghim t cỏc bi toỏn nh hn hay khụng, vic xõy dng cụng thc tng quỏt tỡm nghim ca bi toỏn t cỏc bi toỏn gi l cụng thc truy hi Bi toỏn vớ d: Cho s t nhiờn n (n