You are on page 1of 83

Phn 1

A. nhng vn chung
I. Ni dung chng trnh v chun kin thc, k nng mn Tin hc cp trung hc c s 1. Mc tiu Kin thc: o Trang b cho hc sinh mt s hiu bit nhp mn v thut ton v ngn ng lp trnh, cc cu trc chng trnh c bn: tun t, r nhnh v lp mc ph thng. o Bit c cc li ch ca vic vit cc chng trnh my tnh gii quyt nhng bi ton khc nhau trong cc lnh vc ca i sng. o Bit cch s dng c cc phn mm hc tp trnh by trong SGK. o Hiu c ngha ca cc phn mm my tnh ng dng trong cc lnh vc khc nhau ca cuc sng.

K nng: o Gii c mt s bi ton n gin trn my tnh bng cch vn dng thut ton n gin, d liu chun trn ngn ng lp trnh bc cao c th. o S dng v khai thc thnh tho cc phn mm hc tp c gii thiu. o Rn luyn kh nng thao tc nhanh vi bn phm v chut my tnh.

Thi : o Ham thch mn hc, tc phong lm vic nghim tc, cn thn v tinh thn lm vic theo nhm. o Nghim tc khi hc v lm vic trn my tnh khng phn bit phn mm hc tp hay phn mm tr chi. C thc s dng my tnh ng mc ch. o Nng cao thc v lng say m hc tp cc mn hc.

2. Ni dung chng trnh Lp trnh n gin - Thut ton v ngn ng lp trnh; - Chng trnh Turbo Pascal (TP) n gin; 3

- T chc r nhnh; - T chc lp; - Kiu mng v bin c ch s; - Mt s thut ton tiu biu.

Khai thc phn mm hc tp

3) Chun kin thc, k nng


CH Lp trnh n gin Kin thc MC CN T GHI CH

1. Thut ton v ngn ng lp trnh

Bit c khi nim bi ton, thut ton. Bit rng c th m t thut ton bng cch lit
k cc bc hoc s khi. Bit c mt chng trnh l m t ca mt thut ton trn mt ngn ng c th. K nng - Nn chn thut ton ca bi ton gn gi, quen thuc vi hc sinh

M t c thut ton n gin bng lit k cc


bc Kin thc

Bit s b v ngn ng lp trnh Pascal Bit cu trc ca mt chng trnh TP: cu trc - C th s dng ngn
chung v cc thnh phn. Bit cc thnh phn c s ca ngn ng Pascal. Hiu c mt s kiu d liu chun. Hiu c cch khai bo bin. Bit c cc khi nim: php ton, biu thc s hc, hm s hc chun, biu thc quan h. Hiu c lnh gn. Bit cc cu lnh vo/ra n gin nhp thng tin t bn phm v a thng tin ra mn hnh. K nng ng lp trnh khc theo hng dn thc hin chng trnh. - Minh ho cc khi nim bng mt chng trnh TP n gin. - Cn xy dng cc bi thc hnh v t chc thc hin ti phng my hc sinh t c nhng k nng theo yu cu

2. Chng trnh TP n gin

Vit c chng trnh TP n gin, khai bo


3. T chc r nhnh Kin thc

ng bin, cu lnh vo/ra nhp thng tin t bn phm hoc a thng tin ra mn hnh.

Hiu c cu lnh r nhnh (dng thiu v


dng ). Hiu c cu lnh ghp. K nng

- Nhn mnh 3 cu trc iu khin l tun t, r nhnh v lp. - Trnh by c thut ton ca mt s bi ton r nhnh thng gp, chng hn gii

Vit ng cc lnh r nhnh khuyt, r nhnh


y .

CH nhnh.

MC CN T

GHI CH

Bit s dng ng v c hiu qu cu lnh r phng trnh bc nht.


Kin thc

Hiu c cu lnh lp kim tra iu kin - K nng ch yu cu


4. T chc lp trc, vng lp vi s ln nh trc. Bit c cc tnh hung s dng tng loi lnh lp. K nng s dng lnh lp vi s ln nh trc.

Vit ng lnh lp vi s ln nh trc.


Kin thc

5. Kiu mng v bin c ch s

Bit c khi nim mng mt chiu Bit cch khai bo mng, truy cp cc phn t
ca mng K nng

Thc hin c khai bo mng, truy cp phn


t mng, s dng cc phn t ca mng trong biu thc tnh ton Kin thc 6. Mt s thut ton tiu biu

- Yu cu hc sinh vit c chng trnh ca mt s bi ton sau: nhp gi tr phn t ca mng, in, tnh tng cc phn t

Hiu thut ton ca mt s bi ton thng gp

nh: tm s ln nht, s nh nht; kim tra 3 s cho trc c phi l di 3 cnh ca tam gic khng. Kin thc

Khai thc phn mm hc tp

Bit cch s dng phn mm hc tp la - La chn phn mm


chn K nng

hc tp theo hng dn thc hin chng trnh.

Thc hin c cc cng vic khi ng/ra

khi, s dng bng chn, cc thao tc tng tc vi phn mm.

II. Gii thiu sch gio khoa tin hc dnh cho trung hc c s - quyn 3 1. Cu trc, ni dung v phn b thi lng Sch gio khoa Tin hc dnh cho THCS Q3 c bin son theo mt s nh hng c th sau: Th hin ng cc ni dung, yu cu ca chng trnh c B Gio dc v o to ph duyt l cung cp cho hc sinh nhng kin thc, k nng c bn, thit thc v c h thng ban u v thut ton v k thut lp trnh. Tip cn c trnh gio dc ph thng ca cc nc tin tin trong khu vc v trn th gii.

Ni dung sch gio khoa tp trung vo nhng kin thc nh hng t hc sinh c th pht huy nhng yu t tch cc ca cc thnh tu cng ngh thng tin v tng cng kh nng t hc. Ni dung, cch trnh by v din t ngn gn, d hiu thng qua m t v cc v d minh ho c th. Cu trc

Tng ng vi Chng trnh gio dc ph thng mn Tin hc, cp Trung hc C s (THCS), phn III, sch gio khoa (SGK) gm hai phn: Phn 1- Lp trnh n gin: gm 9 bi l thuyt, 7 bi thc hnh; Phn 2 - Phn mm hc tp: gm 4 bi l thuyt kt hp vi thc hnh.

Ni dung TIN hc dnh cho THCS - quyn 3 Phn 1- Lp trnh n gin Bi 1. My tnh v chng trnh my tnh Bi 2. Lm quen vi Chng trnh v Ngn ng lp trnh Bi thc hnh 1. Lm quen vi Turbo Pascal Bi 3. Chng trnh my tnh v d liu Bi thc hnh 2. Vit chng trnh tnh ton Bi 4. S dng bin trong chng trnh Bi thc hnh 3. Khai bo v s dng bin Bi 5. T bi ton n chng trnh Bi 6. Cu lnh iu kin Bi thc hnh 4. S dng lnh iu kin if ... then Bi 7. Cu lnh lp Bi thc hnh 5. S dng lnh lp for ... do Bi 8. Lp vi s ln cha bit trc Bi thc hnh 6. S dng lnh lp while...do Bi 9. Lm vic vi dy s Bi thc hnh 7 X l dy s trong chng trnh Phn 2 - Phn mm hc tp Luyn g phm nhanh vi Finger Break Out Tm hiu thi gian vi phn mm Sun Times Hc v hnh vi phn mm Geogebra Quan st hnh khng gian vi phn mm Yenka

xut phn b thi lng:

Ni dung Phn 1. Lp trnh n gin Phn 2. Phn mm hc tp Bi tp n tp Kim tra Tng cng

Bi l thuyt hoc l thuyt kt hp thc hnh 9 4

Bi thc hnh 7

Tng s tit 34 16 8 4 8

13

70

2. Mt s gii thch a) Sch gio khoa Tin hc dnh cho THCS - Quyn 3 c bin son bm st theo ni dung, yu cu ca Chng trnh gio dc ph thng mn Tin hc, cp THCS, phn III c ban hnh km theo Quyt nh s 16/2006/Q-BGDT ngy 05/5/2006 ca B trng B Gio dc v o to. b) Phn 1 gm 9 bi l thuyt, mi bi dy trong 02 tit l thuyt v 01 tit bi tp, ring bi 5 dy trong 04 tit l thuyt v v 02 tit bi tp; cc Bi 1 v 2 khng c tit bi tp ring. C 7 bi thc hnh, mi bi dy trong 02 tit. Phn 2 gm 4 bi l thuyt kt hp thc hnh. Mi bi c dy trong trn vn 04 tit. V c bn 8 tit bi tp dnh cho vic lm bi tp phn 1 (Lp trnh n gin), phn 2 (Phn mm hc tp) khng cn tit bi tp. c) Thi lng dnh cho n tp cui k l 04 tit, mi hc k 02 tit. Thi lng dnh cho cc bi kim tra nh k l 8 tit, mi hc k 04 tit. Vic phn b thi lng trn y ch l tng i, trong qu trnh dy hc gio vin (GV) c th iu chnh ph hp vi tnh hnh thc tin. d) Trong phn b thi lng, s tit bi tp l kh nhiu (8 tit). iu ny th hin cu hi, bi tp l mt phn quan trng trong vic gip HS tip thu kin thc, rn luyn k nng. e) Cc ni dung c thm cui bi l khng bt buc, trnh yu cu tt c HS phi c, hiu, gy qu ti. GV c th chn la, gii thiu, gii thch i cht gy hng th cho cc em ham thch, c thm. 3. Gi v cch tin hnh ging dy

a) V c bn SGK la chn phng n trnh by kin thc, k nng chung v lp trnh v s dng ngn ng Pascal minh ho. Cch tip cn ny th hin r vic dy lp trnh ni chung m khng phi l dy ngn ng lp trnh c th Pascal. Tuy nhin, khi ging dy GV khng nht thit phi trnh by theo cch tip cn ny. C th tip cn bng cch i t ngn ng lp trnh c th Pascal ri khi qut thnh nhng kin thc, k nng ca lp trnh ni chung. Cch tip cn t c th n khi qut c th s ph hp hn vi phn ln HS THCS. Trong SGV, ni dung ca tng bi c th c gi v cch dy hc theo hng t c th khi qut. b) Do s dng ngn ng Pascal minh ho, thi lng lm vic vi cc cu lnh, chng trnh, phn mm TP l kh nhiu nn d cm nhn l ang hc ngn ng Pascal. V vy, trong qu trnh dy hc GV cn lu tin hnh khi qut ng lc, ng ch HS vt ra khi mt ngn ng c th, rt ra c nhng kin thc, k nng, nguyn l ca lp trnh ni chung. Trong SGV c hng dn thi im khi qut ho kin thc, k nng mt s bi hc c th. c) Cc chng trnh c vit khi hc tit l thuyt, tit bi tp cn HS chy th bi thc hnh ngay sau . Lm nh vy s gip HS cng c, hiu r hn v ni dung l thuyt va hc. Hn na, vic ny s gip to hng th, cng c nim tin cho HS, gn kt tt hn gia hc vi hnh. trnh HS mt nhiu thi gian vo vic g chng trnh, GV nn g sn cc chng trnh c vit trong gi l thuyt, gi bi tp HS chnh sa, chy th, tm hiu trong gi thc hnh, khng nn yu cu HS g cc chng trnh ny trong tit thc hnh. d) Trong phn b thi lng dnh 8 tit lm bi tp, 4 tit n tp. Cc tit ny cha c nh ni dung c th, GV hon ton ch ng a ra ni dung cho tit bi tp, n tp. Tuy nhin, tit bi tp nn dnh thi gian hng dn hc sinh lm mt s bi tp trong SGK (nu trong tit l thuyt cha lm ht), chun b cho nhng bi thc hnh sau . Tu mc tip thu ca HS, GV c th ra thm cc bi tp, b sung bi thc hnh trn my tnh HS n luyn kin thc, k nng. Cc tit n tp nn c b tr vo cui k (ngay trc hoc ngay sau bi kim tra cui hc k), trong tit n tp cn tng kt, khi qut nhng kin thc, k nng trng tm ca chng trnh HS khc su, ghi nh. c bit tit n tp cn khi qut ho th hin c t tng dy lp trnh m khng dy ngn ng lp trnh c th. e) Trong SGV c gi m t mt s thut ton theo cch biu din gn vi cu lnh m hc sinh cn vit hoc cn tm hiu trong chng trnh tng ng. GV c th tham kho, la chn cch m t ny ging dy ph hp vi i tng HS ca mnh. f) Cc bi ton c gii thiu trong SGK ni chung l n gin, c th vit chng trnh m khng gp nhiu kh khn. i vi mt bi ton c th, nhim v ca HS l vit c chng trnh. Tuy nhin, qua cc bi ton HS cn hiu v thc hin c cc bc gii bi ton trn my tnh: Xc nh bi ton, xy dng (la chn) thut ton v vit chng trnh. Do vy, cn thc hin y cc bc i t bi ton n chng trnh: Xc nh input, output ca bi ton, xy dng, m t thut ton bng cch lit k v vit chng trnh. 8

g) C mt thc t l mt s cu lnh (nht l cu lnh c cu trc) th hay c gii thiu gn lin vi mt s bi ton, thut ton in hnh no . Cch lm ny c thun li l HS va hc c cu lnh mi va hc c bi ton, thut ton mi. Tuy nhin, i vi mt s HS vic cng lc phi hc c hai ni dung mi khng phi lc no cng d dng. gim bt kh khn cho HS, nn tch vic dy cu lnh mi vi vic dy thut ton mi, ngha l dy xong cu lnh ri n thut ton hoc ngc li. Trong SGV c gii thiu mt s cch lm nh vy, bi ton s dng gii thiu hoc p dng cu lnh mi thng d hoc HS bit bi ton, thut ton t trc. Khi , HS ch cn duy nht nhim v tm hiu cu lnh, khng phi mt thi gian hiu bi ton, thut ton. HS ch cn tp trung tm hiu cu lnh mi. Ngc li, khi gii thiu thut ton mi th cn s dng cu lnh HS bit s dng, lc HS cng ch tp trung vo tm hiu thut ton mi. Hi vng cch lm nh vy s to thun li hc sinh tip thu kin thc nh nhng hn. h) SGK l ti liu m HS no cng c. SGK c in mu, hnh thc p, cc tranh, nh cch trnh by trong SGK c chn lc, cn nhc k lng. V vy, cn khai thc ti a SGK trong qu trnh dy hc. Mt trong nhng vic c th thc hin ngay trong lp hc l hng dn HS v dnh thi gian cho HS t nghin cu ni dung SGK. Ban u vic giao bi cho HS c c th mt thi gian, nhng khi k nng c hiu ca HS c ci thin th vic dnh thi gian cc em t c c th s khng nhng khng mt thi gian m ngc li s tit kim thi gian. i) Vic dy hc cc phn mm dy hc s hiu qu hn nu tin hnh ti phng my tnh. Nhng khi dy lp trnh khng nn lm dng phng my tnh. Tit thc hnh c bn l HS chy th chng trnh, rn luyn k nng lm vic vi mi trng lp trnh. Khng tnh trng vo tit thc hnh HS mi bit bi ton v vit chng trnh ngay trn my tnh m cha chun b trc. j) Vic gii thiu phn mm hc tp nhm mc ch chnh l cung cp kin thc, rn luyn k nng khai thc phn mm cho HS. Bn cnh , vic khai thc phn mm hc tp cn nhm mc ch to s thay i, gy thm hng th hc tp. Do vy, mc d SGK trnh by hai phn tch bit nhng khng c ngha l phi dy theo ng tun t trnh by cc bi trong SGK. Ni dung ca Phn 2 (Phn mm hc tp) cn c dy xen k vi Phn 1 (Lp trnh n gin). Cng chnh v l do ny m trong SGK khng nh s th t bi phn Phn mm hc tp. 4. n tp v kim tra a) Thi lng dnh cho n tp l 04 tit (02 tit/hc k). Cn c vo tnh hnh thc t ca lp hc, gio vin t xc nh ni dung cc tit n tp. Tuy nhin, nn dnh cc tit n tp n luyn, tng kt kin thc, k nng trng tm ca chng trnh. Trong cc tit n tp GV cn khi qut kin thc, k nng lp trnh ni chung th hin r mc tiu, trng tm ca chng trnh. b) Thi lng kim tra, nh gi l 8 tit, mi hc k 04 tit. C th dnh 2 tit cho bi kim tra cui hc k, 2 tit cn li dnh cho cc bi kim tra nh k trong hc k. Nu tin hnh hai bi kim tra nh k (mi bi 1 tit) trong mt hc k, th nn c mt bi 9

kim tra trn giy, 1 bi kim tra thc hnh trn my. Hng dn c th hn v kim tra, nh gi c trong cun Hng dn thc hin chng trnh, sch gio khoa mn Tin hc lp 8 v phn phi chng trnh mn hc. c) Ni dung kim tra phi m bo c l thuyt v thc hnh. Cn la chn ni dung kim tra m bo bao qut ht kin thc, k nng trng tm ca chng trnh. d) Mt s ni dung trong phn lp trnh n gin thun li cho vic p dng phng php trc nghim khch quan trong kim tra, nh gi. V vy, cn lu tng cng s dng trc nghim khch quan trong kim tra, nh gi ni dung ny. e) Vic kim tra, nh gi c tc ng n qu trnh dy hc. nh hng hc tp ng cho HS, bn cnh vic kim tra nhng kin thc, k nng gn lin vi ngn ng lp trnh c th, cn dnh mt t l thch ng cho cu hi, bi tp v kin thc, k nng lp trnh ni chung. Nhng cu hi, bi tp ny s gip HS c thc ch trng n kin thc, k nng lp trnh ni chung, trnh HS ch ch trng n n chi tit c th ca ngn ng lp trnh Pascal. f) Cn tin hnh nh gi hc sinh trong gi thc hnh, im ny l im kim tra thng xuyn (h s 1). Trong tit thc hnh c th nh gi, cho im c lp mt nhm hoc mt vi hc sinh. Tuy nhin, cn lu mc tiu ca gi thc hnh l hc sinh thc hnh, khng phi l gi kim tra. Kim tra trong gi thc hnh l hc sinh tp trung, chm ch, nghim tc hc tp. g) Vic kim tra, nh gi mn Tin hc cp THCS c thc hin theo Quy ch nh gi, xp loi hc sinh trung hc c s v hc sinh trung hc ph thng (Ban hnh km theo Quyt nh s: 40/2006/Q-BGDT ngy 05 thng 10 nm 2006 ca B trng B Gio dc v o to). 5. Thit b dy hc a) B Gio dc v o to ang tin hnh xy dng, ban hnh danh mc thit b dy hc ti thiu mn Tin hc cp THCS. Theo , cc trng THCS phi p ng c danh mc thit b dy hc ti thiu ny th mi c th t chc dy hc mn Tin hc. D kin danh mc thit b dy hc ti thiu quy nh mi trng THCS phi c ti thiu mt phng my vi t nht 25 my vi tnh ni mng v kt ni Internet. Ngoi my tnh, danh mc cn c cc tranh, nh c phng to dy hc. b) Phn ln cc ni dung dy hc Tin hc THCS s rt hiu qu khi s dng cc thit b trnh chiu, do vy my chiu projector, my chiu overhead, my chiu vt th,... l cc thit b c khuyn khch trang b dy hc cho mn Tin hc. c) Trong SGK s dng phn mm Turbo Pascal minh ho. Phn mm TP chy trn cc my tnh c tc cao hin nay c th b li Division by zero (khi s dng th vin crt - uses crt). GV c th ti phn mm TP c chnh sa li ny trn website www.vnschool.net. Vi cc ni dung dy hc trong SGK th hon ton c th thay th TP (for Dos) bng Pascal for Windows hoc Free Pascal. Cc phn mm phc v dy hc theo SGK (k c cc phn mm hc tp) u c th c ti v t website nu trn v c sn trong a CD ca GV tham d lp bi dng GV ct cn. 10

d) Nhng trng c trang b h thng Hishare (mt CPU kt ni vi nhiu mn hnh) c th gp kh khn khi s dng TP (for DOS), do tc rt chm. Trong trng hp nn thay th TP (for DOS) bng Pascal for Windows hoc Free Pascal. e) Hin nay mt s trng THCS c th cn c nhng my tnh cu hnh thp c trang b t trc. Nhng my tnh ny hon ton c th c s dng thc hnh vi phn mm TP (for DOS). Do vy, cn r sot, tn dng cc my tnh c phc v cho cc tit thc hnh vi TP. f) Hin nay c mt s phn mm h tr cho vic qun l dy hc trn phng my tnh. Hn th na cc phn mm ny cn gip khai thc phng thc hnh mn Tin hc nh mt phng a phng tin dy hc mn hc khc. Di y gii thiu mt s phn mm gio vin tham kho: o XClass: www.hungphat.com.vn. o Magic Class: www.anhkiet.com.vn. o NetOPSchool ( ngh s dng www.google.com tm kim). o E-Learning Class ( ngh s dng www.google.com tm kim).

11

B. nhng vn c th
phn 1. lp trnh n gin
I. Gii thiu 1. Mc tiu Mc tiu ca phn ny l cung cp cho HS mt s kin thc, k nng c bn, ph thng v lp trnh thng qua ngn ng lp trnh bc cao Pascal. Kin thc

Bit c khi nim bi ton, thut ton, m t thut ton bng cch lit k; Bit c mt chng trnh l m t ca mt thut ton trn mt ngn ng c th; Hiu thut ton ca mt s bi ton n gin (tm s ln nht, s nh nht; kim tra ba s cho trc c phi l di ba cnh ca mt tam gic khng); Bit cu trc ca mt chng trnh, mt s thnh phn c s ca ngn ng; Hiu mt s kiu d liu chun, n gin, cch khai bo bin; Bit cc khi nim: php ton, biu thc s hc, hm s hc chun, biu thc quan h; Hiu c lnh gn; Bit cc cu lnh vo/ra n gin nhp thng tin t bn phm v a thng tin ra mn hnh; Hiu c cu lnh iu kin, cu lnh ghp, cu lnh lp kim tra iu kin trc, vng lp vi s ln nh trc; Bit c cc tnh hung s dng tng loi lnh lp; Bit c khi nim mng mt chiu, cch khai bo mng, truy cp cc phn t ca mng. M t c thut ton n gin bng lit k cc bc; Vit c chng trnh n gin, khai bo ng bin, cu lnh vo/ra nhp thng tin t bn phm hoc a thng tin ra mn hnh; Vit ng cc lnh r nhnh khuyt, r nhnh y ; Bit s dng ng v c hiu qu cu lnh iu kin; Vit ng lnh lp vi s ln nh trc; Thc hin c khai bo mng, truy cp phn t mng, s dng cc phn t ca mng trong biu thc tnh ton.

K nng

Thi 12

Nghim tc trong hc tp, ham thch lp trnh trn my tnh gii cc bi tp.

2. Ni dung Bi 1. My tnh v chng trnh my tnh (2 tit) Bi 2. Lm quen vi chng trnh v ngn ng lp trnh (2 tit) Bi thc hnh 1. Lm quen vi Turbo Pascal (2 tit) Bi 3. Chng trnh my tnh v d liu (2 tit) Bi thc hnh 2. Vit chng trnh tnh ton (2 tit) Bi 4. S dng bin trong chng trnh (2 tit) Bi thc hnh 3. Khai bo v s dng bin (2 tit) Bi 5. T bi ton n chng trnh (4 tit) Bi 6. Cu lnh iu kin (2 tit) Bi thc hnh 4. S dng lnh iu kin if ... then (2 tit) Bi 7. Cu lnh lp (2 tit) Bi thc hnh 5. S dng lnh lp for ... do (2 tit) Bi 8. Lp vi s ln cha bit trc (2 tit) Bi thc hnh 6. S dng lnh lp while...do (2 tit) Bi 9. Lm vic vi dy s (2 tit) Bi thc hnh 7. X l dy s trong chng trnh (2 tit)Nh ni trn, vic phn b thi lng nh trn ch l tng i, trong qu trnh ging dy, nh trng, gio vin c th phn b thi lng cho cc bi sao cho ph hp hn vi tnh hnh c th ca nh trng v trnh nhn thc ca hc sinh. 3. Nhng im cn lu v gi dy hc a. Ni dung ca phn ny l cung cp cho hc sinh mt s kin thc v k nng ban u v lp trnh. Sau phn ny, hc sinh s c mt s hiu bit c bn v lp trnh, vit c mt s chng trnh n gin bng mt ngn ng lp trnh c th l ngn ng Pascal. Cc chng trnh n gin ny mt mt gy s hng th cho hc sinh trong vic tm hiu cc bi ton phc tp hn v vit chng trnh gii quyt cc bi ton , mt khc chng c th phc v cho vic hc tp v tm hiu su hn cc mn hc khc, nht l mn Ton. Phn ny c chia thnh 9 bi l thuyt v 7 bi thc hnh, ni dung mi bi c bin son trnh by trn vn trong 02 tit v 01 tit bi tp. Ring vi Bi 5 thi lng c tng gp i, tc 04 tit l thuyt v 02 tit cu hi v bi tp. Mi bi thc hnh c trnh by ngay sau bi l thyt nhm mc ch hc sinh ghi nh v rn luyn nhng kin thc v k nng hc sinh hc trong bi l thuyt trc . b. V c bn SGK trnh by theo cch tip cn cc kin thc, khi nim c bn v lp trnh t khi qut n c th. Mc tiu ca SGK l trnh by cc khi nim ban u v lp trnh ni chung, vi c gng khng gn vi mt ngn ng lp trnh c th. Cch tip cn ny th hin 13

