Kinh nghiệm giảng dạy cấu trúc dữ liệu kiểu xâu thông qua hệ thống các bài tập nhằm nâng cao hiệu quả giảng dạy môn tin học tại trường THPT quảng xương 4

24 908 0
Kinh nghiệm giảng dạy cấu trúc dữ liệu kiểu xâu thông qua hệ thống các bài tập nhằm nâng cao hiệu quả giảng dạy môn tin học tại trường THPT quảng xương 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

sở gd&đt hoá trờng thpt quảng xơng iv - - SNG KIN KINH NGHIM KINH NGHIM GING DY CU TRC D LIU KIU XU THễNG QUA H THNG CC BI TP NHM NNG CAO HIU QU GING DY MễN TIN HC TI TRNG THPT QUNG XNG Ngi thc hin: Tng Thanh Ton Chc v: T phú CM T chuyờn mụn: Toỏn Tin SKKN mụn: Tin hc Thanh Húa 04/2017 MC LC PHN 1: T VN .2 Lý chn ti 2 Mc ớch ca ti .3 PHN II: NI DUNG I C S Lí LUN Lp trỡnh v ngụn ng lp trỡnh Dy hc lp trỡnh nh trng ph thụng II THC TRNG .4 Thun li .4 Khú khn .5 III GII PHP Khai bỏo Cỏch nhp/xut .7 B CC THAO TC X L XU C CC BI TP X Lí D LIU KIU XU Cỏc bi c bn x lý xõu Cỏc bi nõng cao x lý xõu 13 Bi t luyn 18 IV KT QU NGHIấN CU 19 PHN III KT LUN V XUT 20 .20 PHN 1: T VN Lý chn ti Trong xó hi ngy nay, CNTT ó c ng dng tt c cỏc mt ca i sng xó hi, s phỏt trin khụng ngng ca KHKT ũi hi ngi phi t nõng cao kin thc, k nng ca mỡnh bt kp vi phỏt trin ú K t tin hc c a vo v tr thnh mt mụn hc chớnh thc bc hc THPT, ó gúp phn rt ln vo vic trang b thờm cho th h tr nhng k nng cn thit cuc sng, ng thi to iu kin, cung cp phng tin giỳp cỏc em khai thỏc cỏc ng dng ca cụng ngh thụng tin vo vic hc nghiờn cu cỏc mụn khoa hc khỏc Vi mụn tin hc trng THPT, hc sinh khụng nhng c hc cỏch s dng, giao tip vi mỏy tớnh, s dng cỏc phn mm nh: trỡnh son tho bn, chng trỡnh bng tớnh, trỡnh duyt website m ú hc sinh cũn c cung cp nhng bi hc cn bn v lp trỡnh vi ngụn ng lp trỡnh Lm quen vi ngụn ng lp trỡnh (Pascal) mt ngụn ng lp trỡnh cú tớnh cu trỳc cht ch t cu trỳc d liu, cu trỳc cỏc cõu lnh n cu trỳc mt chng trỡnh, hc sinh c hc cỏch lm cỏc ng dng cho mỏy tớnh, c tri nghim v rốn luyn tớnh t logic lp trỡnh thụng qua mt ngụn ng bc cao n gin, gn gi Tuy nhiờn mi l bc u hc sinh c bit n lp trỡnh v ngụn ng lp trỡnh, nờn vic dng cỏc cõu lnh, cỏc cu trỳc iu khin cỏc kiu d liu chun, kiu d liu cú cu trỳc, lm t cỏc thut toỏn cú th xõy dng c chng trỡnh thỡ a phn hc sinh cũn gp khụng ớt khú khn, c bit l vic dng cỏc cu trỳc iu khin nh: cu trỳc iu khin r nhỏnh, cu trỳc iu khin lp, cỏc kiu d liu v cỏch thc t chc d liu phự hpxut phỏt t lý trờn v t kt qu thc tin ging dy ti trng THPT Qung Xng nm hc va qua tụi xin mnh dn xut ti SKKN: Kinh nghim ging dy cu trỳc d liu Kiu xõu thụng qua h thng cỏc bi nhm nõng cao hiu qu ging dy tin hc ti trng THPT Qung Xng Mc ớch ca ti Thụng qua vic hng dn hc sinh gii mt s bi cú dng cu trỳc d liu xõu, giỳp hc sinh nm bt c cỏch s dng kiu d liu xõu, cỏc thao tỏc x lớ trờn xõu v dng vo lp trỡnh gii quyt cỏc bi toỏn tin hc 11, nõng cao cht lng giỏo dc mụn tin hc 11 ti c ỏp dng v nghiờn cc da trờn kt qu ging dy tin hc nm hc 2015 2016 v 2016 2017 trờn cỏc lp 11A, 11C nm 2015 2016, 11A, 11B nm 2016 - 2017 v cụng tỏc ụn luyn i tuyn hc sinh gii ti trng THPT Qung Xng i tng nghiờn cu Sỏng kin trung vo vic nh hng hc sinh cỏch dng kiu d liu xõu vo vic gii quyt cỏc dng bi t c bn n nõng cao giỳp hc sinh nh hỡnh chun xỏc hn cỏch la chn kiu d liu phự hp, t ú a c nhng gii phỏp thớch hp gii cỏc dng bi tin hc 11 Phng phỏp nghiờn cu Sỏng kin c nghiờn cu theo phng phỏp thc nghim thụng qua vic ging dy trc tip ti cỏc lp 11 nm t 2015- 2016 n 2016 - 2017, ng thi kt hp vi vic nghiờn cu cỏc ti liu v tham kho cỏc sỏng kin, kinh nghim ca ng nghip vic ging dy lp trỡnh PHN II: NI DUNG I C S Lí LUN Lp trỡnh v ngụn ng lp trỡnh a Khỏi nim lp trỡnh Nh ta ó bit, mi bi toỏn cú thut toỏn u cú th gii c trờn mỏy tớnh in t Khi gii bi toỏn trờn mỏy tớnh in t, sau cỏc bc xỏc nh bi toỏn v xõy dng hoc la chn thut toỏn kh thi l bc lp trỡnh Lp trỡnh l s dng cu trỳc d liu v cỏc cõu lnh ca ngụn ng lp trỡnh c th mụ t d liu v din t cỏc thao tỏc thut toỏn b Ngụn ng lp trỡnh Ngụn ng lp trỡnh l mt h thng c ký hiu húa miờu t nhng tớnh toỏn (qua mỏy tớnh) mt dng m c ngi v mỏy u cú th c v hiu c Cú rt nhiu ngụn ng lp trỡnh ó c thit k v mi nm li cú thờm nhiu ngụn ng lp trỡnh mi xut hin Cỏc ngụn ng lp trỡnh thng c nhc n nh: Basic, C, C++, C#, java, pascal, PHP Trong chng trỡnh tin hc ph thụng, hc sinh bc u lm quen vi lnh vc lp trỡnh tin hc, ngụn ng lp trỡnh Pascal ó c la chn hng dn hc sinh cỏch dng mụ t cỏc thut toỏn So vi cỏc loi ngụn ng lp trỡnh khỏc, ngụn ng lp trỡnh Pascal tng i n gin, hc, nh vi cu trỳc ht sc cht ch t cu trỳc chng trỡnh, n cỳ phỏp tng cõu lnh vỡ vy ũi hi ngi hc phi rốn luyn cho mỡnh tớnh chớnh xỏc v mt cu trỳc v phi bit dng linh hot cỏc cu trỳc lnh mụ t thut toỏn gii qut tng bi toỏn c th c Cu trỳc d liu lp trỡnh Mi ngụn ng lp trỡnh, ngoi cỏc cõu lnh c bn nh: cu trỳc iu khin r nhỏnh, cu trỳc iu khin lp, cỏc kiu d liu chun, d liu mng chiu cũn cú kiu d liu xõu giỳp ngi lp trỡnh cú th mụ t chớnh xỏc cỏc bi toỏn cú thut toỏn phc Dy hc lp trỡnh nh trng ph thụng So vi cỏc mụn khoa hc khỏc, tin hc l mt mụn hc c a vo mun hn, nú trang b cho hc sinh nhng hiu bit v k nng c bn cú th lm vic vi mỏy tớnh, s dng mỏy tớnh phc v cho hc tp, cụng vic sau ny Vic dy hc lp trỡnh trng ph thụng gp khụng ớt khú khn nh: hc sinh mi bc u lm quen vi lp trỡnh v ngụn ng lp trỡnh nờn vic la chn cỏc cu trỳc lnh, cỏc kiu d liu phự hp gii mt bi toỏn gp khỏ nhiu khú khn; thi lng chng trỡnh ớt, kh nng s dng mỏy tớnh ca hc sinh cũn hn ch; a phn hc sinh cha xỏc nh rừ c mc tiờu ca vic hc lp trỡnh l hc cỏch t logic ca lp trỡnh II THC TRNG Thun li i vi trng THPT Qung Xng 4, vic ging dy tin hc cng cú nhng thut li nht nh: V c s vt cht trang thit b dy hc, nh trng ó trang b cho mi phũng hc mt b mỏy tớnh, mỏy chiu, ú cỏc gi hc, hc sinh cú iu kin tip cn vi CNTT, th nghim thao tỏc trc tip trờn mỏy nờn d dng nm bt ni dung ca bi hc i vi giỏo viờn: l giỏo viờn tr nờn cú iu kin tip cn vi nhng tin b ca CNTT, h tr rt ln cho cụng tỏc ging dy Vi hc sinh, qua chng trỡnh tin hc lp 10 cỏc em ó c trang b nhng k nng nht nh vic s dng mỏy tớnh; bit th no l thut toỏn cng nh cỏch xõy dng v mụ t mt tht toỏn thụng qua s hoc lit kờ cỏc bc Khú khn Ngoi cỏc thun li ó nờu, cụng tỏc ging dy tin hc ti trng THPT Qung Xng cng gp nhng khú khn nht nh: Do c thự b mụn, nờn nhiu hc sinh cha thc s say mờ vi mụn hc, th v coi nh vic hc tin hc a phn hc sinh nh trng u thuc khu vc khú khn ven bin nờn hc sinh ớt cú iu kin tip cn vi CNTT Vi ni dung lp trỡnh tin hc, õy l mt ni dung mi v khú i vi a s hc sinh, phn ln hc sinh thc s khú khn vic nm bt ý ngha ca tng cõu lnh cng nh cỏch dng chỳng nh th no vic lp trỡnh, ú nhiu hc sinh sau xỏc nh c yờu cu ca bi toỏn thng ch dng li vic xõy dng v biu din thut toỏn cho bi toỏn (di dng s hoc lit kờ cỏc bc) ch cha bit s dng cỏc cõu lnh nh th no mụ t cỏc thao tỏc ú thnh chng trỡnh, cha bit cỏch s dng d liu no biu din cho hp lý nờn kt qu hc sinh b tc vic gii quyt cỏc bi toỏn lp trỡnh dn n kt qu ging dy cha cao i vi bn thõn giỏo viờn: ớt kinh nghim cụng tỏc ging dy nờn vic truyn t cho hc sinh hiu ỳng bn cht v cỏch dng cỏc cu trỳc lnh, cỏc kiu d liu phự hp cũn gp khụng ớt khú khn, lỳng tỳng ụi chỳ tõm nhiu vo lớ thuyt m ớt quan tõm n vic hng dn hc sinh hc trc tip thụng qua cỏc vớ d thc hnh Sau mt s nm ging dy, t vic nhn thy nhng khú khn gp phi ca hc sinh vic hc lp trỡnh, cng nh vic thiu kinh nghim truyn t ca bn thõn, tụi ó tỡm tũi, nghiờn cu tỡm cỏc nguyờn nhõn dn n vic hc sinh ngi hc, chỏn hc lp trỡnh iu ú khụng phi ch vic xõy dng cỏc thut toỏn gii cỏc bi toỏn m l lm th no chuyn i chớnh xỏc thut toỏn thnh chng trỡnh, la chn cu trỳc iu khin cỏc kiu d liu phự hp nh th no cú th mụ t chớnh xỏc thao tỏc ca thut toỏn III GII PHP Bt ngun t thc trng vic ging dy tin hc, t nguyờn nhõn dn n tỡnh trng hc sinh cha cú hng thỳ hc lp trỡnh v t thc tin vic hc sinh hiu v dng kiu d liu phự hp, tụi ó a mt gii phỏp v ó em li nhng hiu qu nht nh vic ging dy, ú l thụng qua vic hng dn hc sinh gii mt s bi toỏn thc t cú dng cu trỳc d liu phự hp t ú xỏc nh cỏc lnh cú liờn quan cú th ỏp dng cho tng trng hp c th giỳp hc sinh d dng gii quyt cỏc bi tp, gõy hng thỳ cho hc sinh t ú gúp phn nõng cao cht lng giỏo dc A KHAI BO V TRUY XUT N PHN T XU Khỏi nim, cỏch khai bỏo v tham chiu n phn t xõu - Khỏi nim: Xõu l dóy cỏc kớ t thuc bng mó ASCII, mi kớ t c gi l mt phn t ca xõu S lng kớ t mt xõu c gi l di ca xõu Xõu cú di bng c gi l xõu rng Trong Turbo Pascal xõu rng c vit bi hai du nhỏy n lin v Vớ d: S= Lop 11A gm cú: ký t S1= Truong thpt quang xuong gm cú: 25 ký t S2= 1234567*1234 gm cú: 12 ký t S3= gm cú: khụng ký t - Cú th xem xõu l mt trng hp c bit ca mng mt chiu m mi phn t l mt kớ t Cỏc kớ t ca xõu c ỏnh s th t thng bt u t (nh vy vi cỏc bin thuc kiu xõu, cú th ỏp dng cỏch duyt ca mng mt chiu x lý quỏ trỡnh lm vic vi d liu xõu) - Tham chiu n phn t xõu: [ch s phn t] Vớ d: S[1]= L, S[4]= , S[6]= Lu ý: - Kiu xõu khỏc vi kiu char (Cỏc bin kiu Char thuc dng bin n, mi thi im ch lu tr c ký t) Khai bỏo Vi ni dung ny, hc sinh thy rừ nhng im mi cu trỳc khai bỏo giỏo viờn a yờu cu: Vit khai bỏo bin cho vớ d sau: Bi toỏn 1: Nhp vo mt ký t Ch bt k t bn phớm Bi toỏn 2: Nhp vo mt mng cỏc ký t S l h tờn ca mt ngi gm 30 ký t Bi toỏn 3: Nhp vo mt dóy ký t bt k cú di khụng quỏ 30 ký t Vi cỏc vớ d ny hc sinh d dng a cỏc cỏch khai bỏo cho bi toỏn 1, Bi toỏn 1: hc sinh s dng cỏch khai bỏo bin n Var Ch: Char; Bi toỏn 2: Hc sinh s dng cỏch khai bỏo mng m mi phn t l mt ký t C1: Khai bỏo trc tip Var S:array[1 30] of Char; C2: khai bỏo giỏn tip Type DayKT=array[1 30] of Char; Var S: DayKT; Sau hc sinh a hai cỏch khai bỏo ny, giỏo viờn a cỏch khai bỏo cho trng hp bi ng thi yờu cu hc sinh rỳt im ging v khỏc cỏch khai bỏo gia cỏc bin ba bi tp, t ú hc sinh rỳt c cu trỳc khai bỏo bin tng quỏt cho trng hp d liu kiu xõu Vớ d: C1: Var S:String[30]; C2: Var S: String; * Cu trỳc tng quỏt: Var : string[ di ln nht ca xõu]; - Nu khụng khai bỏo di ln nht ca xõu thỡ xõu s nhn giỏ tr ngm nh l 255 Xõu ký t b nh chim s byte bng s ký t cc i c khai bỏo cng vi byte u tiờn cha s ký t hin cú ca xõu - Ngoi cú cỏc kiu khai bỏo khỏc ca xõu nh: + Shortstring: Chớnh l String + longstring: l mng ký t cú kiu char Thụng thng kiu char cú kớch thc 16 bit nờn mng cú kớch thc ti a 16 bit = 65535 ký t + ansistring (ch cú free pascal)cú kớch thc gn 2GB = 230 B Cỏch nhp/xut Khỏc hn vi cỏch c, ghi d liu mng mt chiu (luụn i kốm vi cõu lnh duyt cỏc phn t) Cỏch c hay vit d liu kiu xõu tng t nh cỏc kiu d liu chun khỏc, ta s dng cỏc th tc READ, hoc WRITE Vớ d: - c d liu: - Ghi d liu Readln(s); hoc Read(s); Writeln(s); hoc Write(s); B CC THAO TC X L XU Phộp ghộp xõu (phộp cng xõu): kớ hiu l du cng (+), dựng ghộp nhiu xõu thnh mt Vớ d: 123abc + 453acd cho kt qu 123abc453acd Cỏc phộp so sỏnh xõu Cỏc phộp so sỏnh xõu bao gm: , cú th t thc hin u tiờn thp hn phộp ghộp xõu v thc hin vic so sỏnh hai xõu theo cỏc quy tc sau: - Xõu A > xõu B nu kớ t u tiờn khỏc gia chỳng k t trỏi sang xõu A cú mó ASCII ln hn Vớ d: anh> Anh, kớ t a cú mó ASCII l 97, kớ t A cú mó ASCII l 65 - Nu A v B l cỏc xõu cú di khỏc v A l on u ca B thỡ A< B Vớ d: Quang Xuong < Quang Xuong - A=B nu xõu A v B ging hon ton Vớ d: Quang Xuong = Quang Xuong; Quang Xuong quang Xuong Mt s th tc x lý xõu - Th tc Delete(st,vt,n): Xúa n kớ t ca xõu St, bt u t v trớ vt Vớ d: Giỏ tr St Thao tỏc Kt qu Quang Xuong Delete(st,1,6) Xuong hoc tin hoc Delete(st,7,4) hoc tin - Th tc Insert(s1,s2,vt): Chốn xõu s1 vo s2, bt u v trớ vt Vớ d Giỏ tr s1 Giỏ tr s2 Thao tỏc Kt qu hoc tin hoc Insert(s1,s2,1) hoc tin hoc Insert(s1,s2,4) tinhoc hoc - Th tc str(value,s): chuyn i giỏ tr kiu s (value) sang dng xõu kớ t v gỏn cho bin s Vớ d: n:=123; str(n,s); s cho kt qu xõu s l s=123 - Th tc val(s,value,code): i xõu kớ t s sang dng s v gỏn cho bin value, nu bin i thnh cụng thỡ code nhn giỏ tr bng 0, ngc li cho giỏ tr khỏc (lu ý code l bin thuc kiu Integer) Vớ d: val(195,value,code) lỳc ny code=0 v value=195 Mt s hm: TT Hm í ngha Copy(st,vt,n) To xõu mi gm n kớ t liờn tip bt u t v trớ vt ca xõu st Length(st) Cho giỏ tr l di xõu st Pos(s1,s2) Cho v trớ xut hin u tiờn ca xõu s1 xõu s2 Upcase(ch) Cho ch cỏi in hoa ng vi ch cỏi ch Ord(ch) Cho mó ca kớ t ch bng mó ASCII Chr(n) Cho kớ t cú mó l n Concat(s1,s2, ,sn) Cho xõu mi bng cỏch ni uụi cỏc xõu s1,s2, ,sn li vi Vớ d: TT Giỏ tr s Biu thc Kt qu Copy(s,1,11) Quang xuong Quang xuong chao ban Length(s) Quang xuong Pos(ng,s) 4 a Upcase(s[1]) A a Ord(s[1]) 97 Chr(65) A Concat(hoc,tin,hoc) hoctinhoc C CC BI TP X Lí D LIU KIU XU Cỏc bi c bn x lý xõu Bi 1: Vit chng trỡnh nhp vo mt xõu ký t t bn phớm i xõu ký t ú sang ch in hoa ri in kt qu mn hỡnh Vớ d: Input: le anh van Output: LE ANH VAN GV: t cỏc cõu hi nh: s dng thao tỏc no gii quyt ny? ng dng thc t ca nú l gi? HS: Xỏc nh s dng thao tỏc upcase(); bi toỏn thng c ng dng cỏc trng hp nhp biu mu cp nht thụng tin tuyn sinh GV: a hn ch ca gii phỏp l hm upcase ch ỏp dng c cho bin ký t, lu ý hc sinh kiu xõu cú th ỏp dng duyt tng t mng mt chiu ú cú th s dng: Cõu lnh for i:=1 to length(s) S[i]:=upcase(S[i]); dựng thc hin yờu cu ú Chng trỡnh: Program inhoa; Var S: String; i:Byte; Begin Write(Nhap xau S: ); Readln(S); For i:=1 to length(S) S[i]:=Upcase(S[i]); Write(Xau ket qua: , S); Readln; End Bi 2: Nhp xõu S t bn phớm (S0 {xoa giua} Begin Delete(st,vt,1); Vt:=pos( ,st); End; Writeln(xau chuan hoa la:,St); Readln; End Bi 5: Vit chng trỡnh cho mỏy tớnh kim tra mt khu Mt khu l tinhoc Nu vo ỳng mt khu thỡ cho hin dũng thụng bỏo Dang nhap cong Nu gừ sai mt khu thỡ mỏy cho hin dũng thụng bỏo Nhap lai password GV: Cỏc em thy mt s mỏy khi ng vo Windows thỡ mỏy tớnh yờu cu chỳng ta phi gừ mt khu, hoc chỳng ta khụng lm vic vi mỏy tớnh sau mt khong thi gian nht nh thỡ trờn mn hỡnh cng xut hin ca s yờu cu ngi dựng phi nhp password Nu nhp mt khu sai thỡ chỳng ta khụng th lm vic cựng mỏy tớnh c na? Vic ny tng cng tớnh nng bo v mỏy tớnh, bo mt thụng tin Vy chỳng ta cú th lm c iu ú hay khụng? Bi ny giỳp cỏc em cng c li phn kin thc v vic so sỏnh xõu GV: Gi ý hc sinh vit chng trỡnh Chng trỡnh: Program ktmatkhau; Uses crt; 11 Var s: string; Begin Clrscr; repeat Write(hay nhap password:); Readln(s); Until s=tinhoc; Write( dang nhap cong); Readln End õy l chng trỡnh n gin so sỏnh xõu s nhp vo vi xõu tinhoc nhng thc hin chng trỡnh ó to c hiu ng tt i vi hc sinh, cỏc em thy rt thỳ v, thỡ lp trỡnh cng tht n gin Giỏo viờn cũn gii thiu thờm c cu trỳc lp khụng bit trc s ln lp repeatuntil, v GV liờn h vi thc t vic HS truy cp cỏc trang mng xó hi hoc s dng mt s dch v trờn internet u phi ng nhp Bi 6: Xõu con: Mt xõu s1 c gi l xõu ca xõu s2 nu s1 l mt phn ca xõu s2 (núi cỏch khỏc, s2 cha xõu s1) Nhp vo xõu bt k s1, s2 kim tra xem s1 cú phi l xõu ca xõu s2 hay khụng, nu cú ghi dung, nu khụng ghi sai mn hỡnh? GV: vi bi toỏn ny ta ó thy nú c ng dng õu thc t? HS: õy l mt trng hp n gin ca bi toỏn tỡm kim, mt ng dng c rt nhiu ngi s dng ca internet, trờn mỏy tớnh, tra cu c ti liu GV: gii quyt bi ny ta s dng thao tỏc no s cỏc thao tỏc vi d liu xõu? HS: D dng nhn thy õy l mt ng dng rt hay ca thao tỏc Pos(s1,s2) x lý xõu Chng trỡnh tham kho: Program xaucon; Var s1,s2:String; Begin Write(nhap xau s1=); readln(s1); Write(nhap xau s2=); readn(s2); If (pos(s1,s2)>0) then write(Dung) else Write(Sai); Readln; End Bi 7: Xõu i xng Mt xõu st c gi l xõu i xng nu nú bng chớnh nú vit theo chiu ngc li 12 Yờu cu: lp trỡnh nhp vo mt xõu st bt k, kim tra xem xõu ú cú phi l xõu i xng hay khụng? D nhn thy vi bi toỏn ny, hc sinh cú th dng cỏch to xõu o ngc ca bi to xõu o ngc, em kt qu thu c so sỏnh vi xõu ban u, nu hai xõu bng thỡ kt lun xõu i xng, nu khụng thỡ kt lun xõu khụng i xng Chng trỡnh tham kho Program doixung; Var St, S:String; I:Byte; Begin Write(nhap vao xau st:); Readln(st); S:=; For i:=length(st) downto S:=S+st[i]; If (st = s) then write(st, la xau doi xung) Else write(st,khong phai xau doi xung); Readln; End Cỏc bi nõng cao x lý xõu T cỏc bi c bn phn mt giỏo viờn cung cp cho hc sinh cỏc bi nõng cao phỏt trin trờn chớnh cỏc bi c bn a) Bin i xõu Vic bin i xõu c thc hin trờn mi ký t xõu nờn cn nm rừ cỏc hm, th tc trờn kiu d liu xõu võn dng mt cỏch linh hot vo tng bi c th Bi Rỳt gn xõu Cho xõu St ch gm cỏc ch cỏi in thng vi di ti a 250 ký t nhp t bn phớm Hóy vit chng trỡnh to xõu S2 t xõu S1 bng cỏch xúa cỏc ký t liờn tip ging xõu S1 v ch li mt kớ t i din on ú, a kt qu mn mỡnh Vớ d: St in St out TTTTTuuuuooongggLLLLaaaaiii TuongLai - í tng: Duyt t u n cui xõu, gp hai ký t liờn tip khỏc thỡ xúa i mt ký t 13 - Chng trỡnh Rỳt gn xõu Program rutgonxau; Var St:String; i: Byte; begin write(nhap vao xau st); readln(st); i:=1; while imax) then begin max:=d; csd:=i; csc:=j; end; end; for i:=csd to csc write(s[i]); readln; End Cỏch 2: S dng phng phỏp tỡm kim tun t tng t bi nhng duyt theo chiu ngc li ca bin i i vi xõu S Program Var demxaudoixung; S, P,Q:string; i,j,k:word; begin write(nhap xau S=); readln(s); for i:=length(s) downto for j:=1 to length(s)+1-i begin p:=Copy(s,j,i); Q:=; for k:=1 to length(p) Q:=p[k] + Q; If (P = Q) then Begin Write(xau dxdai nhat la:,P); Readln; Exit; End; End; Write(xau doi xung dai nhat la:,s[1]); Readln; End Vi cỏch vit ny hc sinh khụng cn s dng phng phỏp quy hoch ng (phng phỏp m a s hc sinh khụng hiu cỏch dng, liờn quan n kiu d liu mng chiu ó gim lc chng trỡnh tin hc ph thụng) 16 c ng dng kiu xõu vo gii cỏc bi toỏn kiu s nguyờn Bi 1: Vit chng trỡnh nhp s t nhiờn a cú n ch s Hóy to s mi b t s a bng cỏch vit ngc li cỏc ch s xut hin a Vớ d: cho a=234 thỡ b=432 GV: Da vo kin thc kiu xõu, em no cú th nờu ý tng gii bi toỏn ny? HS: GV: Nhn xột cõu tr li ca hs, v nờu rừ: to c s b t s a, bng cỏch vit ngc li cỏc ch s ca a thỡ: + to mt xõu rng s + cn s dng vũng lp bit trc lựi + dựng th tc val i xõu kớ t s sang dng s v gỏn cho bin value GV yờu cu hs vit chng trỡnh, sau ú GV s chy chng trỡnh cho hc sinh quan sỏt trờn mn hỡnh mỏy chiu Gv gii thớch v giỳp hc sinh sa cỏc li chng trỡnh cỏc em vit Chng trỡnh: Program somoidaonguoc; Uses crt; Var a,bi,code: longint; S1,s2:string; Begin Write(nhap so a); Readln(a); Str(a,s1); S2:=; {to xõu rng s2} For i:=length(s1) downto s2:=s2+s1[i]; Val(s2,b,code); Write(b); Readln; End Bi 2: Cho s nguyờn dng N, ta to s nguyờn N1 bng cỏch vit liờn tip cỏc s nguyờn t n N Vớ d N = ta cú N1 = 1234 Thc hin vic thu gn N1 bng cỏch xúa tt c cỏc ch s v trớ l, sau ú xúa tt c cỏc s v trớ chn, ri li xúa cỏc ch s v trớ l, cho n ch cũn li mt ch s Vớ d: 1234 ->24-> Chng trỡnh bi 3: Program taosonguyen; var s,h:string; i,n:integer; Begin 17 Write('Nhap n='); Readln(n); s:=''; for i:=1 to n begin str(i,h); s:=s+h; end; writeln(s); Repeat for i:=1 to length(s) if i mod 20 then s[i]:=' '; while pos(' ',s)0 delete(s,pos(' ',s),1); for i:=1 to length(s) if i mod 2=0 then s[i]:=' '; while pos(' ',s)0 delete(s,pos(' ',s),1); Until length(s)

Ngày đăng: 16/08/2017, 14:51

Từ khóa liên quan

Mục lục

  • PHẦN 1: ĐẶT VẤN ĐỀ

    • 1. Lý do chọn đề tài

    • 2. Mục đích của đề tài

    • PHẦN II: NỘI DUNG

      • I. CƠ SỞ LÝ LUẬN

        • 1. Lập trình và ngôn ngữ lập trình

        • 2. Dạy học lập trình ở nhà trường phổ thông

        • II. THỰC TRẠNG

          • 1. Thuận lợi

          • 2. Khó khăn

          • III. GIẢI PHÁP

            • 2. Khai báo

            • 3. Cách nhập/xuất

            • B. CÁC THAO TÁC XỬ LÍ XÂU

            • C. CÁC BÀI TẬP XỬ LÝ DỮ LIỆU KIỂU XÂU

              • 1. Các bài tập cơ bản xử lý xâu

              • 2. Các bài tập nâng cao xử lý xâu

              • 3. Bài tập tự luyện

              • IV. KẾT QUẢ NGHIÊN CỨU

              • PHẦN III. KẾT LUẬN VÀ ĐỀ XUẤT

Tài liệu cùng người dùng

Tài liệu liên quan