Khoa hpc Giao dye DAY CAU LENH LAP V6l SO LAN B I E T T R U 6 C TRONG N G O N N G Q LAP TRINH PASCAL PGS TS LE KHAC THANH; Th S NGUYIN CHI TRUNG Dai hpc Sir Pham Ha Npi 1 Hinh thanh cau lenh Tinh hudn[.]
Trang 1DAY CAU LENH LAP V6l SO LAN B I E T T R U 6 C
TRONG N G O N N G Q LAP TRINH PASCAL
PGS.TS LE KHAC THANH; Th.S NGUYIN CHI TRUNG Dai hpc Sir Pham Ha Npi
1 Hinh thanh cau lenh
Tinh hudng dan den nhu cau sd dung ciu l§nh
lip for dupe ehung tdi can nhae lUa chpn la Bdi
todn tinh tdng dupe phat bieu ngin gpn nhU sau:
"Hdy lap trinh eho may tinh gid trj cua bieu thdc:
S = 2 + 3 + 4 + + 21+22 + 23'.'
De thay tong S ed 11 cap sd hang m i mdi cap sd
hang cich dIu d hai diu day ludn cd tdng bing
25 Suy ra tdng S can tinh l i 25 x 11 = 275 (nhin
nhim 25 vdi 11 bing cich cdng 2 vdi 5 dupc 7
rdi viit vio gida 2 va 5) Cich tinh nham nay giup
HS (hpc sinh) de dang kiem tra duac kit qui chay
chuong trinh tren miy Nlu ta eho bieu thdc cdng
kinh thi cic em se sa vao tfnh toan kiem chdng va
lang phf thdi gian khdng can thilt, vl mdt tiet hpc
chi ed 45 phut
Ngoii Idi giit toin hpe thuan tOy tren, cd mdt
cich tfnh khae, dd la cdng lan lupt cac sd hang eua
bieu thdc theo thdtutdtrii qua phii D l hiiu each
tfnh nay, GV md t i eho HS qui trinh cdng ddn gia
tri cua biln /C vio cho bien tong S theo thuat toin
sau diy:
BUdc ;: Khdi tao S.-a-Zf.-2;
Budc2: GanS~S + K;
BUdc 3: Nlu K < 23 thi gan K := K + 1 va quay ve
budc 2
Budc 3: DUa ra gli trj eua S;
BUdc4: Kit thuc thuat toin
Thuat toin tren duac GV dien t i qua bing md
phdng sau diy:
Lln l|p
1
2
3
21
22
K
2
3
4
22
23
S + K
0 + 2
2 + 3
5 + 4
252 + 23
S
0
2
5
9
252
275
Td diy, GV gidi thieu eho HS biit ring, de thUc
hien lap lai 22 lan cdng viee tfnh tdng S + KT6\ gin
cho bilnS,ta edthe sddung ciu lenh lipfortrong ngdn ngd Pascal vdi cu phip nhu sau:
CO phdp:
for biln := <BT 1 > to <BT 2> do
<cau ldnh>;
Hogtdgng :Td <BT 1 > (bilu thdc 1) den <BT 2>
(bilu thdc 2), biln nhin bao nhi§u gia tri thi ciu lenh dupe thUe hien bay nhieu lin
Nhin vio bing md phdng tren, ta thay: Viec them
dan cic gii tri kieu byte cCia Kvao 5 lam eho 5 lan
lupt nhan cic gia tri 2,5,9,14,20 cung thudc kieu
byte, din khi K bing 22 thi gii tri 252 cCia tong S
van thudc kieu byte NhUng d lin lap cudi ci;jng,
K bing 23, gii tri cua S la 275 vUpt ra ngoii pham
vi kilu byte va ddi hdi phii dupe md t i bang kilu word Cie phan tich tren dan den chuong trinh nhusau:
program ViDu ; uses crt;
var K: byte ; S : word ; begin
eirscr; S:=0;
for K:=2to 23 do S:=S + K;
writelnCDapsola ' , S ) ; readin
end
Ta luu y vdi HS viec khdi tri eho S la ein thilt, va
de khdng lam anh hUdng den tdng, ta cho S khdi
tri bang 0 thdng qua lenh gin S := 0;
2 Luyen tap ciu lenh lap vol sd lan dinh trudc
Sau khi hinh thinh eho HS eau Idnh lap for, dl
luyen tap, ta ed the cho HS giii quylt Bditodn tinh cdn vdi tinh hudng khd khin hon mot chut so vdi
Trang 2tinh hudng Bdi todn tinh tong ndi tren: "Hdy lap
trinh tinh gid tri bieu thdc sau:
3=^23 + V22 + + >/3+W."
Bai toin niy cd 22 dau ein bic hai Idng nhau Y
tudng eCia thuat toin la viec tfnh cin eua cie tong
dupc thUc hien td trong ra ngoai Mdt eieh tdng
quit, ta dung mdt biln K lan lupt nhin cac gia tri td
2 den 23, dng vdi moi gia tri cOa K, ta lay -Js + K
gdi vao S (Biln S dupe khdi trj bing 0)
Ta din chuong trinh tren sang cda sd thU hai de
thu dupe mdt chuong trinh mdi bing cich sda
mdt sd chd Chuong trinh the hien y tudng thuat
toin tren nhusau
program ViDu ; uses crt;
var K : byte ; S : real;
begin
eirser; S:=0;
for K := 2 to 23 do S:- sqrt(S -i- K);
writelnCDapsola ' , 5 : 0 : 4 ) ;
readin;
end
Ldi ban ve phuong phap giing day
Ve phuang dien giao tiep, khi tao tinh hudng day
cau lenh lip for, ta can mdt biln lan lupt duyet
qua cac gii tri liin tue v i dem dupe de diiu khien
vdng lap vdi sd lan lap biit trUdc Tai thdi dilm nay,
ta luu y eho HS mdi quan he v l gia trj gida <BT 1 >
va <BT 2> de biet duac <cSu lenh> sau td khda
do thuc hien bao nhieu lan
Muc dich chdc ndng eua ta l i hinh thanh vdng
for cho hoc sinh, mue^chphuang tiin l i tinh tdng
eae sd tU nhien t d 2 din 23 Phuong chim cua ta
la thUe iiiln mue dfch chdc nang thdng qua mue
dfch phuong tien Vi vay ma bii toin minh hoa
(muc dfch phuong tien) ta chpn eing dpn giin
v l mat tinh toin, eang d l hieu ve mat cau true thi
eing tdt Vile tinh tdng td 2 din 23 ehi la phuong
tiin true quan minh hoa cho HS de nam bat dupe
eu phip va hoat ddng cCia ciu lenh lap for Sau khi
HS da hieu biit v l vdng for thdng qua vf du don
giin ban dau, ta eho hpc sinh van dung vio tfnh
bieu thde cd 22 dau ein bic hai Idng nhau d l HS
thay tam quan trpng eua vdng for
Ve phuang dien dUlieu, trong Bdi todn tinh tong, day can tinh tong l i mdt diy sd lien tue, duac chu
y chpn can dUdi l i 2 va can tren la 23 chd khdng chpn can dudi va can tren nhd hpn hoac Idn hon vi nhieu If do, trong dd phii ke din cac li do sau day:
- Do tong eie sd tU nhien td 2 din 23 la 275 vUpt
ra ngoai 255 nen ta phii khai bio bien S ed kilu wprd Vl phuong dien trilt hpc, dilu nay minh hpa
quy luat "lupng doi, chdt doi" Quan diem trilt hpc
nay se khdng cd eP hdi dupe de cap den, nlu ta chpn day td 1 den 22, vi kit qua tong 5 van thudc kilu byte
- Nlu ta cho tfnh tdng td 1 din 100 thi cung de ding nham ra tdng la 5050 bang cdng thdc (1 + 100) X 50 (cich ma Gau-xP da lam khi dng mcl 6 tuoi) Nhung vi tong nay qui de nhan ra vupt qui
255 nen sU canh bio viec tran d nhd se khdng may ngae nhien vdi cic em Dd glat minh khdng cao vl cac em da chuan bj td trUdc khdng mat cinh giac nhu 275
Ve phuang dien thudt todn, ta da hudng cho HS xiy dung hai thuat toin giii Bdi todn tinh tdng
Thuat toan thd nhat (tfnh theo cdng thde (2 + 23)
X 11 = 275), dUPng nhien la sang tao, thdi gian thuc hien nhanh NhUng thuat toan thd hai (cdng lan lupt theo thd tu tang dan t d trai sang phii) la phong each lam viee cua may tfnh, die t i cic cdng viee dupe lap lai vdi sd lan biet trUde
Ve phuang dien qud trinh, viec ta dung bing md phdng qua trinh cdng don theo K nhU tren ehfnh
la giup HS hinh dung ra qui trinh xiy ra bin trong
bd nhd cCia miy tfnh khi nd thuc hien viee tinh tong qua eiu lenh for Mdt sd ddng trong bing
md phdng, ta de dau ba cham d l cho HS tu duy
tuong tU- Viec tich day sd thanh eae sd doe lap la tuduy phin tieh
Td chuong trinh tinh tong sang chuong trinh tfnh can bac hai la nhim nhdng y tudng sau diy:
Ren luyin phuong dien gidi quyet van de Hai bii toin Bdi todn tinh tdng va Bdi todn tinh edn khic
nhau v l y nghTa toan hpc nhUng quy trinh tiep can giii quylt tdng cdng doan la tUOng tU nhU nhau Dau tien gan cho biln luu gid kit qui bang 0 Cho
biln K lan lUpt duyet qua cac gii trj td gia trj ban dau den gia tri kit thue 6 Bditodn tinh tong thi lay
S + K rdi gan eho bien S, d Bdi todn tinh edn thi lay
•JS + K rdi gin eho biln S
Trang 3Rin kithugt Idp trinh tddudilin HS biit t i n dung
nhdng chuong trinh da biet d l sda ehda v i tao ra
chuong trinh giii bii toin mdi Vdi chu y niy, trong
chuong trinh mdi, ta gid nguyen can dudi 2 v i can
trIn 23; gid nguyen ngd cinh eua eau lenh dua
thdng tin ra; khai bio biln S ddc lap d l sda kilu dd
lilu eua bien 5 td word sang real; cdn thin ehuong
trinh ta ehi can them ham sqrt v i them ehi thj :0:4
d4 in ra so thuc dau phay tTnh d dap sd
Nhae nhd HS phuang diin sddung may tinh diin
tCt Ren luyen cho HS cic thao tic co bin ve quin If
tep va soan thio, bang cic cdng viec sao ch^p va
din chuong trinh sang cda sd khae, ghi lai tep vdi
ten mdi, sda lai bing each them, bdt, chen, xoi d l
dupc chuong trinh tinh cin
Bdi dudng quan diem triet hgc NhU da de cap
d trdn, ta chu y chpn eie can eho day sd can tfnh
tong la 2 v i 23 de thay dupc gia trj cUa bien tdng 5
chuyin td mien byte sang mien word, qua dd thay
dupe quy luit eua cap pham tru chat va lUpng Mat
khie, viec ehuyen td bai toan tinh tong sang bai
toin tfnh can bac hai da lam cho bien S chuyin td
miln word sang miln real, qua do thiy dupe quy
luat ci!ia cap pham tru hinh thde v i ndi dung
3 DownTo
Sau khi HS d i nim dupe hoat ddng cOa cau lenh
lap for dang tien, ta hinh thanh cho cic em ciu
lenh lap for dang lui Ta xet lai Bai todn tinh tong
(khdng nen lay vf du khie)
Theo tfnh chat giao hoin cilia phep cdng, tdng
tren edn edthe tinh theo thdtutd phii qua trii, tde
l i 5 = 23-1-22 + 21+ -I- 4 +3 + 2.DlthUchiln
dilu nay, ngdn ngd Pascal cd ciu lenh for dang lui
vdi cu phip v i hoat ddng nhu sau:
CO phdp:
for bidn := <BT 1 > downto <BT 2> do
<cau lenh>;
Hogtdgng: Td <BT 1> den <BT 2> biln nhin
bao nhieu gia tri thi ciu lenh dupe thUc hien bay
nhieu lan
Ta dan chUPng trinh tfnh tdng d cda s6 thd nhat
sang cda so thd ba v i sda lai nhusau:
program ViDu ; uses crt;
var K : byte ; S ; word ;
begin
eirser; S:=23;
for K:= 22 downto 2 do S :=S + K; writelnCDapsola ' , S ) ; readin
end
6 chuong trinh tren, ta cung lUu y eho HS each khdi trj "sdm" cho biln tich luy tdng S bing eau
lenh gin S := 23 Khi dd trong ciu linh for, biln K
chi cin lui td gia tri 22 xudng gii tri 2, do do sd lin lap glim xuong edn 21 lan
De HS hdng thu va thay tic dung cua ciu lenh lap for dang lui, GV tiep tuc cho eae em xem may giii bii toin tinh S sau diy:
TinhS , V2 + )/3+- + V224-V23
Y tudng tfnh toin cho bai toin niy cung la lin lupt tinh td trong ra ngoai tuong tU nhu bai toin tfnh can da giii d tren Viec dung for dang lui d day
la thich hpp Ta din chuong trinh d cda so thd hai sang cda sd thdtu, rdi sda lai de cd chuong trinh mdi:
program ViDu ; uses crt;
var K : byte; S : real;
begin cirscr; S:=sqrt(23);
for K := 22 downto 2 do S:=sqrt(S + K);
writein (' Dap so la ', S: 0 : 4 ) ; readin
end
4 Hai vdng for I6ng nhau Day ciu lenh lap for can phii tiin din day hoat ddng cCia 2 cau lenh lap for Idng nhau Vi sau niy
HS se dung den cau trOe nay khi lam viee vdi ming
2 ehilu va trong nhieu tinh hudng khic Cich tiip can cau true for Idng nhau mdt cich
tu nhien nhat l i ta dUa ra nhin xet: Trong cu phip eua eiu linh lip forth! ban thin <cau l$nh> sau
td khda do eung cd t h i la eau lenh cd eau true nhu eiu lenh hpp thanh (begin end), cau lenh
re nhinh (if-then) va tat nhien cd the la ciu l4nh
for-do khic Hoat ddng ci\a for Idng nhau ed t h i
hieu nhu sau: dng vdi tdng gii tri eua bien dilu
Trang 4khiln vdng for b^n ngoii, may se thUc hi^n mdt
lan vdng for ben trong
Ta minh hpa 2 vdng for Idng nhau bing viec cho
HS quan sit kit qui khi thuc hien ehUOng trinh
eho hien len min hinh 5 ddng diu eua bing nhin
ChUPng trinh nhu sau:
program ViDu; uses crt;
var d , e: byte;
begin
eirser;
for d := 1 to 5 do
begin
for e := 1 to 9 do
write (d: 3,' ',c,' = ' , d*e: 2 ) ;
writein;
end;
readn
end
Nhan xet
Ta cho in 5 ddng diu tien cQa bing nhin m i
khdng cho in c i bing nhin la de cho HS de nhin
ra ddng ehi nhin 5 gii tri, edn cot nhin 9 gii tri
Nlu in c i bing nhin thi ddng va cot deu nhan 9
gia tri lim cho vi^c phan biet gia tri eua ddng v i
gii tri cua edt la khdng true quan
Van dung: Ta cd the y#u cau HS lip trinh eho
miy giii bii toin "Cd 100 con trdu, 100 bd cd Trdu
ddng dn 5, trdu ndm dn 3, lu khu trdu gid 3 eon mot
bo Hdi moi logi ed may eon T
Ta gpi so triu ddng la d, so triu nam l i n Khi do d
Ianluptduyltquacicgiitritd0den20(100bdcd
chia cho 5 l i sd bd mdt con triu dLhig an), dng vdi
mdi gii trj cOa d, ta cho triu nim n lan lUpt duyet
qua eie gii trj td 0 din 33 Biet d, n ta se tfnh dupc
sd triu gia la 100 - d - n Chuong trinh nhu sau:
program ViDu; uses crt;
var d , n: byte;
begin
cirscr;
for d:=Oto 20 do
for n:=Oto 33 do
if 5*d + 3*n + (100-d-n)=100then
writein (d,' trau dung' ,n,' trau nam' ,100-d-n,'
trau giaO;
readin
end
5 Ket luan
Lan dau tien day eho HS v l ciu lenh lap for, theo
ehung tdi, tiin trinh din dat HS ITnh hdi kiln thde cung vdi viec lUa chpn cac tinh hudng da neu l i phCi hpp, b^ vi nd kit hpp dupc cic Uu dilm quan trpng nhU:
-Trong thdi gian ngin, GV giup HS hieu dupc cu
phip va hoat ddng eua ciu lenh lap for dang tiin
va dang lui, cua cau true lap for Idng nhau
- Vdi phuong chim thUe hien muc dfch chdc ning thdng qua mue dfch phuong tien, ta ddng thdi dat dupc cic y do v l phuong phap day hpe nhU: bdi dUdng quan diem triet hpe, dat dupe nhilu phUPng di^n nhU: giao tiip, thuat toin, dd lieu, qua trinh, sddung may tfnh, kT nang lip trinh
td dudi len va kT nang giii quylt van de
Cac bai toan khd hon va hay hon sd dung ciu
lenh lap for se cd eP hdi dupc gidi thieu d nhdng
t i l t hpe sau
TAILIIUTHAMKHAO
[1] L^ Khae Thinh, Phuong phdp dgy hgc dgi
cuang mdn tin hgc, NXB Dai hpe SU Pham Ha Npi,
2006
[2] Le Khae Thinh, Phuang phdp dgy hge chuyin
ngdnh mdn tin hgc NXB Dai hpe SU Pham Ha Ndi,
2008
[3] HdCam Hi (Chu bien), Le KhacThanh, Nguyin
ChiTrung, Dgy hge theo chuan kien thde kindng Tin hgc 10, NXB Dai hpc SU Pham Ha Ndi, 2010
[4] Hd Sy Dim (Chu bien) Ho Cam Ha, Tran Dd Hung, Nguyen Ddc NghTa, Nguyen ITianh TiJng,
Ngd Anh Tuyet, Tin hgc 11, NXB Giio due 2007
SUMMARY
Pedagogical approaches in teaching the repeating FOR syntax clause in school informatics often start from calculating sum of a series This article proposes some sample v\/ith effective teaching This teaching has achieved many ideas of teaching methods and simple to implement in short teaching period