r mc tiu chnh ca chng trnh l dy kin thc, k nng v lp trnh, ngn ng lp trnh ni chung, khng phi dy mt ngn ng lp trnh nht nh. i vi HS THCS, HS d tip thu, vic trnh by v ngn ng lp trnh cn thng qua mt ngn ng lp trnh c th minh ho, gii thch. Hn na, cc k nng lp trnh nh vit, chnh sa, dch, chy v kim th chng trnh i hi phi s dng mt ngn ng lp trnh bc cao c th. Kh c th la chn mt ngn ng lp trnh c th no p ng cng lc c cc tiu ch nh: hin i, cp nht, d hiu, d dng, gi thnh r (hoc min ph) v tnh s phm cao. Cho nn cch s dng Pascal minh ho trong SGK ch l mt phng n. Gio vin c th thay th ngn ng Pascal bng mt ngn ng lp trnh khc ph hp hn vi thc t ca lp hc min l truyn t c kin thc, k nng theo yu cu ca chng trnh. Vic la chn ngn ng Pascal minh ho trong SGK cng c cn nhc k lng bi mt s l do chnh sau y: (1) Ngn ng Pascal l ngn ng lp trnh cu trc, trong sng, c tnh s phm cao; (2) Phn ln GV Tin hc cp THCS hin nay c hc v thc hnh ngn ng lp trnh Pascal l chnh; (3) Ngn ng Pascal c nhiu phin bn chy c trn h iu hnh khc nhau hin c trong trng THCS; (4) Ngn ng lp trnh Pascal chy c trn hu ht tt c cc my c trang b cc trng THCS t trc n nay; (5) Vic ci t Pascal l d dng v ngn ng Pascal c th c s dng min ph. Cng c th c kin cho rng c th chn mt ngn ng lp trnh khc minh ha, chng hn nh Logo, Basic, VB, C hoc Java, nht l VB, C v Java do chng l nhng ngn ng hin i v hin c s dng pht trin hu ht cc ng dng. Hai ngn ng u l nhng ngn ng t c ph bin, hoc khng cn c s dng rng ri. Nhng ngn ng sau li l nhng ngn ng kh nng n v phc tp trong vic ci t v s dng, nht l trong iu kin hin nay v c s vt cht ca cc trng ph thng. Do cc tc gi thy rng hin ti Pascal vn l la chn hp l v kh thi nht. Tuy s dng Pascal minh ha, khi ging dy gio vin cn lu truyn t kin thc v lp trnh l chnh, trnh vic sa trnh by qu nhiu chi tit v cc th thut vi ngn ng Pascal. c. Do ch l mt ngn ng ng vai tr minh ha cho cc kin thc bt u v lp trnh nn cc ni dung c th gn lin vi Pascal trong SGK c c gng trnh by mt cch c ng, tng tnh trc quan v gim ti a tnh hnh thc theo nguyn tc cn n u th gii thiu n . SGK khng nhm mc ch gii thiu cc thnh phn, kiu d liu, c php, ng ngha ca cc cu lnh v cc c trng khc ca Pascal mt cch y nh l cm nang v lp trnh. Chng hn, rt nhiu kiu d liu, cu lnh iu kin case, cc cu lnh lp khc,... khng c gii thiu trong SGK, nhiu cu lnh ch c gii thiu ngn gn m khng i su vo gii thch c php v ng ngha, v.v. Cc v d v chng trnh Pascal cng c la chn v trnh by theo nguyn tc trn. Xt v mt no y, chng c th cha phi l nhng chng trnh c vit mt cch gn nht hoc ti u nht. Tuy nhin chng c m t v trnh by mt cch ph hp vi s pht trin t duy ca hc sinh sau khi c gii thiu phn kin thc tng ng v ngn ng 14

lp trnh. Trong qu trnh hc tp, vi s hng dn ca gio vin, hc sinh c th chnh sa c cc chng trnh tt hn, qua pht trin tt hn cc k nng lp trnh. d. V th t trnh by cc ni dung trong Phn 1, gio vin cn lu mt vi im sau y. Trc ht, cn nhn mnh rng vic xc nh bi ton v xy dng thut ton l bc quan trng nht trong vic vit chng trnh. Chng trnh ch l th hin mt thut ton c th bng ngn ng lp trnh. Chng trnh ch hot ng c hiu qu khi c thut ton ng v ti u v do vy ch c th vit c chng trnh sau khi xy dng v m t thut ton. Xt theo th t thi gian v t duy logic th ni dung gii thiu v bi ton v thut ton cn c gii thiu ngay t Bi 1. Tuy nhin, cc tc gi cho rng ni dung v thut ton v m t thut ton l vn kh nht trong ton b ni dung ca SGK. Trc ht, thut ton lun lun gn lin vi t duy ton hc, vic m t thut ton li gn lin vi t duy cng ngh. Khng phi ngu nhin m a phn hc sinh thng kh hiu ni dung php gn gi tr cho mt bin, c bit l di dng X = X + 1. Nu trnh by v thut ton ngay trong Bi 1, khi hc sinh mi bt u mt nm hc mi, s gy cm gic qu ti cho hc sinh, nht l i vi phn ln hc sinh khng c nhiu nng khiu v ton. Hn th na, vic gii thiu nh th s lm cho hc sinh hiu nhm rng lp trnh chnh l gii ton (mc d vic gii quyt cc bi ton nh ng l nh th). Mt khc, vi tm sinh l hc sinh THCS, trc khi gii thiu nhng ni dung kh cn bt u dn dt t nhng ni dung nh nhng hn v d gy hng th cho hc sinh. Ni dung ca cc bi t 1 n 4 phc v mc ch ny. C mt l do khc l nu cha c gii thiu v cha hiu c bn cht ca php gn, hc sinh s rt kh hiu cc ni dung v thut ton. Trong khi , hc sinh c c khi nim v php gn th cch tt nht l gii thiu cc ni dung lin quan n bin trong lp trnh. Cui cng, hc sinh hiu c ni dung ca cc bi t 1 n 4 khng cn thit phi c nhng kin thc v thut ton. Cc vn gii thiu trong cc bi v trong cc bi thc hnh c th gii quyt c vi nhng thut ton hin nhin, hu nh hc sinh no cng c th nhn bit v p dng. Tuy nhin, trc khi cp ti cc cu trc iu khin trong chng trnh th li cn thit phi gii thiu trc v khi nim thut ton v m t thut ton. chnh l l do ni dung v bi ton v thut ton c trnh by trong Bi 5. e. Mi phn ni dung trong SGK c trnh by trong mt bi l thuyt v mt bi thc hnh. Bi l thuyt gii thiu cc kin thc ban u v ni dung tng ng. Ngay sau bi l thuyt (tr bi 1 v bi 5) l bi thc hnh nhng kin thc l thuyt hc. Mc ch chnh ca cc bi thc hnh l cung cp k nng cho HS, qua hiu su hn v cc ni dung va hc bi l thuyt. Cc bi thc hnh ny v c bn l HS thc hnh, s dng nhng ni dung va hc phn l thuyt. Tuy nhin, cng v sau cc bi thc hnh khng ch phc v cho vic cng c, thc hnh ni dung l thuyt ca bi hc tng ng m cn gip n luyn nhng kin thc, k nng c hc cc bi trc . f. Cu trc ca mi bi l thuyt c xy dng mt cch nht qun nh sau:

15

Mi bi l thuyt u c gng bt u bng nhng v d trong cuc sng hng ngy, t dn dt n cch thc gii quyt cc vn i thng bng cch vit chng trnh. Quan im ca cc tc gi l chng trnh my tnh c vit chnh l gii quyt cc bi ton i thng nh th. Bng cch hc sinh s d thy hn mi lin h cht ch gia vic lp trnh v cuc sng, cng li ch ca vic lp trnh gii quyt cc bi ton bng my tnh. Phn ni dung tip theo trnh by cc thnh phn c bn hoc cu trc tng ng ca ngn ng lp trnh ni chung. Cc ni dung ny c c gng trnh by mc tng qut nht c th, nhng vn m bo hc sinh c th hiu c. Do , khi s dng Pascal minh ha trong cc mc tip theo, SGK khng c gng trnh by c php v ng ngha ca cc cu lnh Pascal mt cch y v chi tit. Gio vin cn lu iu ny b sung cho hc sinh trong cc bi thc hnh tip ngay sau . Cui cng l mt s v d v chng trnh minh ha tnh hung s dng. V cc v d, cc tc gi c gng hn ch n mc ti a vic lp trnh gii quyt cc bi ton c ni dung ton hc, trnh gy qu ti cho hc sinh hoc dn n s hiu nhm l lp trnh gn lin vi ton hc. Tuy nhin, do hn ch v ni dung ca chng trnh, nhng minh ha gy hng th hn nh thit k giao din, mu sc, phng ch hoc m phng chuyn ng ca cc i tng trn mn hnh khng c a vo. Do vy cc v d v ton hc vn chim mt t l ng k. Cui mi bi l thuyt u c mc Ghi nh lit k mt s im chnh ca bi hc HS d dng ghi nh. Mc ghi nh l cn c GV xc nh ni dung kin thc, k nng trng tm ca mi bi. Mi bi l thuyt u c phn Cu hi v bi tp nhm mc ch cho hc sinh n luyn cc kin thc, k nng ca bi hc l thuyt v chun b cho bi thc hnh ngay sau . Mt phn ca cc cu hi, bi tp ny ch l nhc li cc kin thc ca bi hc l thuyt, v vy cn hng dn HS lm ngay trn lp. Mt phn khc dnh gip hc sinh nm vng hn c php v ng ngha ca cc cu lnh Pascal. Vi nhng cu hi v bi tp ny gio vin nn hng dn hc sinh gii v tr li trong tit bi tp. Trong phn b thi lng, s tit bi tp l kh nhiu (8 tit). iu ny th hin cu hi, bi tp l mt phn quan trng trong vic gip HS tip thu kin thc, rn luyn k nng. H thng cu hi, bi tp a dng, ph hp vi HS THCS, ph hp vi i mi dy hc v i mi kim tra, nh gi. Tt nht l nn t chc tit bi tp sau khi hc sinh thc hin cc tit thc hnh. S lng cc cu hi v bi tp tng i nhiu. Tuy nhin, a s cc bi ch l cc cu hi v bi tp d, hc sinh ch cn hiu cc kin thc trong bi l thuyt trc l c th tr li v gii c. Mt s bi tp khc, mc d khng vt qu kin thc trnh by trong phn l thuyt, nhng i hi hc sinh vn dng kin thc mt cch linh hot hn. Vic a ra nhiu cu hi v bi tp mt mt gip cho vic s dng SGK mt cch hiu qu v linh hot hn trong nhng iu kin hc sinh khc nhau v trnh , mt khc gip cho hc sinh c th c iu kin o su suy ngh hn kin thc l thuyt v gip gio vin phn bit trnh ca hc sinh r hn. Cng c th, ngay ti mt trng, mt s bi tp i vi hc sinh trong mt lp l hi kh, nhng cc hc sinh trong mt lp khc li c th t gii tt c cc bi tp 16

mt cch khng kh khn lm. Do vy, tu tnh hnh tip thu kin thc ca HS, gio vin c th la chn ch lm mt s bi hoc ch ng ra thm cc cu hi, bi tp ph hp vi trnh hc sinh, khng nht thit phi lm ht cc cu hi, bi tp trong SGK. g. Cc bi thc hnh cng c xy dng mt cch nht qun vi vic ra mc tiu, cc bc cn thc hin, thng thng mc kh chi tit. Ngoi ra cn c cc v d hc sinh tm hiu tc dng ca cc cu lnh trong chng trnh. Do thi lng c hn, gio vin nn khuyn khch hc sinh vit v chy cc chng trnh khi t hc nh. Khc vi cc bi thc hnh trong cc Quyn 1 v 2, trong SGK quyn 3 ni dung cc bi thc hnh khng ch n luyn, cng c, thc hnh cc kin thc hc m cn gii thiu kin thc mi, c th l nhng kin thc l thuyt, nhng gn lin vi ngn ng lp trnh Pascal. Mt s kin thc ny khng c trnh by trong bi l thuyt vi ch ch trnh lm dn tri cc ni dung l thuyt v lp trnh ni chung. Mt s cu lnh, th tc, hm Pascal c gii thiu trong bi thc hnh. Kin thc v cu lnh c c rt sau khi HS c thc hnh v cu lnh. Gio vin cn nhn r s khc bit ny, dnh thi gian gii thiu, hng dn cho hc sinh tng hiu qu ca cc gi thc hnh. Mc Tng kt cui mi bi thc hnh tm tt cc kin thc, k nng c bn hc sinh cn tip thu c ca bi thc hnh, ch yu l cc bc thc hin, c php, ng ngha cng nh cch s dng ca Pascal. Phn ny gip HS h thng li nhng kin thc, k nng ca bi thc hnh v l ni dung gip HS tra cu nhanh trong qu trnh hc tp. Tuy nhin, khng nn yu cu hc sinh hc thuc lng phn ni dung ny. Trong qu trnh thc hnh, hc sinh s tng bc ghi nh c php v ng ngha cc cu lnh. h. Ni dung v bi ton v thut ton (Bi 5) c phn b thi lng gp i (04 tit l thuyt v 02 tit bi tp). Theo nh gi ca cc tc gi, y l mt phn ni dung quan trng, nu khng ni l quan trng nht. Nu nm vng cch thc m t thut ton gii quyt bi ton, hc sinh s d dng tip thu c cc kin thc trnh by trong nhng bi tip theo. C th biu din thut ton bng s khi hoc bng cch lit k. Tuy nhin, SGK la chn gii thiu cch biu din thut ton bng cch lit k. V c bn cch lit k gn gi vi cch t duy ca HS THCS hn v c bit l m t bng cch lit k thun li hn cho vit chng trnh. mt vi ch, SGK ch s dng s khi biu din hot ng ca cu trc iu khin (r nhnh, lp). GV khng gii thiu thm v cch biu din thut ton bng s khi hoc yu cu hc sinh m t thut ton bng cch v s khi. Bn cnh cc kin thc, k nng theo yu cu ca Chng trnh, SGK cn gii thiu thm mt s ni dung, v d mt s cng c lp trnh (cu lnh, hm chun, th tc chun) nhm to thm hng th cho HS; mt s bi ton, thut ton ph thng, n gin HS m rng thm kin thc, k nng; mt s cu hi, bi tp, bi thc hnh c yu cu cao hn dnh cho HS kh, gii. Mt s kin thc nh c php cu lnh, c php khai bo bin, kiu d liu,... c gii thiu dn dn. Do cch gii thiu nh vy nn ban u c th cha , cha bao qut ht nhng m bo khng sai. Khai bo bin, c php cu lnh r nhnh, cu lnh lp... c c rt, khi qut ho sau tit thc hnh. 17

i. Cc ni dung c thm cui bi l khng bt buc, trnh yu cu tt c HS phi c, hiu, gy qu ti. GV c th chn la, gii thiu, gii thch i cht gy hng th cho cc em ham thch, c thm. Vic phn b thi lng cho cc bi l thuyt, thc hnh l tng i, GV c th phi hp vi cc tit bi tp, n tp t cn i thi lng cho ph hp vi tnh hnh ging dy thc tin. iu quan trng l m bo truyn t ng, kin thc, k nng theo yu cu ca Chng trnh. II. Hng dn chi tit

Bi 1. My tnh v chng trnh my tnh


1. Mc ch, yu cu Bit con ngi ch dn cho my tnh thc hin cng vic thng qua lnh.

Bit chng trnh l cch con ngi ch dn cho my tnh thc hin nhiu cng vic lin tip mt cch t ng. Bit rng vit chng trnh l vit cc lnh ch dn my tnh thc hin cc cng vic hay gii mt bi ton c th. Bit ngn ng dng vit chng trnh my tnh gi l ngn ng lp trnh. Bit vai tr ca chng trnh dch.

2. Nhng im cn lu v gi dy hc Khi nim v lnh, nt lnh HS c bit n lp 6 v lp 7. Da trn hiu bit c sn ca HS v lnh, GV cn nhc HS nh li v hnh dung v lnh mt cch n gin, ph thng. HS thc hin cc thao tc khi ng/thot khi phn mm, sao chp, ct, dn v thc hin cc bc tt my tnh (theo ng quy cch). c bit HS vn thng xuyn s dng cc nt lnh trn thanh cng c hoc cc lnh trong bng chn lm vic vi chng trnh son tho vn bn, chng trnh bng tnh. Khi thc hin cc thao tc ny chnh l HS ra lnh cho my tnh thc hin mt cng vic no . V d, khi thc hin thao tc nhy vo nt lnh Cut trn thanh cng c ca Word l ra lnh cho my tnh thc hin cng vic ct vn bn. Thc ra khi nim v lnh i vi my tnh kh phc tp, c th hiu v m t lnh vi cc mc chi tit khc nhau. Xt n cng th mi kin trc my tnh u c mt tp hp (khng nhiu) cc lnh c bn hay vi lnh hoc ch lnh (micro-instruction), cc lnh dng ch dn my tnh u l mt dy cc lnh c bn ny (vi mt th t nht nh). T thng ny sinh cu hi y phi l lnh cha hay l mt tp hp cc lnh. Tuy nhin ngi ta thng hiu lnh my tnh l mt ch dn ca con ngi my tnh thc hin mt cng vic c th no . Gio vin cng ch nn gii thiu v lnh cho HS mc ny. Kt thc mc 1, hc sinh cn bit c rng con ngi iu khin my tnh thng qua lnh. 18

Cn cho HS nhn thy s khc bit gia vic ra lnh cho my tnh vi ra lnh cho con ngi. Qua v d iu khin r-bt nht rc, GV cn cho HS nhn thy mt cng vic rt n gin vi con ngi, nhng khi mun my tnh thc hin th cn phi chia thnh nhiu thao tc nh, n gin, c th m r-bt c th thc hin c. C s khc bit chnh l bi v, khc vi con ngi, my tnh l vt v tri, v gic. C hai cch c th iu khin r-bt thc hin cng vic trn: Cch th nht l ra tng lnh mt v r-bt thc hin tng thao tc mt; Cch th hai l ch dn r-bt t ng thc hin ln lt cc thao tc trn. Vic vit cc lnh iu khin, ch dn r-bt (hay my tnh) thc hin t ng mt lot cc thao tc lin tip chnh l vit Chng trnh my tnh, hay cn gi tt l Chng trnh. Kt thc mc 2 v mc 3 hc sinh cn bit chng trnh l cch con ngi ch dn cho my tnh thc hin nhiu cng vic lin tip mt cch t ng v vit chng trnh l vit cc lnh ch dn my tnh thc hin cc cng vic hay gii mt bi ton c th. C th dn dt HS tip cn khi nim ngn ng lp trnh nh sau: Chng trnh m con ngi vit ra phi m bo my tnh c th "hiu" c. HS bit my tnh ch c th hiu c ngn ng nh phn, tc l dy s 0 v 1. V vy, v nguyn tc my tnh "hiu" c phi vit chng trnh bng ngn ng my. Vn l ngn ng my li rt kh s dng, kh nh i vi con ngi. V vy, rt kh cho con ngi nu s dng ngn ng ny vit chng trnh. Do cn phi tm ra mt ngn ng trung gian gia con ngi v ngn ng my con ngi d dng s dng khi vit chng trnh v sau chuyn i sang dng ngn ng my sao cho my tnh c th hiu c. Ngn ng lp trnh bc cao l gii php nh vy. C th lit k ra mt s ngn ng lp trnh bc cao nh Pascal, Free Pascal, C, Java... trnh qu ti cho hc sinh v mt thut ng, trong SGK cc tc gi ch s dng thut ng ngn ng lp trnh ni chung vi hm ngn ng lp trnh bc cao. Tuy nhin, nh nu trn, chng trnh vit bng ngn ng lp trnh phi c chuyn sang thnh chng trnh ngn ng nh phn. iu ny cng ging nh vic phin dch khi trao i vi ngi nc ngoi vy. Chng trnh ng vai tr dch t ngn ng lp trnh bc cao sang ngn ng my gi l "chng trnh dch". Nh vy, c c mt chng trnh m my tnh c th thc hin c cn qua hai bc: (1) Vit chng trnh theo ngn ng lp trnh; (2) Dch chng trnh thnh ngn ng my my tnh hiu c. Cn lu rng, cc bc nu trn ch l hai trong s rt nhiu bc (giai on) to ra mt chng trnh c th c th chy trn my tnh. c mt chng trnh hot ng hiu qu trn my tnh v phc v ng mc tiu, ngi ta cn phi thc hin nhiu cng vic khc, bt u t vic kho st nhu cu ca ngi s dng (xc nh mc tiu, yu cu; kho st cc qui trnh nghip v,...), phn tch, thit k, lp trnh, kim th, trin khai ci t, o to, h tr, v.v. Hai bc ni trn ch l mt phn ca cng vic lp trnh, sau khi thut ton c xy dng. Tuy nhin, i vi hc sinh mi bt u lm quen vi lp trnh v ngn 19

ng lp trnh, cch gii thiu nh trong SGK l v nhm hc sinh phn bit c hai cng vic vit chng trnh v dch chng trnh. Trong cc bi thc hnh vi Pascal, hc sinh s phn bit r hn hai bc ny. Ngn ng lp trnh l cc i tng c nh ngha mt cch tru tng v hnh thc, cn nhim v chnh ca chng trnh dch l dch chng trnh c son tho bng ngn ng lp trnh sang ngn ng my. Tuy nhin, ngi ta thng cung cp chng trnh dch cho mt ngn ng lp trnh c th km theo mt s cng c h tr ngi lp trnh nh: phn mm son tho; cng c pht hin v thng bo li; cng c theo di, g ri chng trnh; cc th vin chng trnh chun v cc dch v khc. Tt c to nn mi trng lp trnh ca ngn ng lp trnh . GV khng cn gii thch k v mi trng lp trnh vi HS. Qua mc 4 hc sinh cn ghi nh c ngn ng lp trnh l cng c vit chng trnh my tnh v chng trnh dch ng vai tr dch chng trnh vit bng ngn ng lp trnh sang ngn ng my. Ni dung ca bi 1 c xem nh l mt cu ni cho hc sinh t ngi s dng sang ngi xy dng chng trnh my tnh. Qua bi ny hc sinh cn bit pha sau nhng thao tc nh nhy nt lnh Cut, Copy... m cc em quen s dng l nhng on chng trnh my tnh tng ng. Khi nhy mt nt lnh l cc em yu cu my tnh thc hin on chng trnh tng ng c vit sn. 3. Hng dn tr li cu hi v bi tp Bi 1. Khi son tho vn bn trn my tnh, ta yu cu chng trnh tm kim mt cm t v thay th bng mt cm t khc, thc cht ta yu cu my tnh thc hin rt nhiu lnh. C th m t cc lnh vi nhng mc chi tit khc nhau. Di y ch m t nhng lnh c bn nht theo trt t thc hin: 1. 2. 3. 4. 5. Sao chp cm t cn tm vo b nh (gi l cm t 1). Sao chp cm t s thay th vo b nh (cm t 2). Tm cm t 1. Xa cm t 1 tm c. Dn cm t 2 t b nh vo v tr c ca cm t 1.

Vi cc lnh c lit k theo th t nh trn, ta thy ch c th thay i th t ca mt vi lnh (v d nh cc lnh 1 v 2), nhng ni chung vic thay i th t ca phn ln cc lnh s khng cho kt qu nh mong mun, chng hn nh thay i th t ca cc lnh 3 v 4 l khng c ngha. Lu i vi gio vin. Vic m t cc lnh c th thc hin vi nhiu mc chi tit khc nhau. Tuy cha y mc c th lp trnh c (cha tnh n iu kin kt thc, tc khi con tr c di chuyn n cui vn bn), nhng di y l mt m t chi tit hn: 1. 2. 3. 20 Sao chp dy k t cn tm vo b nh (dy 1). Sao chp dy k t s thay th vo b nh (dy 2). t con tr trc k t u tin ca vn bn.

4. Sao chp dy k t (tnh t v tr con tr sang phi) c di bng dy 1 vo b nh (dy 3). 5. lnh 8. 6. 7. 8. So snh dy 1 v dy 3. Nu dy 3 khng trng vi dy 1, chuyn n Xa dy 3 trong vn bn. Dn dy 2 vo v tr c ca dy 3 v chuyn con tr n cui dy 2 ny. Di chuyn con tr sang phi mt k t v quay li lnh 4.

