1. Trang chủ
  2. » Tất cả

Dạy câu lệnh lặp với số lần biết trước trong ngôn ngữ lập trình pascal

4 5 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Dạy câu lệnh lặp với số lần biết trước trong ngôn ngữ lập trình Pascal
Tác giả PGS.TS. Le Khac Thanh, Th.S. Nguyen Chi Trung
Người hướng dẫn Dai hoc Sir Pham Ha
Trường học Đại học Sư Phạm Hà Nội
Chuyên ngành Lập trình Pascal
Thể loại Bài giảng
Năm xuất bản 2011
Thành phố Hà Nội
Định dạng
Số trang 4
Dung lượng 176,19 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

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 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 2

tinh 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 3

Rin 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 4

khiln 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

Ngày đăng: 18/11/2022, 15:41

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w