Hc sinh ch cn c p n m t nhng lnh c bn nht l t yu cu. Gio vin ch nn gii thiu m t chi tit nh trn khi hc sinh c yu cu. Bi 2. Nu thay i th t ca hai lnh no trong chng trnh iu khin r-bt, c th r-bt s khng thc hin c cng vic nht rc v n s i khng ng hng v c th khng ti c v tr c rc dn n khng nht c rc,... V d, nu thay i th t ca lnh 1 "Tin 2 bc" v lnh 2 "Quay tri, tin 1 bc". Khi , sau hai lnh trn r-bt s "Quay tri v tin 3 bc" v n s i ti v tr khng c rc. Ni chung, cc lnh trong chng trnh cn c a ra theo mt th t xc nh sao cho ta t kt qu mong mun. V tr mi ca r-bt sau khi thc hin xong lnh "Hy nht rc" l v tr c thng rc ( gc i din). C nhiu cch khc nhau a ra hai lnh r-bt tr li v tr ban u ca mnh, mt trong cc cch l hai lnh "Quay tri, tin 5 bc" v "Quay tri, tin 3 bc". Lu i vi gio vin. Trong mt nhiu trng hp, ta c th a ra cc lnh khc nhau, nhng vn t kt qu. Chng hn, trong v d v r-bt, thay cho hai cu lnh u tin, ta c th iu khin r-bt n ng v tr c rc bng cc lnh sau: "Quay tri, tin 1 bc" v "Quay phi, tin 2 bc" hoc "Quay phi, tin 2 bc", "Quay tri, tin 2 bc" v "Quay tri, tin 4 bc". Trong mt s trng hp khc, vic thay i th t ca mt vi cu lnh vn cho kt qu ng nh yu cu. Tuy nhin, nh l mt nguyn tc chung, vic thay i th t cc cu lnh s khng cho kt qu ng. C th lin h vi th t cc bc ca thut ton trong Bi 5. Bi 3. L do: iu khin my tnh t ng thc hin cc cng vic a dng v phc tp m mt lnh n gin khng ch dn. Bi 4. Cc ngn ng lp trnh bc cao c pht trin khc phc cc yu im trn ca ngn ng my: kh s dng, kh nh. Ngn ng lp trnh s dng cc cm t t nhin nn d nh, d hc. Lu i vi gio vin. Tuy ngn ng my cng l mt loi ngn ng lp trnh, nhng y chng ta hiu ngn ng lp trnh l ngn ng lp trnh bc cao. Trong ngn ng my, mi ch th u c biu din bng cc con s nh phn 0 v 1. Ngn ng my tuy kh c v kh s dng, nhng l ngn ng duy nht m b vi x l c th nhn bit v thc hin cc lnh mt cch trc tip. Ngoi ra yu im ca cc chng trnh vit bng ngn ng my l ph thuc vo phn cng my tnh.

21

Bi 5. Chng trnh dch l chng trnh c chc nng chuyn i chng trnh c vit bng ngn ng lp trnh thnh chng trnh thc hin c trn my tnh. Nh vy, chng trnh dch chuyn i cc dng lnh c son tho thnh tp c th chy trn my tnh. Bi 6. Hai bc c bn to ra cc chng trnh my tnh l: (1) Vit chng trnh theo ngn ng lp trnh; (2) Dch chng trnh thnh ngn ng my my tnh hiu c. Kt qu l tp tin c th thc hin c trn my tnh. Lu i vi gio vin. y ch l hai bc c bn trong lp trnh v ch l mt phn ca cng vic gii quyt bi ton bng my tnh.

Bi 2. Lm quen vi chng trnh v ngn ng lp trnh


1. Mc ch, yu cu Bit ngn ng lp trnh gm cc thnh phn c bn l bng ch ci v cc quy tc vit chng trnh, cu lnh. Bit ngn ng lp trnh c tp hp cc t kha dnh ring cho mc ch s dng nht nh. Bit tn trong ngn ng lp trnh l do ngi lp trnh t ra, khi t tn phi tun th cc quy tc ca ngn ng lp trnh. Tn khng c trng vi cc t kho. Bit cu trc chng trnh bao gm phn khai bo v phn thn chng trnh.

2. Nhng im cn lu v gi dy hc Mc tiu ca bi 2 l gii thiu cho hc sinh v mt s thnh phn c bn ca ngn ng lp trnh ni chung, lm quen vi mt chng trnh n gin, lm quen vi TP chun b cho bi thc hnh 1. gii thiu cc thnh phn ca ngn ng lp trnh, SGK s dng cch tip cn xut pht t mt chng trnh Pascal c th, sau khi qut ha v tng kt. Cn lu khng gii thch ngay tt c nhng g c trong chng trnh v d, trnh sa gii thiu chi tit c php v ng ngha ca cc cu lnh Pascal m ch nn tp trung khai thc nhng im cn thit phc v cho mc tiu ca bi hc. Cn n thnh phn, cu lnh no th tp trung vo , phn tch, gii thch va , bit im dng lun hng n mc tiu ca mc, ca bi. HS bit vit chng trnh cn s dng mt ngn ng lp trnh c th bi 1. Do vy, GV c th t cu hi ti sao li phi vit chng trnh theo mt ngn ng lp trnh c th no HS tho lun, tr li nhm n li bi c. Cn cho HS quan st hnh 6 thy trc quan mt chng trnh c th. Cch lm ny nhm gy hng th cho hc sinh ngay khi vo bi hc. T vic quan st v d ny GV khi qut ln thnh nhng kin thc chung v ngn ng lp trnh.

22

Ngn ng lp trnh Pascal c nhc n bi 1, do vy gio vin c th gii thiu cho cc em bit v d trong hnh 6 l mt chng trnh vit bng ngn ng lp trnh Pascal. dy mc 2, SGK da trn nhng g hc sinh quan st c nh ch ci, k hiu khi qut nn thnh phn th nht: bng ch ci, cc k hiu. Da trn v d v cu lnh writeln('Chao Cac Ban'); khi qut thnh phn th hai: quy tc vit. Vi mc 2, c th xut pht t ngn ng ting Vit, nu HS c hc ngoi ng th dng ngn ng t nhin l chnh ngoi ng cc em ang hc ly v d s thun tin hn. HS bit mt ngn ng bao gm cc ch ci, cc t v quy tc ng php. Mun ngi khc hiu c v hiu ng th cn dng cc ch ci, nhng t cho php v phi c ghp theo ng quy tc ng php. Ngn ng lp trnh cng vy (quan st hnh 6), c bng ch ci v cc quy tc vit. Khi vit chng trnh phi s dng cc ch ci, cc t v tun th quy tc tc vit m ngn ng lp trnh t ra. C nh vy chng trnh mi c th c dch sang ngn ng my m my tnh c th hiu v thc hin c. C th, ra lnh cho my tnh hin th dng ch cho cc bn th trong chng trnh trn phi vit l: writeln('Chao cac ban');. Gio vin c th s dng cch so snh vi ngn ng t nhin hc sinh d dng hiu c ni dung ny. Chng hn, trong ting Vit, khng phi chng ta c ghp cc ch ci bt k l c mt t c ngha, hoc c ghp cc t (c ngha) l c mt cu c ngha. Nh vy c th xem quy tc vit cc cu lnh trong mt ngn ng lp trnh (c php v ng ngha) l quy tc chnh t v ng php ca ngn ng lp trnh . Trn thc t, mt chng trnh c th c vit khng phi ch bng mt ngn ng lp trnh c th m c th l hai hoc nhiu ngn ng lp trnh cng c s dng trong mt chng trnh. V d, nh trong mt chng trnh c son tho v dch vi TP c th c mt s lnh c vit bng ngn ng Assembly (hp ng). Tuy nhin, y ta khng cp n vn ny m mc nh nhng chng trnh m ta cp n ch s dng mt ngn ng lp trnh. Mc 3, GV s dng v d hnh 6, SGK (CT_Dau_Tien) minh ho cho HS v cc thnh phn ca ngn ng lp trnh. Cc t nh program, uses, begin, end c gi l t kho (nhiu ti liu chuyn mn gi l t dnh ring), l cc t m ngn ng lp trnh quy nh dng vi ngha, chc nng c nh. T kho l khi nim mi vi HS, v vy HS hiu v quy nh t kho trong ngn ng lp trnh, c th ly v d v cm t Lp trng. Lp trng l mt cm t dnh ring gi mt HS trong lp m nhim chc v lp trng ca lp, khng th c mt HS no khc trong lp cng c gi l lp trng (trong cng thi im). Tn l do ngi lp trnh t t ra v s dng nhng k t m ngn ng lp trnh cho php, tt nhin l tn khng c trng vi t kho. Cu lnh writeln('Chao cac ban') l mt cu lnh ch dn my tnh hin th dng ch "Chao cac ban" trn mn hnh.

23

GV khng cn gii thch su v chng trnh ny, cng khng nn gii thch qu k v t kho, tn, cu lnh y. HS s cn tip cn dn vi nhng kin thc ny cc bi hc sau. GV c th gii thiu thm v vic thay cm t Chao cac ban thnh cm t khc HS c th thc hin bi thc hnh sp ti, to hng th cho HS trong tit thc hnh. Mc 4, da vo hnh 7 (CT_Dau_Tien), ch cn cho HS nhn bit c chng trnh gm hai phn: Phn khai bo: Khai bo tn v mt s khai bo khc (cc em s hc sau). Phn thn: Bt u bng t kho Begin v kt thc bng t kho End v du chm (End.). Gia t kho Begin v End. l cc cu lnh. Lu : phn thn l phn quan trng, bt buc phi c mi chng trnh, cn phn khai bo c th c hoc khng. n y c th cho HS pht hin v t kho v chc nng ca t kho qua chng trnh trong hnh 7 SGK: Program l t kho dng khai bo tn chng trnh; T kho Begin dng khai bo bt u chng trnh, t kho End. dng khai bo kt thc chng trnh. Cch tip cn t c th n khi qut c u im l ph hp vi la tui hc sinh THCS. Tuy nhin, hn ch ca cch tip cn ny l HS d b dn n nhn thc rng ang hc ngn ng Pascal. Nh bit, mc tiu l dy hc lp trnh, ngn ng Pascal l mt minh ho c th. Do vy, GV cn lu trc khi chuyn sang mc 5, cn nhn mnh hc sinh ghi nh, vi tt c ngn ng lp trnh u c tp hp cc k hiu (bng ch ci) v quy tc ring vit chng trnh. C th gii thiu ni dung Mc 5 trn lp hoc yu cu cc em c ni dung ny nh chun b cho bi thc hnh 1. Mc tiu l HS nhn bit giao din ca phn mm Turbo Pascal v bit cc bc son tho, dch chng trnh phc v trc tip cho bi thc hnh 1. Nu gii thiu trn lp, gio vin nn chun b sn mt s hnh nh v giao din ca Turbo Pascal trn giy kh rng v tn dung knh hnh trong SGK. Trong c hai trng hp, khi tin hnh Bi thc hnh 1 gio vin cn tng kt li ni dung ny ngay trc khi hc sinh bt u s dng my tnh thc hnh. Cn nhn mnh cho HS v vic to chng trnh chy c trn my tnh gm hai bc: bc mt, son tho chng trnh trn my tnh theo mt ngn ng lp trnh c th; bc hai, dch chng trnh va son tho sang ngn ng my. Vic son tho chng trnh v c bn ging vi son tho vn bn m cc em hc. Vic dch chng trnh cng rt n gin, v d vi ngn ng lp trnh Turbo Pascal, sau khi son tho xong ch cn nhn Alt+F9 l my tnh t ng dch chng trnh. dch v chy chng trnh, nhn Ctrl + F9. Trong phn ny cn cho HS bit c nhiu ngn ng lp trnh, trong chng trnh hc cc em s lm vic vi mt ngn ng lp trnh Pascal.

24

3. Hng dn tr li cu hi v bi tp Bi 1. Cc thnh phn c bn ngn ng lp trnh gm bng ch ci v cc quy tc vit cc cu lnh (c php) c ngha xc nh, cch b tr cc cu lnh,... sao cho c th to thnh mt chng trnh hon chnh v chy c trn my tnh. Lu i vi gio vin. Cc quy tc nhc n y bao gm cc thut ng chuyn mn l c php v ng ngha. Xem SGK, mc 2, bi 2. Bi 2. Khng. Cc cm t s dng trong chng trnh (t kho, tn) phi c vit bng cc ch ci trong bng ch ci ca ngn ng lp trnh. Cc ngn ng lp trnh ph bin hin nay u c bng ch ci l bng ch ci ting Anh v cc k hiu khc, trong khng c cc ch c du ca ting Vit. Lu i vi gio vin. Cu hi trong bi l "vit chng trnh c cc cu lnh bng ting Vit". iu ny khng c ngha l trong chng trnh khng th c cc ch ci c du ca ting Vit (hay ca mt ngn ng khc) nh l d liu dng vn bn cn x l. Cc ch c du s c ngn ng lp trnh x l m k t tng ng trong cc bng m ASCII m rng. V d chng trnh Pascal sau y hon ton hp l:
begin program CT_thu; writeln(' Cho cc bn'); end.

Bi 3. Tn trong chng trnh l dy cc ch ci hp l c ly t bng ch ci ca ngn ng lp trnh. T kho ca mt ngn ng lp trnh (cn c gi l t dnh ring) l tn c dng cho cc mc ch nht nh do ngn ng lp trnh quy nh, khng c dng cho bt k mc ch no khc. Ngi lp trnh c th t tn mt cch tu nhng phi tun th cc quy tc ca ngn ng lp trnh cng nh ca chng trnh dch, trong (1) Hai i lng khc nhau phi c tn khc nhau; (2) Tn khng c trng vi cc t kho. Bi 4. Cc tn hp l: a, Tamgiac, beginprogram, b1, abc; tn khng hp l: 8a (bt u bng s), Tam giac (c du cch), end (trng vi t kho). Bi 5. Xem SGK, mc 4, bi 2. Bi 6. Chng trnh 1 l chng trnh Pascal y v hon ton hp l, mc d chng trnh ny chng thc hin iu g c. Phn nht thit phi c trong chng trnh l phn thn c xc nh bi hai t kho begin v end. (c du chm). Chng trnh 2 l chng trnh Pascal khng hp l v cu lnh khai bo tn chng trnh program CT_thu nm phn thn chng trnh.

25

Bi thc hnh 1. Lm quen vi Turbo Pascal


1. Mc ch, yu cu Thc hin c thao tc khi ng/kt thc TP, lm quen vi mn hnh son tho TP Thc hin c cc thao tc m cc bng chn v chn lnh. Son tho c mt chng trnh Pascal n gin. Bit cch dch, sa li trong chng trnh, chy chng trnh v xem kt qu. Bit s cn thit phi tun th quy nh ca ngn ng lp trnh

2. Nhng im cn lu v gi dy hc chy c chng trnh Turbo Pascal cn c ti thiu hai tp: TURBO.exe v TURBO.TPL. Lu rng nu s dng Turbo Pascal for DOS, trong chng trnh c s dng th vin crt (khai bo uses crt) th khi dch chng trnh c th s c th gp thng bo li Error 200: Division by zero nh hnh di y.

Li ny khng phi chng trnh c vit c li m do phn mm Turbo Pascal ang s dng khng ph hp vi my tnh hin ti c tc cao. khc phc li ny, GV c th ti phn mm Turbo Pascal c sa li ny website www.vnschool.net hoc c th s dng phn mm Pascal for Windows hoc Free Pascal. Tt c cc phn mm ny c sn trong a CD pht cho GV tham gia tp hun ct cn. V HS c hc, thc hnh v khi ng chng trnh cc nm hc trc nn vic khi ng TP l d dng vi cc em. Mc d vy, GV nn to biu tng ca chng trnh TP trn mn hnh nn (Shortcut) thun tin cho HS khi ng trong tit thc hnh. Khi khi ng TP, mn hnh hin ln nh hnh di y. Rt c th HS b ng, lng tng v c mt thng bo gia mn hnh v iu ny khng c nhc n trong SGK. GV lu nhc HS nhy nt OK bt u lm vic vi TP.

26

Mt lu na, c th mn hnh lm vic ca TP ch l mt ca s nh, khng chim ht ton b mn hnh nh minh ho di y.

HS tin theo di th nn m rng ca s TP ra ton b mn hnh. Cch lm nh sau:


-

Chn biu tng tt ca TP trn mn hnh nn; Nhy nt phi chut m bng chn tt nh hnh di y:

Trong bng chn tt, chn mc Properties, ca s Shortcut to Turbo Pascal Properties hin ln. Trong ca s Shortcut to Turbo Pascal Properties, chn mc Screen, sau nhy chut chn Full-screen nh hnh di y. 27

Nhy OK kt thc.

T ln khi ng TP tip theo mn hnh lm vic ca TP s m rng ton b mn hnh my tnh. Trong bi 1, cn cho HS nhn bit biu tng ca TP trn mn hnh nn, khi ng/thot khi TP; bit cch m bng chn; nhn bit c dng tr gip nm di cng ca mn hnh tra cu nhanh phm chc nng khi cn. Khng nn mt nhiu thi gian cho bi 1 bi v nhng k nng ny hc sinh s cn phi lm quen, s dng nhng bi sau. SGK trnh by cc ni dung ny theo tng bc rt c th (cm tay ch vic), v vy gio vin ch cn yu cu hc sinh lm theo cc bc . Vi bi 2, cn nhc HS g chnh xc chng trnh vo my tnh. Mc d vic son tho mt chng trnh ngn nh v d a ra cha cn s dng nhiu n cc cng c son tho. Tuy nhin, GV cn lu cho HS mt s im: Son tho trong TP c mt s im khc vi son tho vn bn m cc em c hc, cn hng dn hc sinh s dng phm Delete, Backspace khi son tho trong TP. Cc cng c son tho nh: sao chp, ct, dn... trong TP cng khc, cn hng dn HS cch tra cu cc lnh ny trong bng chn khi cn thit. C th HS mun g ting Vit c du nhng cu ting Vit (do quen vi g ting Vit c du khi lm vic vi phn mm bng tnh, phn mm son tho vn bn cc lp trc), cn lu cc em ch g ting Vit khng du, TP khng h tr g ting Vit c du. Trng tm ca bi 2 ny l HS thc hin c vic son tho, lu, dch v chy c chng trnh. 28

Khi dch chng trnh rt c th my tnh s bo li do HS son tho chng trnh cn li chnh t, khng hon ton chnh xc. GV yu cu HS t i chiu chng trnh va g vi chng trnh trong SGK chnh sa theo ng chng trnh mu. Vic lm ny l cn thit HS thy c tnh nghim ngt ca ngn ng lp trnh v rn luyn thi nghim tc trong hc tp, lm vic vi ngn ng lp trnh. Khi nhn Ctrl+F9 dch v chy chng trnh, c th HS khng xem c kt qu hin th trn mn hnh. dng mn hnh li cho HS quan st kt qu cn thm lnh Readln ngay trc t kho End. Khi , mn hnh s dng li HS quan st kt qu, quan st kt qu xong nhn phm Enter tr v mn hnh son tho ca TP. GV c th hng dn cc em thay cc cm t Chao cac ban v Minh la Turbo Pascal bng cc cm t khc to hng th trong hc tp. Bi 3 nhm mc ch HS lm quen vi vic s dng TP v sa li c php trong chng trnh. C th cn c vo thng bo li ca TP sa chng trnh. Cng vi vic cung cp chng trnh son tho, vic dch, pht hin v thng bo li l cc yu t quan trng ca mt mi trng lp trnh. Mt mi trng lp trnh tt l mt mi trng c nhiu cng c h tr cho ngi lp trnh trong vic son tho, dch, pht hin v sa li. Hin nay, c nhiu mi trng lp trnh cung cp cc tin tch h tr tt cho ngi lp trnh nh Java, Visual C, Visual Basic... . Nu cn thi gian, GV c th yu cu HS thay i gia cch vit thng v cch vit hoa ca t kho thy c PASCAL khng phn bit ch hoa v ch thng. Cho HS thay lnh write() bng writeln() (hoc ngc li) v quan st nhn thy s khc bit gia lnh write() v writeln(). V d, ban u trong chng trnh c hai dng lnh writeln('Chao cac ban'); v writeln('Minh la Turbo Pascal'); th kt qu a ra mn hnh trn hai dng. Sau sa lnh u tin thnh write('Chao cac ban') v gi nguyn lnh th hai th kt qu in ra trn mt dng. So snh hai kt qu rt ra s khc nhau gia lnh write l writeln. Cch lm ny l mt phng php hng dn HS t khm ph, tm hiu cu lnh ca ngn ng lp trnh.

Bi 3. Chng trnh my tnh v d liu


1. Mc ch, yu cu Bit khi nim kiu d liu; Bit mt s php ton c bn vi d liu s; Bit khi nim iu khin tng tc gia ngi vi my tnh.

2. Nhng im cn lu v gi dy hc HS c lm quen vi khi nim d liu cc lp trc, khng cn thit phi gii thch su thm v khi nim d liu y. Kiu d liu l mt khi nim mi v tng i kh vi HS. V vy, khng yu cu truyn t ht kin thc v kiu d liu bi ny. HS cn c tip cn dn v kiu d liu cc bi sau. 29

C th nu cho HS thy, mn Vn-Ting Vit c th tin hnh phn tch, pht biu cm ngh v bi vn, bi th no . Nhng mn Ton th ta thng tnh ton bng cc php cng tr, nhn, chia... vi cc con s. Cng c th bt u bi hc vi mt v d khc. lp trc hc sinh bc u lm quen vi cc kiu d liu s v d liu vn bn khi hc s dng chng trnh bng tnh. Gio vin c th nhc li hai kiu d liu quen thuc trong Excel v t cu hi hoc nu v d v kt qu nhp cng thc tnh tng gi tr lu trong hai tnh cha cc d liu s hoc vn bn, yu cu hc sinh d on kt qu nhn c (hnh di).

T kt lun: i vi cc kiu d liu khc nhau, ngi ta thng thc hin cc php x l d liu khc nhau. Tng t nh vy, ngn ng lp trnh thng phn chia d liu thnh cc kiu v nh ngha cc php x l tng ng trn mi kiu d liu. SGK ch hn ch gii thiu cc kiu d liu n gin v thng c s dng nht: d liu kiu s nguyn, kiu s thc, kiu k t v kiu xu k t. Thm ch, kiu s nguyn trong ngn ng minh ha l Pascal, SGK cng ch bc u gii thiu kiu integer. Trong cc bi thc hnh tip theo, hc sinh s dn dn c gii thiu thm mt vi kiu d liu khc. Mt khi hc sinh lm quen v hiu cc khi nim c bn v mt vi kiu d liu, vic gii thiu cc kiu d liu khc s rt nh nhng. Hc sinh s dn bit v tm quan trng ca cc kiu d liu khi hc n bi tip theo, s dng bin trong chng trnh. Tng ng vi mi kiu d liu c th u c cc php ton x l tng ng, v d vi d liu l s th c th tin hnh cc php ton cng, tr, nhn, chia vi cc s . Php ton nh div, mod li ch c th thc hin vi kiu nguyn m khng thc hin c vi kiu thc. V thao tc x l d liu kiu xu, GV c th cho HS thy v d v thc hin thao tc hin th d liu kiu xu ra mn hnh m cc em hc bi thc hnh 1.
writeln('Chao Cac Ban'); write('Minh la Turbo Pascal');

Lu rng d liu kiu xu trong Pascal c t trong cp du nhy n. GV cha nn gii thiu v cc thao tc x l i vi d liu kiu xu k t gy qu ti vi HS. Mc 2 ch nu cc php ton vi d liu kiu nguyn v kiu thc. Cn lu mt s im sau:
-

S khc nhau gia k hiu php ton trong ton hc v trong Pascal. C th cho HS t xem cc bng mc 2 pht hin ra s khc nhau ny. Trong Pascal (v trong hu ht cc ngn ng lp trnh ni chung) ch c php s dng cp du ngoc trn () gp cc php ton. Khng dng cp du ngoc vung [] hay cp du ngoc nhn {} nh trong ton hc. GV c th hi HS, gi s khi vit chng trnh mt bn no qun quy nh ny ca Pascal m dng du ngoc vung hay du ngoc trn vit biu thc th c c khng? Mc tiu ca

30

cu hi ny l cc em nh rng lun phi tun th nhng nguyn tc, quy nh m ngn ng lp trnh t ra, nu khng chng trnh dch s khng hiu v khng th dch ra cho my tnh thc hin c.
-

Cc php ton c thc hin theo th t u tin: Cc php ton trong ngoc c thc hin trc tin; Trong dy cc php ton khng c du ngoc, cc php nhn, php chia, php chia ly phn nguyn (div) v php chia ly phn d (mod) c thc hin trc; Cui cng thc hin php cng v php tr theo th t t tri sang phi.

Cc php ton ly phn nguyn (div), ly phn d (mod) ch gii thiu cho HS bit, khng nn dnh nhiu thi gian vo gii thiu hai php ton ny. Trong s cc quy tc trn c mt quy tc quan trng m hc sinh thng b qua v c nh hng ti kt qu tnh ton: Trong mt biu thc ch c php cng v php tr, hoc ch c php nhn hoc php chia, cc php tnh c thc hin theo th t t tri sang phi. Cn c bit lu n iu ny khi chuyn i cc biu thc ton hc sang dng biu thc trong Pascal. Gio vin c th nhiu v d khc nhau nhc nh hc sinh lu v s dng cc cp du ngoc n nhm cc php tnh, v d: 10 5 + 2 = 7, nhng nu thc hin php cng trc ta c kt qu 3. 6 6/2 2 = 36, nhng nu thc hin cc php nhn trc ta c kt qu l 9.

a2 Chng hn, hc sinh thng chuyn nhm biu thc sang dng biu thc (2b + c ) 2 Pascal nh sau: a*a/(2*b+c)*(2*b+c). Mc 3 - cc php so snh, cng ging vi mc 2, cn cho HS nhn thy s khc bit v k hiu s dng trong ton hc v trong Pascal. im cn nhn mnh mc ny l kt qu ca mt php so snh ch c th l ng hoc sai. HS s hiu r hn v ngha ca php so snh khi hc n cu lnh iu kin, cu trc iu khin bi sau. Cn lu rng cc k hiu php ton, php so snh trn l ca Pascal. C s khc nhau v cc k hiu ny cc ngn ng lp trnh khc nhau. Khi lm vic vi ngn ng lp trnh no th phi tun th cc quy nh v k hiu php ton ca ngn ng lp trnh . Tuy nhin, cc ngn ng lp trnh u cho php biu din cc php tnh s hc, php so snh. Ni dung mc 4, Giao tip ngi-my tnh, tt nht nn c GV minh ho trn my tnh. C th vit sn v cho chy mt chng trnh nh sau (GV c th s dng chng trnh khc):

31

Chng trnh ny s cho php nhp tn ca ngi s dng v tin hnh in ra mn hnh dng ch cho vi tn m ngi s dng va nhp. Chng trnh s lp n khi ngi s dng nhn phm khc vi phm C. C th mi ln lt mt s em ln nhp tn ca chnh cc em thy c s thay i tng ng vi d liu nhp vo. T cc em thy c khi nim tng tc ngi-my tnh. Mt im cn lu y l cn cho HS thy s tng tc gia ngi v my c c l do ngi lp trnh to ra. C th m chng trnh v gii thch s b cho cc em v mt s cu lnh n gin nhp tn, in dng cho vi tn tng ng. Lu , lc ny khng phi l thi im thch hp gii thch tt c cc cu lnh trong chng trnh. Nhng tng tc ngi-my tnh m cc em thc hin khi son tho vn bn, s dng h iu hnh... do ngi lp trnh to ra l mt kin thc quan trng m cc em cn rt ra y. iu ny th hin s khc bit gia hc tin hc n thun ch s dng v hc tin hc vi t cch l mt ngnh khoa hc. HS s dn hiu r hn v vic ny nhng bi hc sau. chun b cho bi thc hnh 2, GV c th cho HS lm cu a, bi 1 ca bi thc hnh 2 ngay trn lp. 3. Hng dn tr li cu hi v bi tp Bi 1. V d liu v cc thao tc x l d liu rt a dng, l do d nhn thy nht l vic phn chia d liu thnh cc kiu gip xc nh cc php x l (php ton) c th thc hin trn mi kiu d liu. Ngoi ra, vic phn chia kiu d liu cn cho bit cc gi tr c th (phm vi) ca d liu, gip cho vic qun l ti nguyn ca my tnh (c bit l b nh trong) mt cch hiu qu. Bi 2. C th nu cc v d sau y: a) D liu kiu s v d liu kiu xu k t. Php cng c nh ngha trn d liu s, nhng khng c ngha trn d liu kiu xu. b) D liu kiu s nguyn v d liu kiu s thc. Php chia ly phn nguyn v php chia ly phn d c ngha trn d liu kiu s nguyn, nhng khng c ngha trn d liu kiu s thc. 32

Bi 3. Dy ch s 2010 c th l d liu kiu d liu s nguyn, s thc hoc kiu xu k t. Tuy nhin, chng trnh dch Turbo Pascal hiu 2010 l d liu kiu xu, chng ta phi vit dy s ny trong cp du nhy n (').
var a: real; b: integer; c: string; begin writeln('2010'); writeln(2010); a:=2010; b:=2010; c:=2010 end.

Bi 4. Cho hai xu k t "Lp" v "8A". C th nh ngha nhiu "php ton" trn tp hp cc d liu kiu xu. Chng hn php ghp: Lp + 8A = Lp8A. Bi 5. Lnh Writeln('5+20=','20+5') in ra mn hnh hai xu k t '5+20' v '20+5' lin nhau: 5+20 = 20+5, cn lnh Writeln('5+20=',20+5) in ra mn hnh xu k t '5+20' v tng 20 + 5 nh sau: 5+20=25. Bi 6. Cc biu thc trong Pascal: a) a/b+c/d;
c) 1/x-a/5*(b+2);

b) a*x*x+b*x+c ; d) (a*a+b)*(1+c)*(1+c)*(1+c). b ; a +c
2

Bi 7. Cc biu thc ton tng ng:


2 a) (a + b)

x ; y

b)

a2 c) ; (2b + c ) 2 a) ng; b) Sai;

d) 1 +

1 1 1 1 + + + . 2 2.3 3.4 4.5 c) ng;

Bi 8. Kt qu ca cc php so snh: d) ng khi x > 2.5; ngc li, php so snh c kt qu sai. Bi 9. a) 15-8>=3; b) (20-15)*(20-15)<>25; c) 11*11=121; d) x>10-3*x. Bi 10. Mt s v d v tng tc gia ngi v my tnh khi chng trnh hot ng: thng bo kt qu tnh ton hay trng thi hot ng ca chng trnh, nhp d liu, tm ngng chng trnh. Xem SGK, mc 4, bi 2.

Bi thc hnh 2. Vit chng trnh tnh ton


1. Mc ch, yu cu Chuyn c biu thc ton hc sang biu din trong Pascal; Bit c kiu d liu khc nhau th c x l khc nhau. 33

Hiu php ton div, mod Hiu thm v cc lnh in d liu ra mn hnh v tm ngng chng trnh.

2. Nhng im cn lu v gi dy hc Cu a ca bi 1 nhm mc ch HS tp chuyn biu thc vit dng ton hc sang vit trong Pascal. Ch cn tp trung vo bn php tnh n gin l cng, tr, nhn, chia. Mc d trong Pascal c hm sqr, nhng trong bi ny biu din bnh phng ca mt s ch dng php nhn s vi chnh n. V d, 32 = 3*3. Lu , khc vi trong ton hc, trong Pascal s dng k hiu * v / tng ng vi php nhn v php chia. y l bi u tin HS tp vit biu thc trong Pascal. Do vy, cn a ra cc v d n gin vi cc php tnh n gin, d dng tnh ra kt qu. Trnh a ra cc v d qu phc tp, s lng php tnh nhiu, kh tnh ton ra kt qu. Lm nh vy HS ch tp trung vo mc tiu chnh ca phn ny l chuyn biu thc ton hc sang m t trong Pascal m khng mt thi gian vo cc tnh ton phc tp. Ni dung ca cu a l HS lm trn lp, khng cn thit phi s dng n my tnh. Do vy, ni dung ny c th c dy trn lp ngay sau bi 3. Trong phn b v phn c, HS luyn tp son tho, chnh sa, bin dch, chy v xem kt qu ca chng trnh. Cn lu HS g chun xc, da vo thng bo li ca TP khi bin dch, i chiu vi ni dung in trong SGK chnh sa chng trnh nu c (do HS g nhm). Cc biu thc cu b chnh l biu din ca cc biu thc ton hc cu a. Khi quan st kt qu trn mn hnh cn cho HS thy c vi mi lnh write(), TP hin th ra mn hnh nhng xu k t nm trong cp du nhy n v hin th kt qu ca biu thc c t ngay sau du phy. Cn gii thch HS thy c hai dy ging nhau gm s v k hiu php ton, nu t trong cp du nhy n th Pascal hiu l xu k t v lnh write s hin th y nguyn xu k t ra mn hnh. Nhng nu khng t trong cp du nhy n th Pascal coi l mt biu thc v s tnh ton biu thc v lnh write() s hin th kt qu ca biu thc. y cng chnh l mt v d minh ho cho vic kiu d liu khc nhau th cch x l d liu khc nhau. S kt hp gia hin th d liu xu v kt qu biu thc y to thun li cho con ngi theo di kt qu tnh ton. HS c th d dng kim chng kt qu tnh ton biu thc, to nim tin, hng th trong hc tp, GV c th dnh thi gian HS t tnh ton v i chiu vi kt qu trn mn hnh TP. Nu cn thit, GV c th thay cc v d trong SGK bng cc v d khc, n gin hn, d kim chng kt qu hn i vi HS, trnh mt thi gian tnh ton khng cn thit. Qua bi ny HS cn nhn ra rng chng trnh Pascal c th khng c phn khai bo. Ni cch khc l phn khai bo khng bt buc phi c, ngc li phn thn chng trnh th bt buc phi c. Yu cu HS lu li bi 1 cn s dng khi tin hnh bi 3. 34

Qua bi 2 v bi 3 v c bn HS cn hiu c lnh div, mod v tip tc rn luyn mt s thao tc nh son tho, dch, hiu chnh, chy v quan st kt qu ca chng trnh. Cn lu mt s im sau:
-

HS lm quen vi php tnh div, mod; thy c s khc nhau gia php div, php mod v php chia. Bit lnh clrscr c dng xa tt c nhng g c trn mn hnh cho n thi im . Lnh ny c trong th vin crt nn mun s dng lnh ny th phi khai bo s dng th vin ny u chng trnh. GV gi HS b lnh uses crt kim chng iu ny (nu nh cha thc hin thao tc ny bi thc hnh 1). Cc lnh delay(), read, readln c dng tm ngng chng trnh. Cc lnh ny thng c dng cc v tr thch hp trong chng trnh con ngi quan st kt qu, theo di chng trnh. Vic s dng cc lnh ny l mt v d v vic iu khin giao tip ngi-my tnh.

Khi lm bi 3 HS phi m chng trnh c ghi vo a bi 1. Mc d vic m tp c sn HS c thc hnh nhiu cc lp di, tuy nhin thao tc m tp ca TP hi khc, c th HS s lng tng. Do vy, cn lu hng dn HS cc thao tc m tp khi bt u bi 3. Vic iu khin ghi s thc trn mn hnh ca TP ch cn gii thiu qua, y khng phi l kin thc trng tm ca bi thc hnh.

Bi 4. S dng bin trong chng trnh


1. Mc ch, yu cu Bit khi nim bin, hng; Hiu cch khai bo, s dng bin, hng; Bit vai tr ca bin trong lp trnh; Hiu lnh gn.

2. Nhng im cn lu v gi dy hc y l bi tng i kh i vi HS. Cn lu nhn mnh mt s im sau: Bin l i lng lu tr d liu, c th thay i gi tr ca bin ti bt k v tr no trong chng trnh. Mun s dng bin th phi khai bo, khi khai bo bin phi khai bo kiu d liu m bin s lu tr. Bin ch c th lu tr c d liu c kiu thuc kiu ca bin. Ngi lp trnh t t tn cho bin theo quy tc ca ngn ng lp trnh ang s dng. C th gn gi tr cho bin v tnh ton vi bin. Hng c khai bo l i lng lu tr d liu c nh. Khng c php thay i gi tr ca hng trong chng trnh. Bi ny hon ton c th c tin hnh dy hc theo ng trnh t nh trong SGK. Tuy nhin, di y xin gii thiu mt cch tin hnh dy hc khc GV tham kho. 35

Vo u bi hc GV c th yu cu HS vit mt chng trnh tnh din tch hnh trn c bn knh r = 2. Do HS c thc hnh v vit biu thc trong Pascal nn HS s d dng lm c bi ny.
Begin Write('Dien tich hinh tron co ban kinh r=2 la: ', 3.14*2*2); readln; end.

Vi cch vit nh trn, nu mun tnh din tch ca mt hnh trn khc th li phi vo chng trnh sa li. Nh vy s rt mt thi gian, l cha k ngi s dng phi bit lp trnh, hiu chng trnh th mi vo sa chng trnh c. Vic i hi ngi s dng phi bit lp trnh, sa c chng trnh l khng thc t. GV a ra yu cu l cn vit mt chng trnh cho php ngi s dng nhp t bn phm bn knh ca hnh trn, sau tnh ton din tch v hin th kt qu ra mn hnh. Ni chung HS cha a ra c phng n gii quyt vn ny. GV cn a ra mt chng trnh thc hin iu ny cc em quan st.
Var R: Integer; Begin Write('Nhap ban kinh hinh tron R=: '); Readln(R); Write('Dien tich hinh tron la: ', 3.14*R*R); readln; end.

Nu dy vi my tnh, GV c th cho chy th chng trnh ny HS quan st s hiu qu hn. Da trn chng trnh ny GV gii thiu v bin nh, cch khai bo bin v s dng lnh read() hoc readln() nhp gi tr bin t bn phm, c th c th gii thiu nh sau: Trong chng trnh s dng mt cng c h tr lp trnh ca PASCAL l bin nh R.
Var R: Integer;

l lnh khai bo bin nh. Khi chy chng trnh, n lnh ny PASCAL dnh mt phn b nh v t tn cho phn b nh ny l R - gi tt l nh R. C th hnh dung ban u nh R ny cha cha gi tr (ni ng hn l cha mt gi tr no - tu thuc vo ngn ng lp trnh, nhng y cha phi l thi im ph hp ni v chi tit ny vi HS). V c php khai bo bin ch cn lu tn bin do ngi lp trnh t (tun th theo qui tc t tnca ngn ng lp trnh) v kiu d liu ca bin. Chi tit hn v khai bo tn s c cp trong bi thc hnh 3.
Readln(R);

l lnh dng nhp gi tr cho bin R t bn phm. Gp lnh ny chng trnh s dng li v yu cu ngi s dng nhp gi tr t bn phm. Khi ngi s dng nhp mt s, v d s 3, 36

ri nhn Enter, th chng trnh s "mang" s 3 ny "t" vo nh R. Trong lp trnh vic ny c gi l gn gi tr 3 cho bin R. n y, bin R c gi tr bng 3. Vi cu lnh Write('Dien tich hinh tron la: ', 3.14*R*R); im cn gii thch cu lnh ny i vi HS l biu thc 3.14*R*R. V R c khai bo l bin v c gn gi tr bng 3 nn khi tnh ton biu thc ny, Pascal thay tn bin R bng gi tr l 3 ang c lu nh R, ngha l tnh 3.14*3*3. Biu thc ny tnh din tch hnh trn vi bn knh l 3 va c nhp t bn phm. Khi thc hin chng trnh, ngi s dng c th nhp gi tr bn knh bt k (chnh xc th phi l s nguyn bt k, nhng GV cha cn gii thch chnh xc, y y). iu c ngha l nh R c th nhn cc gi tr khc nhau ph thuc vo ngi s dng. y l c im quan trng ca bin: Gi tr ca bin c th thay i. Lu rng cch trnh by nh trn ch gip dn dt hc sinh n khi nim v bin. Sau ny, trong qu trnh gii thiu cc ni dung tip theo v cc bi thc hnh, gio vin cn nhn mnh hc sinh hiu r: mc tiu ca vic s dng bin khng phi l trnh hoc gim n gin cng vic chnh sa chng trnh m mc tiu hng u l lu tr cc gi tr trung gian (c nhp vo hay c tnh ton) cho cc hot ng x l d liu v sau v tn bin gip chng trnh nhn bit chnh xc d liu c lu u trong b nh. Nhiu thao tc x l d liu khng th thc hin c nu khng s dng bin. SGK trnh by rt r ny. n y nhn mnh cho HS rng cn khai bo bin, kiu ca bin trc. C th gn gi tr cho bin v s dng bin trong tnh ton. Gi tr ca bin c th thay i. Sau GV c th a ra chng trnh di y:
Var R: Integer; S: Real; Const So_PI = 3.14; Begin Write('Nhap ban kinh hinh tron R=: '); Readln(R); S:= So_PI*R*R; Write('Dien tich hinh tron la: ', S); readln end.

So vi chng trnh trc, im khc bit ca chng trnh ny l khai bo hng s So_PI, s dng hng s So_PI tnh din tch hnh trn trong biu thc So_PI*R*R. Cn nhn mnh cho HS v cch khai bo hng v c im ca hng s l gi tr c xc nh ngay t khi khai bo v khng thay i gi tr. Thc hin n lnh ny PASCAL dnh mt nh vi tn l So_PI v gn gi tr cho nh ny l 3.14. Tng t nh vi bin R, trong biu thc So_PI*R*R, khi tnh ton Pascal s thay hng s So_PI bng gi tr 3.14 c lu trong nh So_PI. 37

Cu lnh S:= So_PI*R*R c s dng gii thch cho HS v lnh gn. HS bit cch khai bo bin R, cch gn gi tr cho bin R thng qua lnh Readln(). Cch gn gi tr cho bin S y l dng lnh gn, k hiu l :=. Gp lnh ny, Pascal s tnh gi tr ca biu thc bn phi php gn v gn gi tr ny cho bin bn tri du gn. C th, Pascal s tnh ton biu thc So_PI*R*R bn phi du :=, sau mang gi tr va tnh c t vo nh S. Cn lu HS y khng c ngha nh du bng trong ton hc. Lu , trong TP inh ngha sn hm Pi cho gi tr ca s p, v vy thc cht chng trnh trn c th khng cn khai hng s So_PI. Tuy nhin, ti thi im ny gio vin khng cp n iu ny trnh gy phc tp vn . C th da vo s khc nhau gia hai khai bo bin trong chng trnh ny gii thiu cho HS cn thit phi c s ph hp gia kiu ca bin vi kiu d liu. C th, bin R c khai bo vi kiu integer th khi nhp bn knh ngi dng ch c php nhp cc gi tr nguyn. Nu dy cng vi my tnh, my chiu GV c th cho HS quan st trc quan tnh hung bo li khi nhp bn knh l s thc. C th yu cu HS gii thch ti sao li khai bo S l kiu thc, nu khai bo l kiu nguyn c c khng? Qua cu hi ny HS cn nhn thy c S phi c kiu l s thc bi v So_PI l s thc, nn kt qu ca biu thc So_PI*R*R l s thc. V vn hp kiu ca bin vi gi tr gn cho bin, y ch cn HS bit c nu bin kiu nguyn th ch c th c gn gi tr nguyn, nu bin c kiu thc th c th c gn gi tr thc. Khng nn gii thiu, phn tch su, chi tit nhng tnh hung ngoi l hoc s bin i kiu d liu y. Cc chng trnh v d trn y cn c th c s dng gii thiu cho HS v vic kt hp gia lnh write(), writeln() v read(), readln() to giao din nhp, xut d liu. chun b cho bi thc hnh 3, GV c th ra bi tp hc sinh tp khai bo bin trong Pascal, c th nh: khai bo bin lu gi tui ca mt ngi; khai bo bin lu gi tn ngi, khai bo bin lu cn nng, chiu cao ngi. HS cn gii thch c vic la chn kiu d liu ph hp. Cui bi hc ny, cn khi qut cho HS bit bin, hng l nhng i lng c trong mi ngn ng lp trnh. Trn y l nhng v d c vit trong ngn ng Pascal. Lu : Vic s dng bin gip ci tin chng trnh ban u cho php ngi s dng c th tnh din tch hnh trn vi bn knh nhp t bn phm. iu gp phn l gii ngha, li ch ca bin trong chng trnh. Tuy nhin, v d trn li cha lm r ngha ca hng trong chng trnh. Th hnh dung, nu trong chng trnh trn s dng So_PI nhiu ln, tc l nu c nhiu biu thc dng n So_PI nh tnh din tch, tnh chu vi ca nhiu hnh trn chng hn. Trong trng hp khng s dng hng th tt c cc biu thc cn dng s Pi u phi vit gi tr s l 3.14. Gi s sau mun tnh ton vi chnh xc cao hn, chng hn vi s Pi l 3.1416, th ngi lp trnh phi tm tt c cc ch m s Pi c vit l 3.14 thay bng 3.1416. Nh vy s mt thi gian v d nhm ln.

38

Nhng nu chng trnh s dng hng So_PI, c khai bo ban u l Const So_PI = 3.14; v sau trong cc cng thc c s dng n s Pi, thay v phi vit l 3.14 ngi lp trnh dng hng So_PI thay th vo . V vy, nu mun thay i gi tr ca s Pi trong ton b chng trnh t 3.14 sang 3.14.16 th ngi lp trnh ch cn tin hnh mt chnh sa duy nht cu lnh khai bo u chng trnh thnh So_PI = 3.1416;, khng cn phi chnh sa cc biu thc trong chng trnh. Khi tt c cc biu thc dng hng So_PI trong chng trnh u c tnh ton vi s Pi c gi tr mi l 3.1416. Tnh hung ny l v d lm r mt trong nhng li ch v ngha ca hng trong lp trnh. Nu kh nng tip thu ca HS tt v cn thi gian, sau khi hon thnh bi hc, cn c vo gii thch ngha ca hng trn, gio vin c th ly mt chng trnh minh ho ngha, li ch ca hng cho HS. Phn gii thch v ngha, li ch ca hng khng bt buc phi gii thiu cho HS. 3. Hng dn tr li cu hi v bi tp Bi 1. Xt v mt lp trnh, bin i lng c dng lu tr d liu v d liu c bin lu tr c th thay i trong khi thc hin chng trnh. Xt v mt lu tr d liu, c th xem bin l "tn" ca mt vng nh c dnh sn lu d liu trong sut qu trnh thc hin chng trnh. Gn gi tr cho mt bin v thc cht l lu d liu tng ng vo vng nh c t tn v dnh ring cho bin. Vic thc hin cc tnh ton v x l vi bin c ngha l thc hin tnh ton v x l vi d liu c gn . Gi s X c khai bo l bin vi kiu d liu s nguyn v X c gn d liu l s 5. Sau khi khai bo, chng trnh s dnh ring mt vng nh no cho bin X, v khi gn 5 cho X th vng nh lu d liu 5. Lnh ghi X ra mn hnh c ngha l ghi s 5 ra mn hnh. Lu i vi gio vin. Khi mt vng nh c khai bo lu d liu lm gi tr ca mt bin, vng nh s khng c php s dng vo mc ch khc. Do vy, mt trong nhng k nng lp trnh l s dng cng t bin cng tt, nht l trong nhng trng hp vic s dng b nh b hn ch. Nhng vi cng ngh hin nay, b nh my tnh c dung lng rt ln nn vn hn ch s dng bin trong chng trnh khng cn l vn cp thit. Bi 2. Vic khai bo bin gm: Khai bo tn bin v khai bo kiu d liu ca bin. Khi khai bo bin, ngoi vic tn bin c a vo danh sch cc i tng qun l, my tnh (thng qua chng trnh dch) s xc nh kiu ca bin v dnh mt vng nh c ln thch hp vi phm vi kiu ca bin lu gi tr ca bin. V d, cng lu cc gi tr l s nguyn, khi khai bo bin kiu byte, my tnh ch dnh vng nh c ln 1 byte, nhng khi khai bo bin kiu nguyn, my tnh s dnh vng nh c ln 2 byte, hoc vng nh 6 byte c dnh cho bin c khai bo vi kiu s thc,... Nh th vic s dng b nh s hiu qu hn. Ngoi ra my tnh s bit p dng cc php ton thch hp i vi gi tr ca bin. 39

Bi 3. p n: a) Hp l; b) Khng hp l; c) Hp l; d) Khng hp l. Bi 4. Mc d u cng phi khai bo trc khi c th s dng trong chng trnh, s khc nhau gia bin v hng l ch gi tr ca hng khng thay i trong sut qu trnh thc hin chng trnh, cn gi tr ca bin th c th thay i c ti tng thi im thc hin chng trnh. Bi 5. Khng th gn li gi tr 3.1415 cho Pi trong phn thn chng trnh v gi tr ca hng khng thay i trong sut qu trnh thc hin chng trnh. Bi 6. a) Hp l; b) Khng hp l v tn bin khng hp l; c) Khng hp l v hng phi c cho gi tr khi khai bo; c) Khng hp l v hng phi c cho gi tr khi khai bo; d) Khng hp l v khng c gn gi tr cho bin khi khai bo (cch gn gi tr cho bin cng khng ng c php). Bi 7. Cc li trong chng trnh: (1) Tha du bng dng 1 (ch cn du hai chm); (2) Tha du hai chm dng 2 (vi hng ch cn du bng); (3) Thiu du chm phy dng 4; (4) Khai bo kiu d liu ca bin b khng ph hp: Khi chia hai s nguyn, kt qu lun lun l s thc, cho d c chia ht hay khng. Do cn phi khai bo bin b l bin c kiu d liu s thc. Bi 8. Cch khai bo hp l: a) b) Cc bin a v h l kiu s nguyn; bin S: kiu s thc. C bn bin a, b, c v d l cc kiu s nguyn.

Bi 9. Cn s dng cc bin sau y vi mi hc sinh: mt bin kiu xu lu tn, v d Hoa, Mai,..., mt bin kiu s nguyn lu im, v d Diem_Hoa, Diem_Mai; ngoi ra cn mt bin Trungbinh l bin kiu s thc ghi im trung bnh ca c lp. Bi 10. Chng trnh Pascal c th nh sau y:
uses crt; var r: integer; C,S: real; begin clrscr; write('Nhap ban kinh r = '); readln(r); C:=2*Pi*r; S:=Pi*r*r; writeln('Chu vi duong tron bang ',C:8:2); writeln('Dien tich hinh tron bang ',S:8:2); end.

Bi thc hnh 3. Khai bo v s dng bin


1. Mc ch, yu cu Thc hin c khai bo ng c php, la chn c kiu d liu ph hp cho bin. 40

Kt hp c gia lnh write(), writeln() vi read(). readln() thc hin vic nhp d liu cho bin t bn phm. Hiu v cc kiu d liu chun: kiu s nguyn, kiu s thc. S dng c lnh gn gi tr cho bin. Hiu cch khai bo v s dng hng. Hiu v thc hin c vic tro i gi tr ca hai bin. 2. Nhng im cn lu v gi dy hc Chng trnh trong cu a, bi 1 l chng trnh gi nh s tin phi tr bao gm s tin mua hng (bng n gi nhn vi s lng) v s tin cc ph vn chuyn (c nh l 10000). Tng s tin phi tr bng s tin mua hng cng vi cc ph. Vi bi ny HS tp khai bo bin trong Pascal, cn cho HS tm hiu c php khai bo bin, t tn ng theo quy nh ca Pascal, chn ng kiu d liu ca bin. Rn luyn son tho, dch, hiu chnh, chy v kim tra kt qu cng l mt mc tiu ca bi ny. Cn hng dn HS tm hiu chc nng ca lnh Readln(tn bin); nhp gi tr ca bin; S kt hp ca write() v readln() trong vic nhp gi tr bin t bn phm; Vic s dng bin trong biu thc thanhtien:= soluong*dongia+cuocphi. Cc ch thch t trong cp du ngoc {} hoc (* *) c dng gii thch cu lnh, ca ngi vit chng trnh. Gp cp du ngoc ny Pascal b qua, khng dch nhng ni dung bn trong. Vic vit ch thch trong chng trnh i khi rt cn thit gip ngi khc c th nhanh chng hiu c chng trnh, thm ch l chnh ngi vit ra chng trnh d dng hn khi xem li hoc chnh sa chng trnh ca mnh. C th gi HS nhp s lng l mt s thc, v d 6.5 chng hn v gii thch hin tng xy ra. Nguyn nhn l do kiu d liu nhp vo l s thc khng ph hp vi kiu ca bin Soluong khai bo trong chng trnh l s nguyn. C th gi HS thay i kiu ca bin s lng khai bo c th nhp s lng l mt s thc. Khi nhp b s liu (1, 35000), kt qu khng cn ng na, nguyn nhn ca hin tng ny l do trn s. Bin Soluong c kiu l integer nn ch cho php cha cc gi tr trong khong t 32768 n 32767, gi tr 35000 ngoi khong gi tr trn cho nn gy ra li, kt qu a ra khng chnh xc. C th gi cho HS chnh sa khai bo kiu d liu khc phc hn ch ny. Mt trong nhng ni dung quan trng ca bi ny l gip hc sinh luyn tp vic nhn bit v khai bo kiu d liu hp l cho cc bin. Khai bo kiu d liu hp l mt mt s gip cho vic s dng b nh mt cch ti u (v d, vi i lng ch nhn gi tr s t nhin trong vt qu 255 th khng cn thit phi khai bo bin kiu s nguyn, m ch cn kiu byte), mt khc gip trnh li trn d liu v dn n kt qu sai. Trong cc bi thc hnh sau, gio vin nn lu hc sinh n im ny.

41

Vi bi 2, trng tm ca bi ny l cho HS luyn tp vi lnh gn v thc hin vic tro i gi tr ca hai bin x, y. y l mt cng vic hay gp trong lp trnh v qua v d ny HS c th hiu r hn v bin, cch s dng bin. Bi ny cng gii thiu cch vit cu lnh nhp nhiu d liu t bn phm bng mt cu lnh writeln hoc write. thc hnh bi ny, c th tin hnh nh sau: Cho HS g chng trnh trong SGK, tin hnh dch, chnh sa v cho chy chng trnh. Do khng c thng bo cho ngi dng v yu cu nhp gi tr tng ng ca cc bin x, y nn HS c th gp kh khn khng bit nhp th no. GV cn hng dn HS c php ca cu lnh v cch nhp hai s nguyn (cch nhau bi du cch) ri nhn Enter v quan st kt qu. Nn gi cho HS ci tin chng trnh trn hng dn ngi s dng nhp gi tr cho x, y t bn phm. In ra mn hnh gi tr ca x, y va c ngi s dng nhp vo v in ra mn hnh gi tr x, y sau khi tro i gi tr. C th tham kho chng trnh Tinhtien.pas thc hin vic ny. V vic tro i gi tr gia hai bin x v bin y, c th ly v d minh ho nh vic mun tro i gia hai cc nc. Gi s c hai cc nc, mt cc nc cha nc mu , mt cc nc cha nc mu xanh. Lm th no tro i nc gia hai cc nc ny. ng nhin l phi dng cc th ba lm trung gian thc hin iu ny, c th: Gi s cc X cha nc mu , cc Y cha nc mu xanh v cc Z l cc trung gian, khng cha g c. Cch tro i nc cha trong cc X v cc Y nh sau:; nc trong cc X sang cc Z; nc xanh trong cc Y sang cc X; nc trong cc Z sang cc Y. Sau khi thc hin nh trn nc trong hai cc c tro sang nhau. Vic tro i gi tr ca bin cng tng t, trong chng trnh phi s dng bin z lm bin trung gian lu gi gi tr ban u ca bin x. C th:
z:=x; {Lu gi tr ca bin x vo bit z} x:=y; {Gi tr ca bin x c thay bng gi tr ca bin y} y:=z; { Gi tr ca bin y c thay bng gi tr ca bin z, gi tr ca bin z lc ny chnh bng gi tr ca bit x ban u}

* C mt khc bit cn c lu y. Khi xong nc cc Y sang nc cc X th cc Y c nc cn cc X ht nc. Khc vi khi gn X:= Y; th gi tr bin X bng gi tr bin Y, nhng gi tr bin Y khng mt. Nu hc sinh thc mc th GV c th gii thch iu ny, nu hc sinh khng thc mc GV khng nn gii thch trnh lm phc tp vn . Chng trnh sau khi chnh sa c th nh sau:
Program hoan_doi; var x,y,z:integer; begin write('Nhap gia tri bien x = '); readln(x);

42

write('Nhap gia tri bien y = '); readln(y); Writeln('Truoc trao doi, gia tri cua bien x: ', x); Write('Truoc trao doi, gia tri cua bien y: ', y); {Bat dau thuc hien trao doi} z:=x; x:=y; y:=z; {Ket thuc trao doi} Writeln('Sau trao doi, gia tri cua bien x = ', x); Write('Sau trao doi, gia tri cua bien y = ', y); readln end.

Lu , HS d tip thu, trong chng trnh trn la chn cch vit nhiu lnh n gin, mc d c th ghp mt s lnh thnh mt lnh chng trnh ngn gn hn. v d, c th thay hai lnh:
Writeln('Truoc trao doi, gia tri cua bien x = ', x); Write('Truoc trao doi, gia tri cua bien y = ', y); bng mt lnh nh sau: Writeln('Truoc trao doi, gia tri cua bien x = ', x, ' y = ', y);

Bi 5. T bi ton n chng trnh


1. Mc ch, yu cu Bit khi nim bi ton, thut ton; Bit cc bc gii bi ton trn my tnh; Xc nh c Input, Output ca mt bi ton n gin; Bit chng trnh l th hin ca thut ton trn mt ngn ng c th. Bit m t thut ton bng phng php lit k cc bc. Hiu thut ton tnh tng ca N s t nhin u tin, tm s ln nht ca mt dy s.

2. Nhng im cn lu v gi dy hc Bi ton v thut ton gii quyt bi ton l nhng ni dung rt quan trng, nu khng ni l quan trng nht trong lp trnh. Nu hc sinh nm vng c nhng kin thc ny th s d dng hn rt nhiu trong vic tip thu kin thc trong cc bi sau. V l cc tc gi xut dnh thi lng cho Bi 5 l 04 tit l thuyt v 02 tit bi tp. Gio vin cn tn dng ht thi gian dnh cho bi ny truyn t cho hc sinh mt cch k lng. Khi nim bi ton v gii bi ton tr thnh quen thc vi hc sinh trong cc mn hc khc nh Ton, Vt l,... Bi ton trong tin hc khng ch l nhng bi ton trong lnh vc ton hc m cn c th l mt nhim v, mt cng vic cn gii quyt trong cuc sng

43

thc tin (nhiu khi chng lin quan g n ton hc) nh: tnh im trung bnh mt mn hc, mt hc k, nu mn n hay iu khin r-bt nht rc chng hn. cho HS m rng nhn thc v khi nim bi ton m cc em c bit mn hc khc, c th s dng li v d v bi ton iu khin r-bt nht rc HS hc bi 1. V d ny cho thy bi ton c th cn l mt cng vic, mt nhim v gn lin vi cuc sng hng ngy. Do c tip cn vi v d ny bi hc u tin nn vic tm ra iu kin cho trc v kt qu thu c ca bi ton ny s d dng hn vi HS. dn dt n khi nim xc nh bi ton, GV vin c th da vo gi thit v kt lun ca mt bi ton trong mn Ton dn dt hc sinh xc nh Input, Output ca bi ton trong Tin hc. Trong mn ton, thng trc khi bt u gii mt bi ton cc em quen vi vic tm gi thit v kt lun ca bi ton. Trong tin hc, phn gi thit l cc iu kin cho trc (Input), phn kt lun l kt qu cn thu c (Output). C th s dng mt bi ton n gin, quen thuc vi HS HS d dng tm ra c iu kin cho trc (gi thit) v kt qu cn thu c (kt lun) ca bi ton ny (khng nht thit c phi ly v d trong SGK). my tnh c th "gii" c bi ton th con ngi cng phi ch dn cho my tnh. Tuy nhin, s ch dn ca con ngi my tnh thc hin phi rt c th, chi tit v c bit l my tnh phi "hiu" c nhng ch dn ny. C th t cu hi vi HS: My tnh c "gii" c bi ton khng? C th s dng v d v r-bt nht rc HS tho lun tm ra cu tr li. Vic vit chng trnh iu khin my tnh r phi, tin, r tri, nht rc... l do con ngi ngh ra, my tnh ch thc hin nhng thao tc theo ch dn ca con ngi. Nh vy, con ngi tm ra cch thc, ch ra cc thao tc v trnh t thc hin cc thao tc gii quyt cng vic, my tnh ch bit thc hin cc thao tc theo ch dn. My tnh khng t gii c bi ton. Tp hp cc bc iu khin r-bt nht rc chnh l mt thut ton. C th m t thut ton bng cch lit k cc bc nh gii thiu trong SGK hoc bng s khi. Tuy nhin, GV khng cn gii thiu thm v cch m t bng s khi. HS bit my tnh ch c th hiu c ngn ng my. Ngn ng lp trnh l ngn ng con ngi s dng vit chng trnh. V vy, c th gi HS suy lun dn n phi th hin thut ton bng ngn ng lp trnh, c th: Cch m t thut ton vi ngn ng t nhin th ch c con ngi mi hiu, my tnh khng hiu c. my tnh c th hiu v c th thc hin c thut ton th cn th hin thut ton bng ngn ng lp trnh. Vic th hin thut ton bng mt ngn ng lp trnh my tnh c th hiu, thc hin c chnh l vit chng trnh. i t bi ton n chng trnh SGK nu ba bc: Xc nh bi ton, xy dng thut ton, vit chng trnh. y l phng n chia bc n gin, HS d hiu, d tip thu. Mc d c mt s cch chia bc khc, tuy vy trnh lm phc tp ho vn , GV khng cn gii thiu thm hay phn tch su v cc bc y. Ni dung mc 4 l quan trng v tng i kh vi HS. Cn dnh thi gian thch ng cho mc ny. Nn s dng tit bi tp b sung thm thi lng dy hc cho ni dung ny. 44

Mc tiu ca cc v d mc 4 l rn luyn k nng xc nh Input, Ouput v m t thut ton bng cch lit k cc bc cng vi vic gii thiu thut ton. Cc thut ton gii thiu mc ny l nhng thut ton c bn hc sinh cn tip thu. Trong , thut ton tm s ln nht ca dy s l thut ton c yu cu c th trong chun kin thc k nng. Hn na, cc v d trong mc ny cn cp n nhng thut ton lin quan n cc cu trc r nhnh, cu trc lp v mt s bi ton cc bi sau. . Lu rng tt c cc thut ton nu trong mc ny v trong phn cu hi v bi tp ca Bi 5 u c s dng lm v d minh ha hoc gii cc cu hi v bi tp trong cc bi sau. Do vy vic vic rn luyn k vi cc v d ny v gii mt s bi tp s s to iu kin thun li HS tip thu cc ni dung sau. gip HS hiu r v thut ton, GV c th m phng thut ton vi mt b d liu c th. V d: + M phng thut ton tnh tng N s t nhin u tin, vi N = 10 (trong SGK, N= 100).
Bc i i N SUM 1 1 ng 1 2 2 ng 3 3 3 ng 6 4 4 ng 10 5 5 ng 15 6 6 ng 21 7 7 n g 28 8 8 ng 36 9 9 ng 45 10 10 ng 55 11 Sai Kt thc

+ M phng thut ton tm s ln nht trong dy s cho trc: Dy s i i>n ai > SMAX SMAX 5 5 1 Sa i 3 2 Sai Sai 5 4 3 Sa i Sa i 5 7 4 Sai ng 7 6 5 Sai Sai 7 3 6 Sai Sai 7 15 7 Sai ng 15 9 8 Sai 11 9 Sai 10 ng

ng ng Kt thc 15 15

3. Hng dn tr li cu hi v bi tp Bi 1. p n: a) b) c) INPUT: Danh sch h ca cc hc sinh trong lp. OUTPUT: S hc sinh c h Trn. INPUT: Dy n s. OUTPUT: Tng ca cc phn t ln hn 0. INPUT: Dy n s. OUTPUT: S cc s c gi tr nh nht (c th mt hay nhiu s). 45

Bi 2. Sau ba bc, x c gi tr ban u ca y v y c gi tr ban u ca x, tc gi tr ca hai bin x v y c hon i cho nhau. Bi 3. M t thut ton: INPUT: Ba s dng a > 0, b > 0 v c > 0. OUTPUT: Thng bo "a, b v c c th l ba cnh ca mt tam gic" hoc thng bo "a, b v c khng th l ba cnh ca mt tam gic". Bc 1. Tnh a + b. Nu a + b c, chuyn ti bc 5. Bc 2. Tnh b + c. Nu b + c c, chuyn ti bc 5. Bc 3. Tnh a + c. Nu a + c b, chuyn ti bc 5. Bc 4. Thng bo "a, b v c c th l ba cnh ca mt tam gic" v kt thc thut ton. Bc 5. Thng bo "a, b v c khng th l ba cnh ca mt tam gic" v kt thc thut ton. Bi 4. C th gii bi ton ny bng cch s dng mt bin ph hoc khng dng bin ph. Thut ton 1. S dng bin ph z. INPUT: Hai bin x v y. OUTPUT: Hai bin x v y c gi tr tng dn. Bc 1. Nu x y, chuyn ti bc 5. Bc 2. z x. Bc 3. x y. Bc 4. y z. Bc 5. Kt thc thut ton. Thut ton 2. Khng s dng bin ph (xem bi tp 2 trn). INPUT: Hai bin x v y. OUTPUT: Hai bin x v y c gi tr tng dn. Bc 1. Nu x y, chuyn ti bc 5. Bc 2. x x + y. Bc 3. y x y. Bc 4. x x y. Bc 5. Kt thc thut ton. Bi 5. Trc ht, nu cn, ta hon i gi tr hai bin x v y chng c gi tr tng dn. Sau ln lt so snh z vi x v z vi y, sau thc hin cc bc hon i gi tr cn thit (xem li v d 5 trong bi 5, SGK). INPUT: Ba bin x, y v z. OUTPUT: Ba bin x, y v z c gi tr tng dn. Bc 1. Nu x y, chuyn ti bc 3. 46

Bc 2. t x, x y, y t. (t l bin trung gian. Sau bc ny x v y c gi tr tng dn.) Bc 3. Nu y z, chuyn ti bc 6. Bc 4. Nu z < x, t x, x z v z t, (vi t l bin trung gian) v chuyn n bc 6. Bc 5. t y, y z v z t. Bc 6. Kt thc thut ton. Bi 6. a) Tnh tng cc phn t ca dy s A = {a1, a2,..., an} cho trc. INPUT: n v dy n s a1, a2,..., an. OUTPUT: Tng S = a1 + a2 +... + an. Bc 1. S 0; i 0. Bc 2. i i + 1. Bc 3. Nu i n, S S + ai v quay li bc 2. Bc 4. Thng bo S v kt thc thut ton. b) Tm s nh nht trong dy n s a1, a2, ..., an cho trc. Thut ton ny tng t nh thut ton tm gi tr ln nht trong dy n s cho (xem v d 6, bi 5). iu khc bit l thm cc bc nhp s n v dy n s a1, a2, ..., an. INPUT: n v dy n s a1, a2,..., an. OUTPUT: Min = Min{ a1, a2, ..., an} Bc 1. Nhp n v dy n s a1, a2,..., an. Bc 2. Gn Min a1; i 1. Bc 3. i i + 1. Bc 4. Nu i > n, chuyn n bc 6. Bc 5. Nu ai Min, quay li bc 3. Trong trng hp ngc li, gn Min ai ri quay li bc 3. Bc 6. Ghi gi tr Min ra mn hnh v kt thc thut ton. Bi 7. a) m s cc s dng trong dy s A = {a1, a2,.., an} cho trc. INPUT: n v dy n s a1, a2,..., an. OUTPUT: Soduong = S cc s ai > 0. Bc 1. Gn Soduong 0, i 0. Bc 2. i i + 1. Bc 3. Nu i > n, chuyn n bc 5. Bc 4. Nu ai > 0, gn Soduong Soduong +1 ri quay li bc 2. Trong trng hp ngc li, cng quay li bc 2. Bc 5. Thng bo gi tr Soduong v kt thc thut ton. b) Tm v tr ca s dng u tin trong dy s A = {a1, a2,..., an} cho trc, tnh t phi sang tri. 47

INPUT: n v dy n s a1, a2,..., an. OUTPUT: Vitri = V tr ca s dng u tin trong dy s a1, a2,..., an, tnh t phi sang tri. Bc 1. Gn i n. Bc 2. Nu ai > 0, chuyn ti bc 5. Bc 3. Gn i i 1. Bc 4. Nu i < 1, chuyn ti bc 5; ngc li, quay li bc 2. Bc 5. Thng bo gi tr Vitri = i v kt thc thut ton. Bi 8. Tnh tng cc s dng trong dy s A = {a1, a2,..., an} cho trc. INPUT: n v dy n s a1, a2,..., an. OUTPUT: S = Tng cc s ai > 0 trong dy a1, a2,..., an. Bc 1. S 0; i 0. Bc 2. i i + 1. Bc 3. Nu ai > 0, S S + ai; ngc li, gi nguyn S. Bc 4. Nu i n, v quay li bc 2. Bc 5. Thng bo S v kt thc thut ton.

Bi 6. Cu lnh iu kin
1. Mc ch, yu cu Bit s cn thit ca cu trc r nhnh trong lp trnh. Bit cu trc r nhnh c s dng ch dn cho my tnh thc hin cc thao tc ph thuc vo iu kin. Hiu cu trc r nhnh c hai dng: Dng thiu v dng . Bit mi ngn ng lp trnh u c cu lnh th hin cu trc r nhnh. Hiu c php, hot ng ca cc cu lnh iu kin dng thiu v dng trong Pascal. Bc u vit c cu lnh iu kin trong Pascal.

2. Nhng im cn lu v gi dy hc Trc khi bt u bi hc mi, GV c th kim tra bi c v yu cu hc sinh nhn xt v th t thc hin cu lnh trong cc chng trnh hc. GV cn nhn mnh cho HS bit rng: cc lnh trong chng trnh c thc hin theo th t t trn xung di. Thc hin cc lnh tun t t trn xung di l th t thc hin ngm nh (v l cu trc iu khin) ca mi ngn ng lp trnh. Bt u bi hc mi, GV c th xut pht t nhng hot ng ph thuc vo iu kin trong i sng dn dt HS n s cn thit cn c cu trc r nhnh trong ngn ng lp trnh. Nhiu bi ton m my tnh gip con ngi gii quyt l nhng vn ca i sng 48

thc tin. Trong thc tin, mt cng vic c th c thc hin nu nh mt iu kin no c tho mn. V vy, mi ngn ng lp trnh u phi c cu trc iu khin cho php gii quyt cc tnh hung ny. Ngha l, trong chng trnh mt s cu lnh c th c thc hin hoc khng c thc hin ph thuc vo mt iu kin c th no . Theo mt ngha no th cu trc r nhnh cho php ph v tnh tun t trong qu trnh thc hin cc lnh ca mt chng trnh. Cng t nhng v d v hot ng ph thuc vo iu kin, GV c th khi qut ln hai cu trc r nhnh dng thiu v dng bng ngn ng t nhin nh sau: Nu... th... Nu... th.... khng th... Tng ng vi hai cu trc r nhnh dng thiu v dng , trong Pascal c hai cu lnh iu kin dng thiu v dng nh sau: Dng thiu: Dng : .
if <iu if <iu

kin> then <cu lnh>; kin> then <cu lnh 1> else <cu lnh 2>;

Sau gii thiu cho HS v s hot ng ca cu lnh iu kin dng thiu v dng

if

<iu kin> then <cu lnh>; (Xun sa lu ny nh)

dng thiu: Nu iu kin tho mn th cu lnh c thc hin, ngc li th b qua cu lnh.

49

if

<iu kin> then <cu lnh 1> else <cu lnh 2>; (Xun sa lu ny nh)

dng : Nu iu kin tho mn th cu lnh 1 c thc hin, ngc li th thc hin cu lnh 2. Trong , cu lnh, cu lnh 1, cu lnh 2 l cu lnh ca Pascal. iu kin thng l php so snh (lu , do HS THCS cha hc v biu thc quan h nn y dng cm t php so snh ni v iu kin trong cu lnh iu kin). Php so snh cho kt qu l ng tng ng iu kin c tho mn, ngc li php so snh cho kt qu sai tng ng vi iu kin khng tho mn. Trong SGK dnh mc 2 v mc 3 ni v iu kin v php so snh. Trng tm ca hai mc ny l cn cho HS bit trong lp trnh iu kin thng c th hin bng php so snh (biu thc so snh) v khi nim iu kin c tho mn (hay khng c tho mn) trong i sng tng ng vi khi nim php so snh cho kt qu l ng (hay sai) trong ngn ng lp trnh. Mc d cc php so snh, k hiu cc php so snh trong Pascal c gii thiu bi hc trc. Tuy nhin, HS cha c luyn tp, do vy GV cn lu hng dn HS luyn tp v php so snh cng vi vic tm hiu, tp vit cu lnh iu kin trong bi hc ny. n y GV c th s dng cc v d mc 5 (SGK) HS luyn tp nhm hiu r v hot ng ca cu lnh iu kin dng thiu, dng , bit ngha cu lnh, cu lnh 1, cu lnh 2 v iu kin. Cn dnh thi gian thch ng cho HS luyn tp qua cc v d minh ho (khong 1 tit hc). Cc v d y n gin, d hiu HS c th d dng nm bt c hot ng ca cu lnh iu kin, ngha ca biu thc iu kin, cu lnh. Gio vin c th ch ng chn cc v d khc, nhng trnh nhng v d qu phc tp v iu kin, nhiu php so snh. Cui bi hc GV cn khi qut ho HS bit cu trc r nhnh, hot ng ca cu trc r nhnh l ging nhau mi ngn ng lp trnh. Nhng mi ngn ng lp trnh li c nhng cu lnh ring th hin cu trc r nhnh. Lu : Hon ton c th theo cc trnh t gii thiu trong SGK tin hnh dy hc bi hc ny. Tuy nhin, tin trnh dy hc theo cch gii thiu trn l mt phng n kh thi. Phng n ny i t cu lnh c th ca Pascal, sau khi qut thnh nhng kin thc, nguyn tc chung cho mi ngn ng lp trnh. Cn c vo iu kin thc t, GV ch ng la chn cch tin hnh ph hp. Vic dch cu lnh if... then... v if... then... esle... ra ting Vit tng ng l nu... th... v nu... th... khng th.... c th l cn thit cho HS d nh ngha ca cu lnh, nht l vi HS cha c hc ting Anh.

50

3. Hng dn tr li cu hi v bi tp Bi 1. C th nu vi v d v cc hot ng hng ngy ph thuc vo iu kin. Di y l mt s v d: Nu t im tng kt c nm cao hn 8.5, em s t danh hiu "Hc sinh gii". Nu khng c cm in, my tnh bn ca em s khng hot ng c. Nu b bnh, em (cn phi) i n phng khm bc s khm bnh. Nu khng c ti nc ng thi k pht trin, la s khng cho thu hoch cao. Bi 2. p n: a) ng; b) ng; c) Sai; d) Sai; e) Sai, nu x 1. Bi 3. Gi s im_1 l s im ca ngi th nht v im_2 l s im ca ngi th hai, ngoi ra mt ngi th nht ngh trong u mt s t nhin n < 10. iu kin tr chi l ngi th hai on ng s n. Khi im_2 c cng thm 1; ngc li, im_2 c gi nguyn. Tng t, nu ngi th hai ngh s t nhin m, v iu kin th hai l ngi th nht on ng s m . Khi im_1 c cng thm 1; ngc li, im_1 c gi nguyn. iu kin tr chi l sau 10 ln, nu im_1 > im_2 th ngi th nht c tuyn b thng cuc; ngc li, ngi th hai thng. Trng hp im_1 = im_2 th khng c ngi thng v ngi thua. Bi 4. Cc iu kin iu khin chic khay trong tr chi l ngi chi nhn phm mi tn hoc phm . Nu ngi chi nhn phm , biu tng chic khay s di chuyn sang phi mt n v khong cch; nu phm c nhn, biu tng chic khay s di chuyn sang tri. Nu mt phm khc ngoi hai phm mi tn trn c nhn, chic khay vn gi nguyn v tr. Bi 5. a) Sai (tha du hai chm); b) Sai (tha du chm phy th nht); c) ng, nhng cu lnh iu kin khng c tc dng. Tuy nhin, vi mc ch gn gi tr ca bin b cho bin a khi gi tr ca x ln hn 5 th cu lnh sai (tha du chm phy sau t then); d) ng, nu php gn m:=n khng ph thuc iu kin x>5; ngc li, sai v cn a hai cu lnh a:=b; m:=n; vo gia cp t kho begin v end; e) Sai (tha du chm phy th nht); f) ng. Bi 6. a) V 45 chia ht cho 3, iu kin c tho mn nn gi tr ca X c tng ln 1, tc bng 6; b) iu kin khng c tho mn nn cu lnh khng c thc hin, tc X gi nguyn gi tr 5. Bi 7. Thut ton: Bc 1. Nhp s n. a) b) c) d)

51

Bc 2. Nu n chia ht cho 2, ghi ra mn hnh "n l s chn"; ngc li, ghi ra mn hnh "n l s l". Bc 3. Kt thc thut ton. Bi 8. Chng trnh Pascal:
uses crt; var X,Y,Z: real; begin clrscr; write('Nhap so X = '); readln(X); write('Nhap so Y = '); readln(Y); if X>Y then begin Z:=X; X:=Y; Y:=Z; writeln(X,' ',Y); readln end.

Bi 9. Thut ton: Bc 1. Nhp ba s A, B v C. Bc 2. Nu A > B, X A, A B, B X. Bc 3. Nu C < A, X A, A C, C X. Bc 4. Nu C < B, X B, B C, C X. Bc 5. Ghi gi tr cc bin theo th t A, B v C v kt thc thut ton. Chng trnh Pascal:
uses crt; var begin clrscr; write('Nhap so A: '); readln(A); write('Nhap so B: '); readln(B); write('Nhap so C: '); readln(C); if A>B then begin X:=A; A:=B; B:=X end; if C<A then begin X:=A; A:=C; C:=X end; if C<B then begin X:=B; B:=C; C:=X end; writeln(A,' ',B,' ',C); readln; end. A, B, C, X: integer;

Bi 10. Thut ton: Bc 1. Nhp ba s A, B v C.

52

Bc 2. Nu A + B C hoc B + C A hoc C + A B, thng bo A, B v C khng phi l ba cnh ca mt tam gic v chuyn ti bc 5. Bc 3. Nu A2 + B2 = C hoc B2 + C2 = A2 hoc C2 + A2 = B, thng bo A, B v C l ba cnh ca mt tam gic vung v chuyn ti bc 5. Bc 4. Nu A = B v B = C, thng bo A, B v C l ba cnh ca mt tam gic u; ngc li, nu A = B hoc B = C hoc A = C, thng bo A, B v C l ba cnh ca mt tam gic cn. Bc 5. Kt thc thut ton. Chng trnh Pascal:
program Tam_giac; uses crt; var begin clrscr; write('Nhap so A: '); readln(A); write('Nhap so B: '); readln(B); write('Nhap so C: '); readln(C); if (A+B<=C) or (B+C<=A) or (A+C<=B)then writeln('Day khong la ba canh cua mot tam giac') else if (A*A=B*B+C*C) or (B*B=A*A+C*C) or (C*C=A*A+B*B) then writeln('Day la ba canh cua tam giac vuong') else else else writeln('Day chi la ba canh cua tam giac thuong'); readln; end. if (A=B) and(B=C) and (A=C) then writeln('Day la ba canh cua tam giac deu') if (A=B) or (B=C) or (C=A)then writeln('Day la ba canh cua tam giac can') A, B, C, X: integer;

Bi thc hnh 4. S dng lnh r nhnh


1. Mc ch, yu cu Vit c c cu lnh iu kin if...then trong chng trnh; Rn luyn k nng ban u v c cc chng trnh n gin v hiu c ngha ca thut ton s dng trong chng trnh.

53

2. Nhng im cn lu v gi dy hc Bi ny l bi u tin HS thc hnh s dng lnh if... then. Do vy, cc v d cn n gin, d hiu HS d dng nhn ra ngha, hot ng ca cu lnh iu kin, biu thc iu kin, cu lnh trong cu trc r nhnh. HS c lm quen vi thut ton ny v d 4, bi 5. Do vy, ni chung HS s khng gp kh khn v thut ton ny khi tm hiu chng trnh Sap_xep bi tp 1 ca bi thc hnh ny. Hon ton c th s dng chng trnh Sap_xep t mc tiu thc hnh s dng cu lnh if... then...else. Tuy nhin, di y xin gii thiu mt phng n v c bn vn da trn cc yu cu ca bi 1 nhng c chnh sa i cht GV tham kho khi tin hnh dy hc. Gi nguyn yu cu bi ca bi 1. i vi cu a, yu cu HS m t cc bc gii quyt bi ton. Cc bc c bn gii bi ton ny l (Ni dung ny nn c dy tit l thuyt hoc tit bi tp trc gi thc hnh): Bc 1. Nhp hai s nguyn a, b t bn phm; Bc 2. Nu a b th hin th ra mn hnh gi tr bin a trc ri n gi tr bin b; Bc 3. Nu b < a th hin th ra mn hnh gi tr bin b trc ri n gi tr bin a; Bc 4. Kt thc. Trn c s phn m t thut ton, GV hng dn HS vit c chng trnh tng ng. Chng trnh c th nh sau:
program Sap_xep; uses crt; var begin clrscr; {Buoc 1: Nhap hai so nguyen a, b tu ban phim} write('Nhap so A:'); readln(A); write('Nhap so B:'); readln(B); {Buoc 2: Neu a < b thi hien thi ra man hinh gia tri bien a truoc roi den gia tri bien b} if A<=B then write(A,' ',B); {Neu b < a thi hien thi ra man hinh gia tri bien b truoc roi den gia tri bien a} if B<A then write(B,' ',A); readln; End. A, B, T: integer;

Thut ton thc hin trong chng trnh ny c th s gn vi cch ngh ca HS hn. Do vy, hi vng HS s thy gn gi v d dng hn trong vic tm hiu chng trnh ny cng nh hiu c hot ng, cch s dng lnh r nhnh trong chng trnh ny. Hn na, v mt s phm nn gii thiu cu lnh iu kin dng thiu trc v cu lnh ny n gin hn cu lnh iu kin dng . Sau khi gii thiu cu lnh dng thiu, vic gii thiu cu lnh dng s thun li hn. 54

Tuy nhin, cch tip cn ny c nhc im l s dng hay cu lnh if...then thay cho mt cu lnh. Yu cu HS chy chng trnh v th vi cc b s liu c trong cu c), bi 1 (SGK). C mt s im chnh GV cn lu khi cho HS khi tin hnh bi 2 nh sau:
-

Vi cu lnh iu kin dng if... then... else, lu khng t du chm phy sau cu lnh trc t kho else. Pascal dng du chm phy phn cch gia cc cu lnh (khng phi l kt thc cu lnh). on chng trnh:

If Long>Trang then writeln('Ban Long cao hon'); If Long<Trang then writeln('Ban Trang cao hon') else writeln('Hai ban cao bang nhau');

Thot nhn, c th theo cch suy lun ca nhiu HS th s kt hp ca hai cu lnh iu kin l m bo y cc trng hp, c bit cu lnh th nht xt n trng hp Long>Trang nn cu lnh th hai s khng cn xt n trng hp ny na m ch xt n hai trng hp cn li l Long<Trang v Long=Trang. Cch suy lun nh vy khng phi l khng c l khi xt trong trng hp con ngi x l tnh hung ny. Tuy nhin, my tnh x l rt "my mc". Khi my tnh thc hin n cu lnh th hai l
If Long<Trang then writeln('Ban Trang cao hon') else writeln('Hai ban cao bang nhau');

th my tnh "khng cn nh" thc hin cu lnh iu kin th nht ngay trc l
If Long>Trang then writeln('Ban Long cao hon');

Chnh v vy, khi thc hin n lnh th hai my tnh li xt tt c cc trng hp c th. V vy, dn n li thc hin chng trnh trong trng hp Long cao hn Tang. Di y xin phn tch r hn v on chng trnh ny, GV xem xt, tham kho ging dy cho HS. GV khng cn dnh qu nhiu thi gian gii thch qu chi tit, t m nh trnh by di y. Khi thc hin n cu lnh th hai, my tnh th kim tra iu kin Long<Trang v c cc trng hp xy ra nh sau:
-

Nu Long<Trang cho kt qu ng, tc l Trang cao hn Long th my hin thi ra mn hnh dng ch 'Ban Trang cao hon'. Trong trng hp ny th cu lnh trc l
If Long>Trang then writeln('Ban Long cao hon');

khng thc hin vic hin th ra mn hnh dng ch "Ban Long cao hon" bi v biu thc iu kin Long>Trang trong cu lnh iu kin thiu ny cho kt qu sai. Kt qu l mn hnh ch hin th mt dng ch 'Ban Trang cao hon'.
-

Nu Long<Trang cho kt qu sai, Pascal thc hin cu lnh 2 in ra mn hnh dng ch 'Hai ban cao bang nhau'. Tuy nhin, c hai trng hp dn n biu thc Long<Trang cho kt qu sai: 55

- Long v Trang cao bng nhau, khi biu thc iu kin Long>Trang cng cho kt qu sai v cu lnh iu kin th nht khng thc hin vic hin th ra mn hnh dng ch no c. Kt qu l mn hnh ch c mt dng ch 'Hai ban cao bang nhau'. - Long cao hn Trang, khi biu thc iu kin Long>Trang cu lnh iu kin th nht cho kt qu ng. V vy, cu lnh iu kin th nht thc hin hin th ra mn hnh dng ch 'Ban Long cao hon'. Nh vy, mn hnh s hin th ra hai dng thng bo khc nhau l 'Ban Long cao hon' va 'Hai ban cao bang nhau'. y chnh l mt li ca chng trnh cn c chnh sa. S thc hin hai lnh trn c m t trong hnh di y. Sai
Long>Trang?

ng
writeln('Ban Long cao hon');

Sai
Long<Trang?

writeln('Hai ban cao bang nhau')

ng
writeln('Ban Trang cao hon')

V cch dy phn ny, nn cho HS g chng trnh vo my v chy th vi cc b d liu kim tra. Cc b s liu cn ph kn cc trng hp: Trang cao hn Long, hai bn cao bng nhau v Long cao hn Trang. Yu cu HS quan st kt qu pht hin vn v tm hiu chng trnh, pht hin li. Thc ra, vic th chng trnh vi mt s b d liu mu l mt trong cc cng on ca pht trin phn mm, cn gi l bc kim th. Sau khi lp trnh xong, phn mm cn c th nghim vi mt s b d liu mu (hay cn gi l b test) m ngi ta d dng bit c kt qu kim chng vi kt qu m chng trnh a ra. Vic th chng trnh vi mt b d liu test ch chng minh c chng trnh sai m khng chng minh c chng trnh l ng. Ngha l khi th vi b d liu test nu 56

chng trnh cho kt qu sai khc vi kt qu c bit trc th kt lun l chng trnh sai, nhng nu th vi mt s b d liu test m chng trnh cho kt qu ng vi kt qu c bit trc th khng th kt lun chng trnh hon ton ng n c m ch c th ni cha pht hin ra sai st ca chng trnh m thi. Tuy nhin, ngi ta c th mt s cch khc c th chng minh tnh ng n ca chng trnh m khng ch s dng n cc b d liu test. C hai cch chnh sa chng trnh trn m bo ch a ra mt thng bo ng. Cch n gin nht l s dng ba cu lnh iu kin dng thiu nh sau:
If Long>Trang then writeln('Ban Long cao hon'); If Long=Trang then writeln('Hai ban cao bang nhau'); If Long<Trang then writeln('Ban Trang cao hon');

Cch th hai l s dng cu lnh iu kin lng nhau nh trong SGK, mc ch ca cch ny l gii thiu cho HS c th s dng cc cu lnh iu kin lng nhau:
If Long>Trang then writeln('Ban Long cao hon') else If Long<Trang then writeln('Ban Trang cao hon') else writeln('Hai ban cao bang nhau');

C th s dng s di y gii thch v hot ng ca hai cu lnh iu kin lng nhau HS hiu c l do cu lnh ny ch hin th ra mn hnh mt thng bo.

ng
Long>Trang writeln('Ban Long cao hon')

Sai ng
Long<Trang

writeln('Ban Trang cao hon'

Sai
writeln('Hai ban cao bang nhau')

Vi bi tp 3, HS cn bit iu kin ba s dng a, b, c l ba cnh ca mt tam gic th tng hai cnh phi ln ln cnh cn li, ngha l phi ng thi tho mn ba iu kin a +

57

b > c, b + c > a v c + a > b. GV hng dn HS v cch biu din ba iu kin ny trong Pascal:
(a+b>c) and (b+c>a) and (c+a>b).

im kh ca bi ny l hc sinh bit chuyn biu thc iu kin ton hc sang biu din trong Pascal. Cn gii thch HS hiu dng php quan h and l m bo c ba iu kin a + b > c, b + c > a v c + a > b ng thi tho mn; Vic phi s dng du ngoc trn trong php so snh trn l m bo th t u tin thc hin php ton v m bo tham s ca php and (v or) ch c th l gi tr ng hoc sai (khng l s). Cn cho HS c, tho lun k hiu chng trnh ny. Bi ton ny l mt trong cc bi ton yu cu trong chun kin thc, k nng. Sau khi hc bi ny, HS phi hiu v phi t vit chng trnh gii bi ton tng t (v d kim tra tnh cht ca tam gic da trn s o ca cnh: cn, u, vung). HS luyn tp thm v cu lnh iu kin, php so snh, c th yu cu HS vit chng trnh cho php nhp im bi kim tra ca mt bn no , sau thc hin:
-

Nu im nh hn 5, in ra dng ch "Ban can co gang hon"; Nu im ln hn hoc bng 5 v nh hn 6.5, in ra dng ch "Ban dat diem trung binh"; Nu im ln hn hoc bng 6.5 v nh hn 8, in ra dng ch "Ban dat diem Kha"; Nu im ln hn hoc bng 8, in ra dng ch "Hoan ho ban dat diem Gioi".

Hoc mt v d khc l yu cu HS vit chng trnh gii phng trnh bc nht ax + b = 0, vi a 0, a, b nhp t bn phm. Lu , phng trnh bc nht mt n s c gii thiu trong chng trnh mn Ton lp 8 (hc k II). Do vy, nu HS cha c hc phng trnh ny mn Ton, GV nn dnh mt vi pht HS lm quen vi khi nim ny.

Bi 7. Lp vi s ln bit trc
1. Mc ch, yu cu Bit nhu cu cn c cu trc lp trong ngn ng lp trnh. Bit ngn ng lp trnh dng cu trc lp ch dn my tnh thc hin lp i lp li cng vic no mt s ln. Hiu hot ng ca cu lnh lp vi s ln bit trc for...do trong Pascal. Vit ng c lnh for...do trong mt s tnh hung n gin. Hiu lnh ghp trong Pascal

2. Nhng im cn lu v gi dy hc Ging vi cu trc r nhnh, cn xut pht t nhng hot ng trong i sng thc tin c tnh cht lp i lp li HS hiu v khi nim lp. V d, ting g trng gy, ting chim 58

ht, ting chung ng h bo thc gi em dy mi bui sng; Cc ngy trong tun cc em u lp i lp li hot ng bui sng n trng v bui chiu tr v nh; Hoc trn lp, gi tr bi kim tra c gio lp i lp li vic gi tn HS v ghi im ca HS vo s im, c gio s ngng li khi vo im cho tt c HS trong lp. Gi s c gio ngh em vit chng trnh Pascal cho tng bn ca lp em (hoc ca nhm em), c th chng trnh cho php tng bn nhp tn ca mnh t bn phm v in ra li cho tng ng, v d khi mt bn nhp tn l Mai, th chng trnh s in ra 'Chao ban Mai', mt bn khc nhp tn l Trung th s in ra 'Chao ban Trung'. Nh vy em s cn vit mt chng trnh Pascal cho php lp i lp li vic nhp tn v hin th ra mn hnh li cho. Lm th no chng trnh Pascal ca em c th thc hin vic lp ny? Gi s lp ca em c 40 bn, em hon ton c th vit 40 ln lnh nhp tn v lnh hin th dng cho. Cc lnh ny hon ton ging nhau. Tuy nhin, mt chng trnh nh vy th va di, va nhm chn, d sai st. Trong Pascal cung cp mt cu lnh lp nh sau:
for <bin

m> := <gi tr u> to <gi tr cui> do <cu lnh>;

trong :
-

bin m l bin n c kiu nguyn; gi tr u v gi tr cui l cc biu thc c cng kiu vi bin m v gi tr cui phi ln hn gi tr u; cu lnh c th l cu lnh n gin hay cu lnh ghp.

Hot ng ca cu lnh lp ny nh sau: Ban u bin m c gn bng gi tr u, mi ln cu lnh vit sau t kho do c thc hin bin m c tng ln mt n v, cu lnh c thc hin cho n khi bin m ln hn gi tr cui. Lu : + trnh phc tp, gy kh hiu vi HS, m t hot ng ca lnh for...do trn l da trn mc nh bin m, gi tr u, gi tr cui l s nguyn. Mt cch tng qut, bin m, gi tr u, gi tr cui c th l kiu k t, kiu on con. Tuy nhin, y khng cp n nhng vn ny vi mc ch gin lc ni dung, gip HS d tip thu kin thc m vn m bo nhng kin thc, k nng cn thit theo yu cu. + Trong Pascal cu trc for...do c hai dng tin v li: Dng tin:
for <bin

m> := <gi tr u> to <gi tr cui> do <cu lnh>; m> := <gi tr cui> downto <gi tr u> do <cu lnh>;

Dng li:
for <bin

Trong SGK ch gii thiu dng tin. V c bn dng tin gn gi vi cch suy ngh t nhin ca HS THCS hn v ch cn dng tin l , khng yu cu phi gii thiu thm dng li.

59

Khi thc hin cu lnh lp for...do cc gi tr u v gi tr cui phi c xc nh trc. Chnh v th m ta bit trc c s ln thc hin cu lnh sau t kha do (s ln lp bng gi tr cui - gi tr u + 1). Chnh v vy, cu lnh for...do cn c gi l cu lnh lp vi s ln bit trc. GV nn s dng chng trnh Lap trong SGK, phn tch v d ny cho HS hiu r v hot ng ca cu lnh lp, hiu v bin m, gi tr u, gi tr cui v cu lnh.
program Lap; var i: Integer; begin for i := 1 to 10 do writeln('Day la lan lap thu ',i); end.

C th hng dn hc sinh lp bng qu trnh thc hin chng trnh trn nh di y: Ln lp th 1 2 3 4 5 6 7 8 9 10 i 1 2 3 4 5 6 7 8 9 10 Kt qu vit ra mn hnh
Day la lan lap thu 1 Day la lan lap thu 2 Day la lan lap thu 3 Day la lan lap thu 4 Day la lan lap thu 5 Day la lan lap thu 6 Day la lan lap thu 7 Day la lan lap thu 8 Day la lan lap thu 9 Day la lan lap thu 10

Sau khi cng vi HS phn tch chng trnh Lap, GV c th cng HS s dng cu lnh for...do vit on cu lnh nhp tn v hin th ra mn hnh dng cho hi. Gi s lp c 40 bn th on cu lnh c th nh sau:
For i:= 1 to 40 do Begin write('Nhap ten cua ban'); Readln(Ten); write('Chao ban ', Ten); end;

Lu : Cn dnh thi gii thiu v cu lnh ghp. Khc vi chng trnh Lap, sau t kho do ch c mt cu lnh cn thc hin, chng trnh Chao_hoi, sau t kho do c hai cu lnh cn thc hin. Mun vy, hai cu lnh ny cn phi c "gi" trong t kho begin...end. Mt cch n gin c th hiu cu trc begin...end l mt cu lnh ca Pascal, 60

cu lnh ny c th cha nhiu cu lnh khc ca Pascal. Lu HS trong cu trc cu lnh ghp ny sau end l du chm phy (;), khng phi l du chm (.). Cn ly thm mt s v d khc HS bit v tp lm quen vi cc tnh hung s dng cu lnh for...do v lnh ghp. C th yu cu HS c hiu v d c trong SGK (nh chng trnh Tinh_tong, Tinh_giai_thua) hoc a ra bi ton n gin cn s dng n cu lnh for...do v hng dn HS vit chng trnh. GV cn khi qut cho HS cu trc lp vi s ln bit trc c mi ngn ng lp trnh, mi ngn ng lp trnh c cu lnh ring m t cu trc ny. Trn y cc em c tm hiu v cu lnh lp vi s ln bit trc trong Pascal (for...do). Cui bi ny, giao nhim v cho HS hon thin chng trnh thc hin cho hi cc bn trong lp (hoc trong nhm) chun b cho bui thc hnh ti. Cn c vo tnh hnh tip thu ca HS, GV cn la chn v giao mt s bi tp cho HS luyn tp, khng nht thit phi lm ht tt c cc bi tp cui bi ny. 3. Hng dn tr li cu hi v bi tp Bi 1. C th nu rt nhiu vi v d v cc hot ng lp. Di y l mt s v d: a) b) Hng ngy em t ng h bo thc lc 6 gi dy sm tp th dc. Hng ngy (hoc hng tun) bc li xe khch li xe chuyn ch hnh khch xut pht t mt a im v thi gian nht nh v i theo mt tuyn ng c xc nh trc. Mi ln c khi ng, my tnh ca em s thc hin cng cc hot ng t kim tra cc thnh phn my tnh, sau khi ng h iu hnh theo mt trnh t c quy nh trc.

c)

Bi 2. a) C th thy, v c hnh ...a, thao tc chnh cn thc hin l v na ng trn c bn knh 1 n v t mt im A ti im B theo mt trong bn hng: ln trn, xung di, sang tri, sang phi (chng hn, hnh...b l na ng trn c v t im A ti im B theo hng ln trn).

a) Hnh 1

b)

C th m t cc bc ca thut ton v hnh ... a) nh sau: Bc 1. Xc nh im bt u v l X. 61

. Bc 2. V na ng trn theo hng ln trn. Bc 3. V na ng trn theo hng sang tri. Bc 4. V na ng trn theo hng xung di. Bc 5. V na ng trn theo hng sang phi. Bc 6. T mu v kt thc thut ton. Lu i vi gio vin. C th trnh by thut ton v hnh trn di dng mt cch hnh thc nh sau. Ta gi thao tc v na ng trn theo hng x l v na ng trn c bn knh 1 n v bt u t mt im xc nh, ng knh ni im u v im cui ca na ng trn vung gc vi hng x v na ng trn "cong v hng x". Ta ch xt x l mt trong bn hng: ln trn, xung di, sang tri, sang phi. Vi cc hng, ta nh ngha php ton sau: ln trn + 1 = sang tri, sang tri +1 = xung di, xung di +1 = sang phi, sang phi +1 = ln trn. Khi c th m t cc bc ca thut ton v hnh 1a nh sau: C th m t cc bc ca thut ton v hnh ... a) nh sau: Bc 1. Xc nh im bt u v l X. Bc 2. t i = 0 v t hng = ln trn. Bc 3. V na ng trn theo hng t. Bc 4. i = i + 1. Bc 5. Nu i > 4, chuyn bc 6; ngc li, t hng = hng + 1 v quay li bc 3. Bc 6. T mu v kt thc thut ton. b) Thut ton tng t nh trn. Thao tc chnh cn lp li l v hnh vung. Ti mi bc, gi nguyn tm hnh vung v thay i hng v mt gc 30o. Lu i vi gio vin. Bi ny khng yu cu hc sinh m t mt cch chnh xc cc bc ca thut ton. iu quan trng l hc sinh nhn bit c: mun v c cc hnh cho ch cn lp thao tc v na ng trn bn ln hoc lp thao tc v hnh vung ba ln. Bi 3. Cu lnh lp c tc dng ch dn cho my tnh thc hin lp li mt cu lnh hay nhm cu lnh vi mt s ln nht nh. Cu lnh lp lm n gin v gim nh cng sc ca ngi vit chng trnh. Bi 4. Chng ta ni rng khi thc hin cc hot ng lp, chng trnh kim tra mt iu kin. Vi lnh lp
for <bin

m> := <gi tr u> to <gi tr cui> do <cu lnh>;

ca Pascal, iu kin cn phi kim tra chnh l gi tr ca bin m ln hn gi tr cui. Nu iu kin khng c tho mn, cu lnh c tip tc thc hin; ngc li, chuyn sang cu lnh tip theo trong chng trnh. 62

Bi 5. Tuy c vng lp 1000 ln, nhng chng trnh Pascal nu trong cu hi khng thc hin bt k mt hot ng no. Tuy nhin y vn l cu lnh hp l. Bi 6. Thut ton tnh tng A = Bc 1. Gn A 0, i 1. Bc 2. A 1 . i (i + 2)
1 1 1 1 + + +....... 1.3 2.4 3.5 n(n +1)

Bc 3. i i + 1. Bc 4. Nu i n, quay li bc 2. Bc 5. Ghi kt qu A v kt thc thut ton. Bi 7. Tr d), tt c cc cu lnh u khng hp l: a) Gi tr u ca bin m phi nh hn gi tr cui ca bin m; b) Cc gi tr u v gi tr cui ca bin m phi l s nguyn; c) Thiu du hai chm khi gn gi tr u; d) Tha du chm phy th nht, nu nh ta mun lp li cu lnh writeln('A') mi ln, ngc li cu lnh l hp l; e) Bin x c khai bo nh l bin c d liu kiu s thc v v th khng th dng xc nh gi tr u v gi tr cui trong cu lnh lp. Bi 8. Thut ton: Bc 1. Nhp cc s n v x. Bc 2. A 1, i 0 (A l bin lu lu tha bc n ca x). Bc 3. ii + 1, A A.x. Bc 4. Nu i < n, quay li bc 3. Bc 5. Thng bo kt qu A l lu tha bc n ca x v kt thc thut ton. Chng trnh Pascal c th nh sau:
var n,i,x: integer; a: longint; begin write('Nhap x='); readln(x); write('Nhap n='); readln(n); A:=1; for i:=1 to n do A:=A*X; writeln(x,' mu ',n,' bang ',A); end.

Bi 9. Thut ton: Bc 1. Nhp s n. Bc 2. A 32768 (gn s nh nht c th trong cc s kiu nguyn cho A), i 1. 63

Bc 3. Nhp s th i v gn gi tr vo bin A. Bc 4. Nu Max < A, Max A. Bc 5. i i + 1. Bc 6. Nu i n, quay li bc 3. Bc 7. Thng bo kt qu Max l s ln nht v kt thc thut ton. Chng trnh Pascal c th nh sau:
uses crt; var n,i,Max,A: integer; begin clrscr; write('Nhap N='); readln(n); Max:=-32768; for i:=1 to n do begin write('Nhap so thu ',i,':'); readln(A); if Max<A then Max:=A end; writeln('So lon nhat: ',Max); end.

Lu . Trong chng trnh trn chng ta ch s dng hai bin A v Max gii bi ton. Mt cch t nhin, nhp n s chng ta cn ti n bin. Tuy nhin, y vic x l cc gi tr trong dy s c th thc hin bng cch ch cn so snh cc gi tr c nhp vo, do chng ta ch cn mt bin lu ln lt cc gi tr nhp vo l . Mt cch gii quyt khc l s dng bin mng (xem bi tp 6, bi 9). Bi 10. Li gii bi ny tng t nh li gii ca bi 9 trn (xem thut ton trong li gii bi tp 5a, bi 5). Chng trnh Pascal c th nh sau:
uses crt; var n,i,SoDuong,A: integer; begin clrscr; write('Nhap N='); readln(n); if n>0 then begin SoDuong:=0; for i:=1 to n do begin write('Nhap so thu ',i,':'); readln(A); if A>0 then SoDuong:=SoDuong+1 end; writeln('So cac so duong = ',SoDuong) end else writeln('n phai > 0!');

64

end.

Bi thc hnh 5. S dng lnh lp For...do


1. Mc ch, yu cu Vit c chng trnh c s dng vng lp for...do; S dng c cu lnh ghp; Rn luyn k nng c hiu chng trnh c s dng vng lp for...do.

2. Nhng im cn lu v gi dy hc Trc khi tin hnh cc bi ca bi thc hnh 5, to hng th cho HS, GV c th dnh thi gian HS g v chy mt hoc hai chng trnh cc em vit trong gi hc l thuyt. Nh ni, vic thc hnh v c quan st trc quan kt qu chy chng trnh hc tit l thuyt l cn thit, hu ch HS n li l thuyt, gn kt l thuyt-thc hnh v to nim tin trong hc tp. Chng trnh thc hin cho hi cc bn trong lp (hoc trong nhm) c th nh sau:
Program Chao_hoi; uses crt; var Ten: string; Begin For i:= 1 to 3 do Begin write('Nhap ten cua ban'); Readln(Ten); write('Chao ban ', Ten); end; readln; End.

Lu : trnh mt thi gian th chng trnh, yu cu HS cho gi tr cui nh. Nu HS l gi tr cui qu ln, chng trnh lp li nhiu ln gy mt thi gian, GV c th nhn t hp phm Ctrl+Break ngt chng trnh. Yu cu HS thay i gi tr cui v nhn xt v s ln nhp tn v hin th li cho hi. HS cn gii thch c s thay i ny hiu v hot ng ca cu lnh for...do. S ln lp bng Gi tr cui - Gi tr u + 1. Sau v d ny, HS v c bn hiu r, gii thch c hot ng ca cu lnh for...do, hiu v s dng c cu lnh ghp. Vi bi 1 ca bi thc hnh ny, HS cn tp trung tm hiu cu lnh:
for i:=1 to 10 do writeln(N,' x ',i:2,' = ',N*i:3);

c bit HS cn phi nhn thy c s thay i ca bin m i v cc tham s ca cu lnh write vit ra bng cu chng. Cc tham s :2, :3 ch c ngha trong vic quy nh quy cch trnh by bng cu chng trn mn hnh, lu hc sinh khng cn quan tm n 65

quy cch trnh by, ch cn quan tm n s thay i ca bin m i, thng tin c lnh writeln() vit ra mn hnh. C th cho HS tho lun theo nhm hon thnh mt bng tin trnh thc hin ca cu lnh trn nh sau: Gi s vi N=3 B c 1 2 3 4 5 6 7 8 9 10 11 i 1 2 3 4 5 6 7 8 9 10 11 i 10 ? ng ng ng ng ng ng ng ng ng ng Sai writeln(N,'.',i,' = ',N*i) 3.1 = 3 3.2 = 6 3.3 = 9 3.4 = 12 3.5 = 15 3.6 = 18 3.7 = 21 3.8 = 24 3.9 = 27 3.10 = 30 Khng thc hin lnh writeln(). Kt thc vng lp

Bi 2, cung cp cho HS mt cu lnh mi l th tc a con tr ti mt v tr mong mun trn mn hnh (mn hnh son tho vn bn) GotoXY(). Gii thiu cng vi th tc GotoXY l cc hm ly v tr ct WhereX, v tr dng WhereY hin thi ca con tr. Vic gii thiu th tc ny nhm cung cp cho HS mt cng c trnh by mn hnh. Hn th na, vic gii thiu hm, th tc y cn nhm mc ch hng dn HS tm hiu v th vin chng trnh, s dng, khai thc hm, th tc c sn trong Pascal. Tuy nhin, y khng phi l yu cu bt buc trong Chun kin thc, k nng cho nn GV c th cho thc hnh bi ny trn lp hoc giao cho hc sinh t nghin cu. Khng cn i su vo vic s dng cc th tc ny trnh by mn hnh. Bi 3, gii thiu v vic s dng hai vng for...do lng nhau. GV c th s dng bi 3 ny hoc ly mt v d khc gii thiu v vng for...do lng nhau. C mt v d vui, hay c s dng minh ho cho vic s dng vng lp for...do lng nhau l bi ton c: Va g va ch B li cho trn Ba mi su con Mt trm chn chn.

66

Bi ton dn gian ny c th s lm HS hng th hn. Lu , HS lp 8 cha c hc gii phng trnh bc nht hai n s. Chng trnh gii bi ton ny c th nh sau:
Var ga, cho : byte; Begin for ga:=1 to 35 do for cho:=1 to 35 do if (ga*2 + cho*4 = 100) and (ga + cho = 36) then writeln('So ga la: ', ga, '; So cho la: ', cho); Readln; End.

GV c th gii thiu chng trnh trc ri yu cu HS tm hiu, gii thch ti sao chng trnh ny cho php gii bi ton t ra. Thut ton ny rt n gin, tng c bn l xt tt c cc trng hp v kim tra xem trng hp no tho mn: ga + cho= 36 v ga*2 + cho*4 = 100 th l mt p s ca bi ton. Qua bi ton ny cng c th nu cho HS thy u im ni bt ca my tnh trong vic tnh ton nh tc x l rt cao. Vi cch gii nh trn my tnh tm ra kt qu trong nhy mt, nhng nu con ngi thc hin th s lu hn rt nhiu. Nhng nhc im ca my tnh li l ch bit lm vic theo s iu khin ca con ngi m khng h c t duy sng to. Trong qu trnh tnh ton tm ra kt qu, con ngi cn c kh nng phn on, d on xu hng c th b qua mt s cng on tnh ton nhm i n kt qu nhanh hn. Do , con ngi cn la chn, xy dng thut ton sao cho c th nng cao hiu qu lm vic ca my tnh. GV c th yu cu hc sinh ci tin c chng trnh hiu qu hn. var ga, cho:byte; Begin For cho:= 1 to 24 do Begin ga:= 36 - cho; if (2*ga + 4*cho = 100) then writeln('Ga: ', ga, ', Cho: ',cho); end; readln; End. GV c th phn tch, hng dn HS nhn thy s lng cc php tnh chng trnh sau t hn vi chng trnh ban u. iu cng c ngha l thut ton chng trnh sau hiu qu hn. Vic xy dng, la chn thut ton hiu qu c vai tr quan trng 67

trong lp trnh, nht l vi nhng bi ton c khi tng tnh ton ln. Lun cn c thc xy dng, la chn thut ton hiu qu nht khi gii bi ton trn my tnh. Vic phn tch v s lng php ton c th gy qu ti i vi HS. Do vy, GV cn c vo mc tip thu ca HS c th tin hnh gii thiu hoc khng gii thiu ni dung v s lng php ton, so snh tnh hiu qu gia cc thut ton.

Bi 8. Lp vi s ln cha bit trc


1. Mc ch, yu cu Bit nhu cu cn c cu trc lp vi s ln cha bit trc trong ngn ng lp trnh; Bit ngn ng lp trnh dng cu trc lp vi s ln cha bit trc ch dn my tnh thc hin lp i lp li cng vic n khi mt iu kin no c tho mn; Hiu hot ng ca cu lnh lp vi s ln cha bit trc while...do trong Pascal.

2. Nhng im cn lu v gi dy hc Ging vi bi 7, phn u ca bi ny GV cn nu mt s v d v hot ng lp vi s ln cha bit trc. V d 1 trong SGK l mt hot ng trong i sng. V d 2 trong SGK l mt bi ton khoa hc. Trong v d 2, sau khi gii thiu thut ton, SGK khi qut, a ra s hot ng ca cu trc lp vi s ln cha bit trc. Sau , SGK gii thiu cu lnh while...do ca Pascal nh mt v d minh ho. HS c lm quen vi cc v d s dng lnh while...do qua cc v d. Di y gi mt cch tin hnh khc GV tham kho. Cch tip cn ny c thc hin theo phng n i t cu lnh lp c th while...do trong Pascal, sau khi qut thnh kin thc chung cc ngn ng lp trnh. Sau khi gii thiu v d 1 trong SGK, nu gii thiu v d vit chng trnh cho hi bi trc, GV c th t tnh hung cha bit trc s bn trong nhm th phi vit chng trnh nh th no? im thun li khi s dng v d ny l HS hiu yu cu ca bi ton ny t cc tit hc trc. Do vy, khng phi mt nhiu thi gian vo tm hiu ngha ca bi ton. iu to iu kin thun li cho vic lm ni bt vn , tnh hung mi cn gii quyt. Hn na, s dng nhng bi ton gn lin vi thc t l mt cch tt HS nhn thc r khi nim bi ton trong Tin hc khng ch l nhng bi ton trong lnh vc ton hc. Ni chung HS cha a ra c phng n gii quyt cho vn ny. GV nn ch ng a ra mt chng trnh Pascal nh sau:
Program Chao_hoi; uses crt; var Tieptuc: char; Ten: string; Begin Tieptuc:='c'; while tieptuc = 'c' do

68

Begin write('Nhap ten cua ban'); Readln(Ten); writeln('Chao ban ', Ten); write('Tiep tuc ? c/k'); readln(Tieptuc); end; readln; End.

Da trn chng trnh ny, GV gii thiu v c php, s hot ng ca cu lnh while...do. Trong Pascal, c php cu lnh lp vi s ln cha xc nh trc c dng:
while <iu

kin> do <cu lnh>;

trong :
-

iu kin thng l mt php so snh; cu lnh c th l cu lnh n gin hay cu lnh ghp.

Cu lnh lp ny c thc hin nh sau: 1. Kim tra iu kin. 2. Nu iu kin SAI, cu lnh s b b qua v chuyn sang cu lnh tip theo trong chng trnh. Nu iu kin NG, thc hin cu lnh v quay li bc 1.

S hot ng ca cu lnh cu lnh lp vi s ln cha bit trc (Xun sa lu ny nh) Vic dch ngha hay din gii ngha ca t ting Anh trong cu lnh while...do c th l cn thit i vi HS cha c hc ting Anh v HS d nh (Trong khi ... th). n y, GV c th khi qut cho HS bit rng cc ngn ng lp trnh u cung cp cu lnh lp vi s ln cha bit trc, hot ng ca cu lnh lp vi s ln cha bit trc cc ngn ng lp trnh l ging nhau. im khc nhau gia cc ngn ng lp trnh l c php cu lnh th hin cu trc ny m thi. Phn cui bi GV s dng cc v d trong SGK hoc ly v d khc HS hiu c hot ng, vit ng c php v bit mt s trng hp s dng hiu qu cu lnh while...do. Lu : + i vi vng lp while...do, trong cc cu lnh ca vng lp ny cn c cu lnh lm thay i biu thc iu kin, c ngha l phi c cu lnh n lc no iu kin khng 69

c tho mn, khi vng lp kt thc. Do vy cu lnh sau t kha do ca cu lnh lp while...do thng phi l cu lnh ghp. Trong v d trn y, iu kin khng c tho mn v vng lp kt thc khi iu kin tieptuc = 'c' cho kt qu sai, tc l tieptuc <> 'c'. Cu lnh readln(Tieptuc) gn gi tr cho bin Tieptuc t bn phm, gi tr ca biu thc iu kin thay i ph thuc vo cu tr li ca ngi s dng. Khi ngi s dng nhn "c" th vng lp tip tc, ngc li, khi ngi s dng nhn bt k ch ci (hoc ch s) no khc th vng lp kt thc. + Trong chng trnh trn, c cu lnh Tieptuc:='c' ngay sau t kho Begin. GV t cu hi HS tm hiu ti sao phi c cu lnh ny. Khi gii thch c nguyn nhn phi c cu lnh ny, HS s hiu r thm v bin, iu kin thc hin vng lp while...do. Vic cn c cu lnh Tieptuc:='c' c th c gii thch nh sau: gp lnh khai bo bin Tieptuc: char Pascal s dnh mt nh v t tn nh ny l Tieptuc. Ban u nh ny cha c gn gi tr nn c th cha mt gi tr ngu nhin no (c mt s ngn ng lp trnh khi khai bo bin th gn lun cho bin mt gi tr mc nh no do ngn ng lp trnh quy nh). Nu gi tr ngu nhin ny m khc 'c' th iu kin tieptuc = 'c' khng c tho mn ngay t u v vng lp while...do s khng c thc hin mt ln no c. Nh vy, i vi cu lnh lp while...do c th xy ra tnh hung vng lp khng c thc hin mt ln no c. Trong trng hp iu kin lun c tho mn, ngha l ngi s dng lun lun g phm c, khi chng trnh ny s tip tc lp i lp li. GV c th s dng chng trnh di y (c trong trong SGK) gii thch v vic lp v hn c th xy ra do li ca ngi lp trnh:
var a:integer; begin a:=5; while a<6 do writeln('A'); end.

+ Cc cu lnh ca vng lp c th khng c thc hin mt ln no c l mt c im kh quan trng ca cu lnh while...do. Trong Pascal, m t cu trc lp vi s ln cha bit trc, cn c mt cu lnh khc l Repeat...until. Vi cu lnh Repeat...until c c im l cc cu lnh trong vng lp lun c thc hin t nht mt ln. SGK ch gii thiu cho cu lnh while...do. Ngi ta chng minh c rng ch cn cu lnh while...do l , c ngha l mi tnh hung lp s dng cu lnh Repeat...until, u c th s dng while...do thay th. GV khng gii thiu cu lnh Repeat...until, khng so snh cu lnh Repeat...until vi while...do trnh qu ti vi HS. + Trong v d trn y c s dng kiu d liu char m hc sinh cha bit. Do mc ch ca v d ny l gii thiu cu lnh while...do, nn GV c th chnh sa chng trnh s dng vi mt kiu d liu khc m cc em bit (v d nh integer) hoc s dng chng trnh ny nhng khng gii thch v kiu char. Tuy nhin, nu hc sinh tip thu tt, GV nn gii thiu thm cho HS v kiu d liu char trc khi kt thc bi ny.

70

3. Hng dn tr li cu hi v bi tp Bi 1. C th nu rt nhiu vi v d v cc hot ng lp vi s ln lp cha bit trc. Di y l mt s v d: a) b) Tm mt t nht nh b g sai chnh t trong vn bn v sa li cho ng. S t cn phi sa cha c bit trc. Khi chun b t ph phc v cho khch, c bn hng thng thc hin cc cng vic sau y: Cho mt lng bnh ph vo ni nc ph lm nng bnh ph, cho bnh ph lm nng vo bt, lm chn mt t tht v cho vo bt bnh ph c lm nng, cho thm gia v, thm nc ph ang c un si vo bt ph,... Cc thao tc c thc hin lp li mi khi c khch n ph. Trong sut ca bn hng s ln thc hin cc thao tc lp l khng th bit trc. Trong xng may, mi c cng nhn may cng mt chi tit ca chic o, hay chic qun vi cc ng may c thit k trc. May xong mt sn phm, c cng nhn s may sn phm tip theo cho n khi ht gi lm vic.

c)

Bi 2. S khc bit gia cu lnh lp vi s ln lp cho trc v cu lnh lp vi s ln lp cha bit trc l cc im sau y: a) Nh tn gi ca n, cu lnh lp vi s ln lp cho trc ch th cho my tnh thc hin mt lnh hoc mt nhm lnh vi s ln c xc nh t trc, cn vi cu lnh lp vi s ln lp cha bit trc th s ln lp cha c xc nh trc. iu kin s c thay i trong mi ln lp v da vo iu kin ny chng trnh s quyt nh thc hin tip cu lnh lp hay khng. Trong cu lnh lp vi s ln cho trc, iu kin l gi tr ca mt bin m c gi tr nguyn t c gi tr cui hay cha, cn trong cu lnh lp vi s ln lp cha bit trc, iu kin tng qut hn nhiu, c th l kim tra mt gi tr ca mt s thc, cng c th l mt iu kin tng qut khc, v d nh mt s c chia ht cho 3 hay khng,... Trong cu lnh lp vi s ln cho trc, cu lnh c thc hin t nht mt ln, sau kim tra iu kin. Trong cu lnh lp vi s ln cha xc nh trc, trc ht iu kin c kim tra. Nu iu kin c tho mn, cu lnh mi c thc hin. Do c th c trng hp cu lnh hon ton khng c thc hin.

b)

c)

Bi 3. M t thut ton: Bc 1. t i = R (i l bn knh ng trn s v). Bc 2. Nu i > 1.2, v ng trn bn knh i; ngc li, chuyn n bc 4. Bc 3. i i 1/2 v quay li bc 2. Bc 4. Kt thc thut ton. Bi 4. a) Thut ton 1: 10 vng lp c thc hin. Khi kt thc thut ton S = 5.0. on chng trnh Pascal tng ng:
S:=10; x:=0.5;

71

while S>5.2 do S:=S-x; writeln(S);

b) Thut ton 2: Khng vng lp no c thc hin v ngay t u iu kin c tha mn nn chuyn ti bc kt thc thut ton; cc bc 2 v 3 b b qua. S = 10 khi kt thc thut ton. on chng trnh Pascal tng ng:
S:=10; n:=0; while S<10 do begin n:=n+3; S:=S-n end; writeln(S);

Nhn xt: Trong cc thut ton v chng trnh trn, iu kin c kim tra trc khi cc bc lp c thc hin. Do nu iu kin khng c tha mn ngay t u, cc bc lp s b b qua. iu ny c bit ng i vi cu lnh lp while..do. Bi 5. a) Chng trnh thc hin 5 vng lp. b) Vng lp trong chng trnh c thc hin v tn v sau cu lnh n:=n+1; cu lnh lp kt thc nn iu kin S=0 lun lun c tha mn. Nhn xt: Trong cu lnh thc hin, iu kin cn phi c thay i sm hay mun chuyn sang trng thi khng tha mn. Khi vng lp mi c kt thc sau hu hn bc. lm c iu ny, cu lnh trong cu lnh lp while..do thng l cu lnh ghp. Bi 6. a) Tha du hai chm trong iu kin; b) Thiu du hai chm trong cu lnh gn; c) Thiu cc t kha begin v end trc v sau cc lnh n:=n+1; S:=S+n, do vng lp tr thnh v tn. Bi 7. Vit thut ton v chng trnh Pascal c cu lnh lp vi s ln khng xc nh tnh lu tha bc n ca x (tc xn), vi n l s t nhin v x l s thc c nhp vo t bn phm. Hy so snh vi thut ton trong bi tp 8, bi 7. Thut ton: Bc 1. c cc gi tr x v n. Bc 2. A 1, k 1. Bc 3. Nu k > n, chuyn xung bc 5. Bc 4. A = A.x, k k + 1 v quay li bc 3. Bc 5. Thng bo kt qu l A v kt thc thut ton. Chng trnh Pascal:
var n,k: integer; A, LT: real; begin write(Nhap so A= ); readln(A); write(Nhap so n= ); readln(n); LT:=1; k:=1;

72

while k<=n do begin LT:=LT*A, k:=k+1 end end.

Bi 8. Tnh tch ca N s t nhin u tin vi s ln lp khng xc nh (vi N l s t nhin c nhp vo t bn phm). Bc 1. c gi tr N. Bc 2. T 1, k 1. Bc 3. Nu k N, T = T.k; ngc li, chuyn xung bc 5. Bc 4. k k + 1 v quay li bc 3. Bc 5. Kt thc thut ton. Bi 9. Thut ton: Bc 1. c gi tr n. Bc 2. S 0, i 2. Bc 3. Nu i > n 1, chuyn xung bc 5. Bc 4. Nu n chia ht cho i, S S + i, i i + 1 v quay li bc 3. Bc 5. Ghi gi tr S v kt thc thut ton. Chng trnh c th nh sau:
var n,i,S: integer; begin write('Cho so tu nhien n= '); readln(n); i:=2; S:=0; while i<=n-1 do begin if (n mod i)=0 then S:=S+i; i:=i+1; end; write('Tong cac uoc so thuc su cua ',n,' la: ',S); readln; end.

Bi 10. Chng trnh c th nh sau:


Uses CRT; Var A, sum: real; i: integer; Begin Write('cho so A: '); readln(A); i:=1; sum:= 0; While (sum<=A) do Begin sum:= sum+1/i;

73

i:= i+1; end; Write('Gia tri N bang ', i:6); Readln; End.

Bi thc hnh 6. S dng lnh lp while...do


1. Mc ch, yu cu Hiu cu lnh lp while...do trong chng trnh TP c sn Bit la chn cu lnh lp while...do hoc for...do ph hp vi tnh hung c th. Rn luyn k nng v khai bo, s dng bin Rn luyn kh nng c chng trnh Bit vai tr ca vic kt hp cc cu trc iu khin.

2. Nhng im cn lu v gi dy hc Trc ht cn lu rng Chun kin thc, k nng khng yu cu HS phi vit c chng trnh c s dng cu lnh lp vi s ln cha bit trc. Do vy, trong bi thc hnh ny khng yu cu HS phi vit chng trnh c cu lnh while...do gii bi ton. GV c th cho HS c, hiu chng trnh v c bit cn hiu c hot ng ca lnh while...do trong chng trnh. Trc khi cho HS thc hnh bi 1 trong SGK, c th cho HS g chng trnh Chao_hoi m cc em c hc bi l thuyt. Vic th nghim chng trnh vit khi hc l thuyt gip HS d hiu hn, c bit l tnh thuyt phc s cao hn v hn na th hin c vic gn kt gia l thuyt vi thc hnh. Vi bi 1, trc ht cn xc nh Input v Ouput ca bi ton: Input: Dy s thc x1, x2...xn Output: Gi tr trung bnh (x1 + x2+..+xn)/n Thut ton Bc 1. - Nhp N l s lng s thc s c nhp t bn phm: - Gn bin m bng 0 Dem 0; - Gn tng Sum 0. Bc 2. Trong khi Dem < N th 2.1 Nhp gi tr s thc x t bn phm; 2.2 Cng thm x vo tng Sum: Sum Sum + x; 2.3 Tng bin dem thm 1 n v: Dem Dem + 1; Bc 3. Tnh trung bnh dy s va nhp TB Sum/N. 74

Bc 4. a TB ra mn hnh, ri kt thc. C nhiu cch m t thut ton ny, tuy nhin cch m t trn y c s dng vi mc ch HS thun li hn khi c, hiu, i chiu gia thut ton vi chng trnh Tinh_Trung_binh cu b. Cn c vo m t thut ton, HS tm hiu xc nh cc bin v kiu tng ng cn khai bo trong chng trnh. Cu c) yu cu HS th dch, chnh sa, chy v kim th chng trnh. Nhng k nng ny HS c rn luyn nhng bi thc hnh trc cho nn HS c th hon ton thc hin c. GV c th a ra hoc hng dn HS to ra nhng b d liu test. GV cn yu cu HS c, tho lun i chiu gia thut ton v cc cu lnh m t thut ton trong chng trnh. Cn lm cho HS hiu r v hot ng ca vng lp while...do trong chng trnh, c th cho hc sinh lm vic nhm m phng chng trnh (Vic ny nn c lm trn lp hc, tit bi tp trc khi thc hnh trn my). V d di y l mt m phng hot ng chnh ca chng trnh vi n=3 1. Trc khi bt u vng lp while...do: dem=0, TB=0, n = 3; 2. Bt u vng lp while...do DEM < N ng ng ng Sai 3. Kt thc vng lp while...do: TB = 45/3 = 15. Cu d) yu cu HS chuyn t s dng cu lnh while...do sang s dng cu lnh for...do. Qua vic lm ny HS c rn luyn thm v s dng lnh for...do. Tuy nhin, v c bn tnh hung s dng while...do v for...do l khc nhau. While...do thch hp hn vi trng hp lp vi s ln cha bit trc, for...do thch hp hn vi trng hp lp vi s ln bit trc. V d, khng th s dng lnh for...do thay th lnh while...do trong chng trnh Chao_hoi c (cha bit trc s bn trong nhm). Nh vy, cu d, bn cnh mc ch cho HS c thc trong vic la chn cu trc lp ph hp vi tnh hung, cn c mc ch tip tc rn luyn vit chng trnh vi cu lnh for...do m bo t yu cu ra trong chun kin thc, k nng. Vi bi 2, cch tin hnh ging nh vi bi 1. Trc ht cn xc nh Input v Output ca bi ton: Input: S t nhin N Output: Tr li N l s nguyn t hoc N khng l s nguyn t Thut ton 75 DEM 1 2 3 X (nhp t bn phm) 10 15 20 TB 10 25 45

HS lp 8 bit tnh cht ca s nguyn t, s nguyn t l s t nhin ch chia ht cho 1 v chnh n. kim tra N c phi s nguyn t hay khng ta s i kim tra xem N c chia ht cc s t 2 n N 1 hay khng. Nu N khng chia ht cho s no trong khong t 2 n N 1 th N l s nguyn t, ngc li N chia ht cho bt k mt s no trong khong t 2 n N 1 th N khng phi l s nguyn t. S dng php chia ly phn d mod kim tra tnh chia ht. Bc 1: Nhp s t nhin N t bn phm Bc 2: Nu N 0 thng bo N khng phi l s t nhin, ri chuyn n bc 4. Bc 3: Nu N > 0: 3.1. i2; 3.2. Trong khi N mod i <> 0, ii+1; 3.3. Nu i = N th thng bo N l s nguyn t, ri chuyn n bc 4, khng th thng bo N khng phi l s nguyn t; Bc 4: Kt thc. Sau GV cho HS c chng trnh trong SGK, i chiu vic s dng cu lnh m t thut ton trn y. Lu , trong chng trnh trn s dng c cu lnh iu kin, cu lnh lp while...do. Mc ch ca bi ny l HS thy c s cn thit phi kt hp cc cu trc iu khin gii quyt bi ton. Hn na, trong v d ny cn s dng php chia ly phn d mod. iu ny th hin s cn thit v tnh hiu qu khi la chn cng c ph hp trong lp trnh. i vi a s HS lp 8, thut ton kim tra tnh nguyn t ca mt s t nhin l khng kh. Tuy nhin, nu thy HS ca mnh c th gp kh khn khi tm hiu thut ton ny, GV c th thay th bng v d khc. V d m GV a ra c th ch cn th hin s kt hp gia cu lnh iu kin v cu lnh lp vi s ln cha bit trc, khng nht thit phi c tnh hung s dng php chia ly phn d mod. S kt hp cc cu trc iu khin (tun t, r nhnh v lp) trong ngn ng lp trnh to nn s linh hot v gp phn to nn sc mnh ca ngn ng lp trnh. Chnh s kt hp gia cc cu trc iu khin cho php ngn ng lp trnh m t c nhng thut ton phc tp, gip gii quyt c nhiu bi ton xut pht t nhu cu thc tin. Gio vin c th khng cn trnh by ngha ca vic kt hp cc cu trc iu khin vi HS. Nh trn nu chun kin thc, k nng khng yu cu HS phi vit c chng trnh c s dng cu lnh lp vi s ln bit trc. Tuy nhin, nu HS tip thu tt, GV c th yu cu HS tp vit chng trnh n gin c s dng cu while...do.

76

Bi 9. Lm vic vi dy s
1. Mc ch, yu cu Bit c khi nim mng mt chiu Bit cch khai bo mng, nhp, in, truy cp cc phn t ca mng Hiu thut ton tm s ln nht, s nh nht ca mt dy s

2. Nhng im cn lu v gi dy hc Tng t vi cu lnh iu kin, cu lnh lp, vo u bi ny cn gii thiu mt s v d nhm a n nhu cu cn c bin mng trong ngn ng lp trnh. V d 1, trong SGK dn n nhu cu bin mng, sau khi phn tch s bt tin nu ch s dng cch khai bo bin bit (khai bo bin n). Pascal cung cp mt cng c hiu qu h tr ngi lp trnh l bin mng. Mc 1 c hai ni dung quan trng l nhu cu ca bin mng trong ngn ng lp trnh v thut ton tm s ln nht ca mt dy s. Thut ton tm s ln nht ca dy s (hc sinh c tm hiu bi 5). Trong mc 1 ch gii thiu vic tm s ln nht ca dy s nh mt nhim v cn thc hin m khng cp n vic gii quyt nhim v ny nh th no. Mc tiu ca cc v d mc 1 l dn n nhu cu cn c bin mng. Trong phn 2 cn cho HS bit cch khai bo, truy cp, nhp (gn) gi tr, vit gi tr ca bin mng ra mn hnh. a) Khai bo bin mng: C hai cch khai bo bin mng Cch 1: Khai bo trc tip bin mng mt chiu:
var <tn

bin mng> : array [kiu ch s] of [kiu phn t]; kiu mng> = array [kiu ch s] of <kiu phn t>;

Cch 2: Khai bo gin tip bin mng qua kiu mng mt chiu:
type <tn var <tn

bin mng>:<tn kiu mng>;

trong :
-

kiu ch s l mt dy s nguyn lin tc n1..n2 vi n1, n2 l cc hng (hoc biu thc cho kt qu l s nguyn) xc nh ch s u tin v ch s cui cng (n1 n2). kiu phn t l kiu ca cc phn t mng.

Tuy nhin, GV ch cn gii thiu vi HS cch 1. Kiu ch s cng ch cn gii thiu tht n gin l dy s nguyn dng bt u t n1=1 (khng nht thit phi gii thiu nhng trng hp cn li). Kiu phn t c th l s nguyn, thc. GV cn s dng mt s v d luyn tp v khai bo mng mt chiu v gii thch s lng phn t, kiu phn t ca tng bin mng tng ng vi mi v d. b) Truy cp mng: 77

Sau khi cho HS luyn tp vi khai bo bin mng, c th s dng cc khai bo va thc hin gii thiu v cc truy cp vo bin mng. V d, vi khai bo
var Diem: array[1..50] of real;

khai bo ny to ra mt bin mng c 50 phn t t phn t 1 n phn t 50. Cc phn t ny c "t tn" nh th no? "gi ch danh" tng phn t c th Pascal s dng cch: Tn bin mng[ch s phn t]. V d, Diem[1] l phn t th nht; Diem[5] l phn t th 5. C th thc hin cc thao tc nh gn gi tr, so snh, vit gi tr ra mn hnh... vi Diem[1], Diem[2]...Diem[50] nh vi bin hc (bin n). c) Nhp gi tr cho bin mng: nhp gi tr cho bin mng th cn nhp gi tr cho tng phn t ca mng. Ging nh vi vic gn gi tr cho bin n, c hai cch gn gi tr cho phn t ca mng: Gn trc tip bng lnh gn: v d: Diem[1] := 8, Diem[2] := 9.5. Gn gi tr bng cch nhp t bn phm, s dng lnh read(), readln(). C th vit mt on chng trnh vi 50 lnh readln() thc hin vic nhp gi tr cho 50 phn t ca mng t bn phm:
readln(Diem[1]; readln(Diem[2]);... readln(Diem[50]);

Tuy nhin, vic kt hp vng lp for...do vi cu lnh readln() l mt cch lp trnh hiu qu, hay c s dng nhp d liu cho mng.
For i:=1 to 50 do readln(Diem[i]);

Tng t nh vy, vit gi tr ca cc phn t ca mng ra mn hnh ngi ta kt hp gia for...do vi lnh writeln() hoc write().
For i:=1 to 50 do writeln(Diem[i]);

Gi s ch mun vit ra mn hnh nhng im s ln hn hoc bng 9 chng hn, cu lnh nh sau:
For i:=1 to 50 do if Diem[i] >= 9 then writeln(Diem[i]);

Vic a ra yu cu ny c hai mc ch: th nht l HS lm quen trc vi so snh phn t ca bin mng s c s dng trong phn sau. Lm nh vy HS s khng b b ng khi gp php so snh ny trong chng trnh. Th hai, HS thy c s kt hp gia cc cu lnh m c th l cu lnh for...do v cu lnh if-then trong chng trnh. Trong cc v d trn, khi duyt cc phn t ca bin mng hon ton c th s dng cu trc while...do, tuy nhin y cu trc for...do ph hp hn v trong trng hp bit trc s ln lp. Mt khc, s dng cu trc for...do y ni chung l d hiu hn, gn vi cch ngh t nhin ca HS hn. GV cng c th nhc li v tm quan trng ca vic la chn cu trc iu khin ph hp khi lp trnh. Mc 3 l v d v mt chng trnh c th s dng bin mng v thut ton tm gi tr ln nht, nh nht ca dy s nguyn. Trc khi gii thiu chng trnh c th GV nn hng dn HS tm hiu li thut ton ny ( hc trong Bi 5). Gii thch v thut ton tm gi tr ln nht ca dy s nguyn: 78

+ u tin gn gi tr s th 1 ca dy s cho Max (Ban u tm thi coi s th nht l s ln nht -s ln nht tm thi) + So snh s ln nht tm thi ny vi s th 2, nu s th 2 ln hn s ln nht tm thi-Max th gn gi tr ca s th 2 cho Max. Nh vy n thi im ny Max l s ln nht ca s th 1 v s th 2. + C tip tc nh vy, em so snh Max vi tt c cc s cn li, gp s no ln hn Max th gn gi tr ca s cho Max. Sau khi so snh n s cui cng ca dy s th Max chnh l gi tr ln nht ca dy s. Do hc sinh c tm hiu thut ton ny bi 5, cho nn gio vin c th yu cu hc sinh trnh by li thut ton tm s ln nht ca dy s hoc thc hin li vic m phng thut ton trn mt dy s c th cc em nh li thut ton. V d v m phng thut ton ny c bi 5. Sau yu cu hc sinh tho lun chnh sa thut ton trn tm ra s nh nht ca dy s. V d, m phng thut ton tm gi tr nh nht ca dy s c th nh bng di y: Dy s i ai < SMIN SMIN 5 5 1 4 2 ng 4 4 3 Sai 4 7 4 Sai 4 6 5 Sai 4 3 6 ng 3 15 7 Sai 3 6 8 Sai 3 8 9 Sai 3

Thut ton tm gi tr ln nht, nh nht trong dy s nguyn rt n gin, khng kh hiu vi HS. Nhng HS li c th kh hiu l do cc em cha bit ti sao my tnh li phi s dng thut ton ny mi tm ra c s ln nht. Thc t, nu GV vit mt dy s nguyn ln bng (v d, 1, 4, 23, 6, 8, 9) HS c th thy ngay c 23 l gi tr ln nht m khng nhn thy s cn thit phi thc hin thut ton nu trn. Trong trng hp ny, c s khc bit gia con ngi v my tnh khi gii quyt cng vic. Con ngi c th nhn nhiu s ng thi, vi dy s ngn nh trn con ngi c th nhn c dy s cng mt lc. Con ngi c th nhn din ra s ln nht khng ch da vo gi tr m c th cn qua mt s du hiu b tr khc, v d nh: di ca s (c mt s duy nht c hai ch s) chng hn. Vi nhng du hiu b tr, kh nng quan st v t duy, con ngi nhanh chng "khoanh vng" c p n v nhanh chng tm ra p n. Tc l phng n gii ca con ngi khng tun t m c th b qua mt s bc khi cn thit. Do vy, trong trong nhiu tnh hung con ngi gii cc bi ton hiu qu hn nhiu my tnh. Tuy nhin, kh nng ny con ngi li b hn ch trong tnh hung dy s rt ln (hng ngn, hng triu, hng t s chng hn). Khi my tnh li th hin c sc mnh ca mnh bi u th v tc x l. HS hiu c my tnh lm vic nh th no, GV c th yu cu cc em thc hin nh sau: Vit 10 s nguyn, mi s vo mt mnh giy. Gp 10 mnh giy ny li v b vo mt hp A. t mt hp B rng bn cnh. Yu cu HS chuyn ln lt n ht tng mnh giy hp A sang hp B. Sau khi chuyn xong HS cho bit s s ln nht trong cc s c 79

ghi trn cc mnh giy. HS c php xem s trn mnh giy khi chuyn mnh giy t hp A sang hp B. Yu cu HS khng ghi chp ra giy. Mc ch ca vic khng cho hc sinh ghi chp l HS m phng hot ng ca my tnh: Ch cn nh s ln nht ti thi im hin ti, so snh vi s va ly ra t hp A (ang cm trn tay) v nh ly s ln hn v c tip tc nh vy n khi ht cc s trong hp, s c nh cui cng l s ln nht. thc hin cng vic ny cn hng dn HS thc hin m phng theo gii thut tm dy s ln nht ca dy s nguyn. Nht mnh giy u tin hp A, m ra nh gi tr ca mnh giy ny (coi l s ln nht tm thi), gp li v b vo hp B. Nht mnh giy th hai, m ra v so snh vi gi tr ln nht tm thi, v nh gi tr ln nht mi nu thy ln hn. Lp li cng vic ny n khi ht cc mnh giy ca hp A. GV c th thm, bt cc mnh giy HS lm li. Sau khi HS lm ngh cc em m t li cch cc em thc hin tm ra s ln nht. Cch m HS lm ging vi cch my tnh tnh thc hin theo thut ton trn. My tnh ch c th tham chiu n tng s trong dy s, my tnh khng c kh nng quan st c dy s v vy my tnh phi thc hin theo thut ton nh trn. My tnh thc hin tun t theo ng ch dn ca con ngi, my tnh khng c tr thng minh. Tt nhin, ngc li my tnh li c u im vt tri l tc x l. C th ci bin ni dung dy hc trn y thnh nhiu tr chi khc nhau. V d, yu cu cc em khng s dng giy, bt, GV ln lt vit tng s ln bng, ri xo i lun, HS quan st tm ra s ln nht (hoc nh nht). Hoc mi mt nhm HS ng ln pha trn lp. Mi mt em i qua tng bn mt, khi em ny n bn bn no th bn ny phi a ra mt s no (c th l ni thm hoc vit ra mt mnh giy). i ht lt HS phi ni c bn no a ra s ln nht (hoc nh nht). Kt qu ny c kim chng cng khai bi cc bn a ra cc s. Thut ton tm Max ca dy s nguyn nhp t bn phm nh sau: Bc 1. Nhp N v dy A1,..., An Bc 2. Max A1 Bc 3. Ln lt gn gi tr t 2 n N cho i. Vi mi gi tr ca i th thc hin: Nu Max <Ai th MaxAi Bc 4. a ra mn hnh gi tr Max ri kt thc. Sau khi gii thiu xong thut ton tm Max gio vin hng dn HS xc nh cc bin, kiu bin v vit khai bo bin; vit cu lnh thc hin cc bc nhp N, nhp cc phn t ca mng, tm Max, in Max ra mn hnh. Chng trnh c th c xy dng dn tng phn v cui cng c c mt chng trnh nh di y.
program P_Max; Var i, N, Max : integer; A: array[1..100] of integer; Begin {Nhap N} write('Hay nhap do dai cua day so, N = '); readln(N);

80

{Nhap day so} writeln('Nhap cac phan tu cua day so:'); For i:=1 to N do Begin write('a[',i,']='); readln(a[i]); End; {Tim Max} Max:=a[1]; for i:=2 to n do if Max<a[i] then Max:=a[i]; {Hien thi Max ra man hinh} write('So lon nhat la Max = ',Max); readln; End.

Yu cu HS chnh sa chng trnh trn tm gi tr nh nht ca dy s nguyn, tnh tng dy s. Sau khi hiu -r thut ton v chng trnh tm Max, Min c th yu cu HS kt hp tm Max, Min trong cng mt chng trnh nh trong SGK. 3. Hng dn tr li cu hi v bi tp Bi 1. ng. Bi 2. Li ch chnh ca vic s dng bin mng l rt gn vic vit chng trnh, c th s dng cu lnh lp thay nhiu cu lnh. Ngoi ra chng ta cn c th lu tr v x l nhiu d liu c ni dung lin quan n nhau mt cch hiu qu. Bi 3. p n a) Sai. Phi thay du phy bng hai du chm; b) v c) Sai, v gi tr nh nht v ln nht ca ch s mng phi l s nguyn; d) Sai, v gi tr u ca ch s mng phi nh hn hoc bng ch s cui; e) ng. Bi 4. Khng. Gi tr nh nht v ln nht ca ch s mng phi c xc nh ngay khi khai bo bin mng. Bi 5. Chng trnh c th nh sau:
var N, i: integer; A: array[1..100] of real; begin write('Nhap so phan tu cua mang, n= '); read(n); for i:=1 to n do begin write('Nhap gia tri ',i,'cua mang, a[',i,']= '); readln(a[i]) end; end.

Bi 6. ng. Bi 7. a) Nu khng s dng bin mng, chng trnh c th di nh sau:


uses crt; var So_1, So_2, So_3, So_4, So_5, Max: integer;

81

begin clrscr; write('Nhap so thu nhat: '); readln(So_1); write('Nhap so thu hai: '); readln(So_2); write('Nhap so thu ba: '); readln(So_3); write('Nhap so thu tu: '); readln(So_4); write('Nhap so thu nam: '); readln(So_5); Max:=So_1; If Max<So_2 then Max:=So_2; If Max<So_3 then Max:=So_3; If Max<So_4 then Max:=So_4; If Max<So_5 then Max:=So_5; writeln('So lon nhat: ',Max); end.

b) Nu s dng bin mng, chng trnh ch ngn gn nh sau:


uses crt; var i, Max: integer; A: array[1..5] of integer; begin clrscr; for i:=1 to 5 do begin write('Nhap so thu ',i,':'); readln(A[i]) end; Max:=a[1]; for i:=2 to 5 do If Max<a[i] then Max:=a[i]; writeln('So lon nhat: ',Max); end.

Lu . Xem cch vit chng trnh ngn gn hn v khng s dng bin mng trong bi tp 9, bi 7. Tuy nhin, cch vit s khng cho kt qu mong mun nu sau khi nhp gi tr ca cc bin cn cn thc hin cc thao tc d liu khc vi cc gi tr . Bi 8. Vit chng trnh s dng bin mng tnh gi tr trung bnh ca tng N s nguyn c nhp vo t bn phm.
uses crt; var N, i: integer; TB: real; A: array[1..100] of real; begin clrscr; write('Nhap so phan tu cua mang, n= '); read(n); for i:=1 to n do begin

82

write('Nhap gia tri ',i,'cua mang, a[',i,']= '); readln(a[i]) end; TB:=0; for i:=1 to n do TB:=TB+a[i]; TB:=TB/n; write('Trung binh bang ',TB); end.

Bi 9. Chng trnh nhp n s nguyn t bn phm v tnh tng cc s dng:


uses crt; var n,k,S: integer; X: array[1..1000] of integer; begin clrscr; write('Nhap so tu nhien n: '); readln(n); for k:=1 to n do begin write('Nhap X[',k,']='); readln(X[k]) end; S:=0; for k:=1 to n do if X[k]>0 then S:=S+X[k]; writeln('Tong cac duong S=',S); readln; end.

Bi 10. Ni dung bi 2 ca bi thc hnh 6 l vit chng trnh nhn bit mt s t nhin c phi l s nguyn t hay khng. Ni dung ca bi tp 9, bi 8, l vit chng trnh tnh tng cc c s thc s ca mt s nguyn, nhng cha lit k c cc c s . c th lit k, chng trnh cn phi ghi li chng. tng chnh l s dng mt bin mng phc v cho iu ny. Chng trnh tng t nh trong bi tp 9, Bi 8:
uses crt; var n,i,k,S: integer; X: array[1..10000] of integer; begin clrscr; i:=2; S:=0; for k:=1 to (n-1) do X[k]:=0; {Dat lai = 0} write('Cho so tu nhien n>2: n= '); readln(n); while i<=(n-1) do {Ghi lai uoc so vao X[i]} begin if (n mod i)=0 then begin X[i]:=i; S:=S+X[i] end; i:=i+1; end; writeln('Tong cac uoc so thuc su cua ',n,' la: ',S);

83

if S<>0 then begin write('Cac uoc so cua ',n,' la: '); for i:=1 to (n-1) do if X[i]<>0 then write(X[i],' ') end else writeln(n,' la so nguyen to.'); readln; end.

Bi thc hnh 7. X l dy s trong chng trnh


1. Mc ch, yu cu Thc hnh khai bo v s dng cc bin mng ; n luyn cch s dng cu lnh lp if...then, for...do; Cng c k nng c, hiu v chnh sa chng trnh. Hiu v vit c chng trnh vi thut ton tm gi tr ln nht, nh nht ca mt dy s, tnh tng dy s.

2. Nhng im cn lu v gi dy hc gy hng th cho HS, cn dnh thi gian HS g, chy th chng trnh tm Max, Min, Tnh tng dy s. Hn th na, vic thc hin cc bi hc l cn thit do yu cu trong Chng trnh. HS cn vit c cc chng trnh ny. Chng trnh tm Max c tin hnh bi l thuyt, GV cn hng dn HS tham kho chng trnh P_Max t vit c chng trnh P_Min v chng trnh tnh tng P_Sum. Chng trnh tm Max c gii thiu trn, di y l chng trnh P_Min v chng trnh P_Sum. Chng trnh tm gi tr nh nht trong dy s nguyn P_Min:
Program P_Min; Var i, n, Min : integer; A: array[1..100] of integer; Begin write('Hay nhap do dai cua day so, N = '); readln(n); writeln('Nhap cac phan tu cua day so:'); For i:=1 to n do Begin write('a[',i,']='); readln(a[i]); End; Min:=a[1]; for i:=2 to n do if Min>a[i] then Min:=a[i]; write('So nho nhat la Min = ',Min); readln; End.

84

Chng trnh tnh tng dy s, trong chng trnh ny c thm cu lnh in ra mn hnh dy s va nhp ngi s dng c th thun tin kim chng kt qu chng trnh. Nhng y cng nhm mc ch luyn tp vi vic in phn t ca mng ra mn hnh.
Program P_Sum; Var i, n, Sum : integer; A: array[1..100] of integer; Begin write('Hay nhap do dai cua day so, N = '); readln(n); writeln('Nhap cac phan tu cua day so:'); For i:=1 to n do Begin write('a[',i,']='); readln(a[i]); End; Sum:=0; for i:=1 to n do Sum:= Sum + a[i]; write('Day so vua nhap la: '); for i:=1 to n do write(a[i], ' '); writeln; write('Tong day so la = ',Sum); readln; End.

Thi gian cn li dnh HS thc hnh vi cc bi s dng kt hp nhiu cu lnh, biu thc iu kin... trong SGK. Lu : Theo yu cu ca chun kin thc, k nng, kt thc bi ny phi m bo HS hiu c thut ton, t vit c chng trnh tm s ln nht, nh nht ca dy s, kim tra iu kin ba s a, b, c c phi l di ca ba cnh ca mt tam gic hay khng (hoc cc bi ton tng ng). HS cn t vit c chng trnh nhp gi tr phn t mng, in ra mn hnh cc phn t ca mng, tnh tng cc phn t ca mng. Do vy, trong trng hp cn thit GV cn la chn, xy dng ni dung tit bi tp , n tp trn lp hoc thc hnh trn phng my m bo t c yu cu quy nh trong chun kin thc, k nng.

85

You might also like