Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
PHN M U
I. L DO CHN TI
Theo nhng nguyờn tc biờn son SGK, im ni bt nht trong SGK Tin
hc lp 11 l tinh thn tớch hp kin thc, k nng trong tng bi hc, chỳ trng
ti vic thc hnh. iu ny to iu kin cho hc sinh phỏt trin ng thi c
v kin thc v k nng lm vic. im ni bt th hai l tinh thn i mi
phng phỏp dy hc theo hng tớch cc hoỏ hot ng hc tp ca hc sinh.
in nay trong lớ lun dy hc n i chung v lớ lun dy hc m n Tin hc
n i riờng yờu cu s d ng khỏ nhiu phng phỏp: phng phỏp tho lun,
phng phỏp t cõu hi, phng phỏp chia nh m
Tuy nhiờn vi bt k mt phng phỏp no thỡ giỏo viờn vn phi c mt
yờu cu chung l phi hiu rừ v bn cht ca vn thỡ t mi c kh nng
s d ng mt hoc nhiu phng phỏp thớch hp truyn t hay gi m vn
cho hc sinh.
L mt giỏo viờn gii, trc ht phi l mt ngi hc gii, ngi ta n i:
Nu anh nghe
->
thỡ anh s quờn
Nu anh thy
->
thỡ anh s nh
Nu anh lm
->
thỡ anh s hiu
Nu anh ging
->
thỡ anh s tinh th ng
Trong chng trỡnh Tin hc ph th ng thỡ chng trỡnh Tin hc lp 11 tỡm
hiu v ng n ng lp trỡnh m c th l ng n ng lp trỡnh Pascal. õy l mt
ng n ng kh ng ch cht ch v mt cỳ phỏp m cũn cht ch v mt d liu.
Chớnh vỡ th, tho chng bng ng n ng Pascal l mt c hi tt kh ng ch rốn
luyn t duy m cũn rốn luyn tớnh cn thn v chớnh xỏc.
Ng n ng Pascal c dựng vit cỏc chng trỡnh ng d ng trong nhiu
lnh vc. Vi vn phm sỏng sa, d hiu, vi kh nng mnh, Pascal c
xem l ng n ng thớch hp nht ging dy cỏc trng ph th ng v i hc.
Trong sut quỏ trỡnh ging dy t khi m n Tin hc c a vo trng PT
n nay, t i nhn thy rng khi ging dy v ni dung ca Chng 6 "Chng
trỡnh con v lp trỡnh c cu trỳc" phn ln hc sinh u kh ng hiu c cỏch
truyn tham tr v tham bin nh th no m lý do chớnh l c mt s giỏo viờn
cng ch dy nhng gỡ mỡnh bit ch cng cha hiu rừ bn cht ca vn .
T nhng lý do trờn, qua quỏ trỡnh ging dy trờn lp ca bn thõn t i ó
chn ti "Mt cỏch nhn bit v truyn tham bin v tham tr trong Chng
trỡnh con" l ti Sỏng kin kinh nghim ca mỡnh c th giỳp cho giỏo
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
1
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
viờn, hc sinh hiu rừ c vn tng i phc tp ny.
II. MC CH CA SNG KIN KINH NGHIM
- G p phn thỳc y quỏ trỡnh i mi phng phỏp dy hc theo hng
phỏt huy tớnh tớch cc ca hc sinh.
- G p phn nõng cao kin thc v kh nng thc hnh cho giỏo viờn.
- Giỳp hc sinh c kh nng nhn thc kin thc v t hon thin kin
thc.
III. KHCH TH V I TNG NGHIấN CU
Khỏch th: c sinh lp 11 trng T PT Lờ Vn u.
i tng: Truyn tham bin v tham tr trong chng trỡnh con, ng n ng
lp trỡnh Pascal.
IV. NHIM V NGHIấN CU
Trờn c s nhn thc, tỡm hiu v phõn tớch, ti a ra cỏc bi thc hnh
c th v truyn tham tr v tham bin trong chng trỡnh con, trong ng n ng
lp trỡnh Pascal.
V. PHNG PHP NGHIấN CU
ti s d ng cỏc phng phỏp:
- c ti liu.
- Thc nghim.
- Phõn tớch ỏnh giỏ
VI. NHNG ểNG GểP MI
iu qu v cht lng trong dy hc ph thuc vo nhiu yu t. Tuy
nhiờn vic giỏo viờn nhn thc vn c sõu sc, chớnh xỏc hay kh ng, chun b
thit k c chu ỏo hay kh ng cng nh trong phng phỏp ging dy vic nờu
vn v gii quyt vn i vi mt bi hc ng mt vai trũ quan trng.
Mt cỏch nhn thc, cỏch hiu, phõn tớch v a ra cỏc chng trỡnh c th m
t i a ra sau õy, hy vng s g p mt phn nh nh hng ng nghip rỳt
kinh nghim trong nhim v ging dy tt m n Tin hc.
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
2
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
PHN NI DUNG
I. C S L LUN
Ng n ng lp trỡnh (programming language) l mt tp con ca ng n ng
mỏy tớnh. õy l mt dng ng n ng c chun h a (i lp vi ng n ng t
nhiờn). N c dựng miờu t nhng quỏ trỡnh, nhng ng cnh mt cỏch rt
chi tit.
Ng n ng lp trỡnh l mt h thng c ký hiu h a miờu t nhng tớnh
toỏn (qua mỏy tớnh) trong mt dng m c con ngi v mỏy u c th c v
hiu c.
Theo nh ngha trờn thỡ mt ng n ng lp trỡnh phi tha món c hai
iu kin c bn l:
1. N phi d hiu v d s d ng i vi ngi lp trỡnh, con ngi c
th dựng n gii quyt cỏc bi toỏn khỏc.
2. N phi miờu t mt cỏch y v rừ rng cỏc tin trỡnh (process),
c th chy c trờn cỏc mỏy tớnh khỏc
Chng trỡnh con (subprograms) l mt phộp toỏn tru tng c nh
ngha bi ngi lp trỡnh. Chng trỡnh con c cỏc c tớnh nh sau:
Mi chng trỡnh con c mt im vo duy nht.
Chng trỡnh gi tm ngng vic thc hin trong quỏ trỡnh thc hin
chng trỡnh con.
éiu khin lu n c tr v chng trỡnh gi khi s thc hin chng trỡnh
con kt thỳc.
Khi n i n chng trỡnh con, chỳng ta quan tõm n hai khớa cnh: s
nh ngha chng trỡnh con v li gi thc hin chng trỡnh con.
S c t chng trỡnh con bao gm:
* Tờn ca chng trỡnh con
* S lng cỏc tham s, th t ca chỳng v kiu d liu ca mi mt tham
s .
* S lng cỏc kt qu, th t ca chỳng v kiu d liu ca mi mt kt
qu.
* ot ng c thc hin bi chng trỡnh con.
Chng trỡnh con biu din mt hm toỏn hc, l mt ỏnh x t tp hp cỏc
tham s n tp hp cỏc kt qu.
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
3
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
- Chng trỡnh con tr v mt kt qu duy nht trong tờn chng trỡnh con
thng c gi l mt hm. Cỳ phỏp in hỡnh c t hm c quy nh trong
ng n ng lp trỡnh Pascal:
Function Ten_ham(Danh sỏch cỏc tham s cựng vi kiu d liu tng
ng): Kiu kt qu tr v
Vớ d :
Function FN(x:real; y:integer) : real
éc t ny xỏc nh hm FN : REAL x INTEGER -> REAL
- Chng trỡnh con tr v nhiu hn mt kt qu hoc kh ng c kt qu tr
v trong tờn chng trỡnh con thng c gi l th t c (procedure hoc
subroutine). Cỳ phỏp in hỡnh c t th t c c quy nh trong ng n ng lp
trỡnh Pascal:
Procedure Ten_thu_tuc(Danh sỏch cỏc tham s cựng vi kiu d liu tng
ng)
Vớ d :
Procedure SUB(X:real; Y:Integer; Var Z:Real; Var U:boolean);
Trong s c t ny, tham s c tờn ng sau VAR biu th mt kt qu
hoc mt tham s c th b thay i. Cỳ phỏp ca s c t ny l:
Procedure SUB(X: IN Real; Y: IN Integer; Z: IN OUT Real; U: OUT
Boolean)
Th t c ny khai bỏo mt chng trỡnh con vi s xỏc nh:
SUB : Real x Integer x Real -> Real x Boolean
Cỏc t IN, OUT v IN OUT phõn bit ba trng hp sau õy: IN ch nh
mt tham s kh ng th b thay i bi cng trỡnh con, IN OUT ch nh mt
tham s c th b thay i v OUT ch nh mt kt qu.
Nh vy, vic a ra cỏch nhn bit v truyn tham s s lm cho hc sinh
hiu rừ hn tm quan trng ca chng trỡnh con ng thi cng nh cng lm
tng kh nng t duy ca hc sinh i vi cỏc bi toỏn khỏc.
II. C S THC TIN
* iu kin ca Nh trng: Cng nh tỡnh trng chung ca cỏc trng
T PT trong tnh n i riờng v c nc n i chung trang thit b ca Nh trng
cũn nhiu thiu thn i vi tt c cỏc m n hc chc kh ng riờng gỡ b m n Tin
hc. Mt khỏc, trang thit b i vi b m n li c khi lng kinh phớ ln. Vỡ
vy, trang thit b tin hc cũn khỏ khiờm tn, thiu thn c v lng v cht. s
lng mỏy tớnh ớt (cũn cha 2 hc sinh/01 mỏy tớnh trong gi thc hnh),
trang thit b h tr cho phũng mỏy hu nh kh ng c gỡ.
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
4
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
* iu kin ca giỏo viờn: Nh trng c 03 giỏo viờn tin hc u t
chun, tui i tr, c nng lc, c ý thc hc hi nõng cao trỡnh chuyờn
m n ca bn thõn, lu n c gng khc ph c mi kh khn tn d ng mi trang
thit b hin c c nhng bi ging hay v sinh ng nhm truyn ti mt
cỏch tt nht kin thc ti hc sinh.
* iu kin hc sinh: u ht hc sinh u l con em n ng th n. Nhng
do kinh t a phng nhng nm gn õy phỏt trin mnh, cỏc dch v Internet
v kinh doanh mỏy tớnh trờn a bn cng phỏt trin vỡ vy hc sinh ớt nhiu ó
c tip cn mỏy tớnh v Internet. Mt khỏc, õy l m n hc mi li c ng
d ng nhiu trờn thc t i sng. Vỡ vy, hc sinh cng khỏ hng thỳ v c ý
thc vi m n hc nờn trong cỏc tit hc hu ht cỏc em u hng say xõy dng
bi v tỡm hiu thc t i vi m n hc. Tuy nhiờn, õy l m n hc kh ng
thi li liờn quan n rt nhiu lnh vc khoa hc t nhiờn, xó hi nờn vic tip
cn ca hc sinh cng tng i kh .
III. T VN
Khi ging dy v phn chng trỡnh con (CTC) Tin hc 11 tụi nhn thy
hu ht hc sinh rt b ng vi cỏc khỏi nim hon ton mi m mang tớnh tru
tng nh: Danh sỏch tham s, tham s giỏ tr (tham tr), tham s bin (tham
bin), tham s hỡnh thc, tham s thc s
iu lm tụi khụng khi bn khon l lm th no hc sinh hiu v
nm bt c cỏc khỏi nim ny mt cỏch hiu qu nht, nhm trỏnh nhng s
hiu lm gia cỏc khỏi nim tham bin v tham tr .
in nay hu ht cỏc ngụn ng bc cao u t chc hai cỏch truyn tham s
khi gi mt CTC, l truyn theo tr v truyn theo bin. Vic truyn tham
chiu theo hai cỏch khỏc nhau nhiu khi gõy ra nhng kt qu khỏc nhau khụng
mong mun, iu ny dn n nhng li logic rt khú phỏt hin.
Bi vit ny khụng ngiờng v thut toỏn ca cỏc bi toỏn khú m ch a ra
cỏc bi toỏn cú thut toỏn n gin nht giỏo viờn v hc sinh khụng ri vo
vic gii quyt thut toỏn m chỳ trng n vn ca bi vit.
IV. GII QUYT VN
1. Khỏi nim v tham bin v tham tr
Theo SGK Tin hc 11, tham bin v tham tr c nh ngha nh sau:
* Tham tr: Trong lnh gi CTC, cỏc tham s hỡnh thc c thay bng cỏc
tham s th s tng ng l cỏc giỏ tr c th c gi l cỏc tham s giỏ tr
(tham tr).
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
5
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
* Tham bin: Trong lnh gi CTC, cỏc tham s hỡnh thc c thay bng
cỏc tham s th s tng ng l tờn cỏc bin c gi l cỏc tham s bin (tham
bin)
2. Truyn tham s khi dựng tham bin v tham tr
Nu mt CTC cú danh sỏch tham s thỡ cỏc tham s phi c khai bỏo
phn u sau tờn CTC, trong cp du ngoc trũn. Khai bỏo mt tham s cú ngha
l ch ra nú thuc loi tham s no (tham s bin hay tham s tr) v nú cú kiu
d liu l gỡ?
Vớ d :
Procedure Test(x, y: integer ; var z: boolean);
Function Delta( a, b, c: real): real;
- Danh sỏch tham s l x, y, z, a, b.
- x, y cú kiu d liu Integer (s nguyờn);
- a, b, c cú kiu d liu real (s thc);
- z c kiu d liu boolean (logic).
Vy trong cỏc tham s x, y, z, a, b õu l tham bin, õu l tham tr?
Bng trc quan ta d dng nhn thy:
- z l tham bin vỡ z cú t khoỏ Var ng trc;
- x, y, a, b, c l tham tr vỡ khụng cú t khoỏ Var ng trc.
thy rừ hn v bn cht s khỏc nhau gia tham bin v tham tr ta xột
vớ d sau:
Vớ d 1:
Progam Vidu1;
var a, b, c: Integer;
Procedure Exp(x, y: Integer; Var z: Integer );
Begin
z:= x + y ;
(4.1)
x:= x*y ;
(4.2)
End;
Begin
a:= 5;
(1)
b:= 10;
(2)
c:= 7;
(3)
Exp(a,b,c);
(4)
Write(a:5,b:5,c:5);
(5)
End.
Nhỡn vo chng trỡnh, ch quan ngi c c th a ra kt qu
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
6
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
50 10 15
(*)
Nhng kt qu nhn c sau khi chy chng trỡnh l:
5 10 15
(**)
Vy ti sao li cú kt qu ny?
Tht vy, do x v y l tham tr nờn khi cú li gi Exp(a,b,c) thỡ x nhn c
giỏ tr ca a, y nhn c giỏ tr ca b (c ngha a, b vn c giỏ tr nh ban u a
= 10, b = 3). Nhng cũn z l tham bin nờn khi cú li gi Exp(a,b,c) thỡ z nhn
c bin c.
M t thc hin chng trỡnh c th theo th t lnh:
Lnh
Kt qu CT chớnh
Kt qu CT con
Din gii
(1)
a=5
(2)
a = 5, b = 10
(3)
a = 5, b = 10 v c = 7
(4)
x = 5, y = 10, z = c(7) Truyn tham s
(4.1)
z (c) = 15
(4.2)
x = 15
(5)
a = 5, b = 10 v c = 15
In kt qu (**)
Nhn xột: khi chy chng trỡnh thỡ tham s thc s truyn cho tham bin
cú kt qu thay i (theo CTC) cũn tham s thc s truyn cho tham tr cú kt
qu khụng thay i, chớnh l s khỏc nhau c bn gia tham bin v tham tr,
ta xột vớ d sau.
Vớ d 2:
Program Vidu2 ;
Var a, b: Integer ;
Procedure Hoan_doi(x, y: Integer);
var tg:Integer;
Begin
tg:=x;
(4.1)
x:=y;
(4.2)
y:=tg;
(4.3)
End;
Begin
a:= 5;
(1)
y:= 10;
(2)
Writeln(a:5, b:5);
(3)
Hoan_doi(a,b);
(4)
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
7
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
Writeln(a:5, b:5);
(5)
Readln;
End.
Kt qu xut hin trờn mn hỡnh khi chng trỡnh c thc hin:
5 10
(*)
5 10
(*)
Th t c oandoi(a,b) trong vớ d ny dựng i giỏ tr gia 2 bin
nguyờn a v b. Tuy nhiờn khi chy chng trỡnh, iu ny kh ng xy ra. Giỏ tr
ca 2 bin nguyờn a v b trc v sau khi gi th t c oan_doi(a,b) vn kh ng
i: a = 5 v b = 10.
Ti sao li nh vy?
Lý do: trong m t th t c oan_doi thỡ x v y l tham tr nờn khi c li gi
oan_doi(a,b) thỡ x nhn c giỏ tr cha trong a cũn y nhn c giỏ tr cha
trong b.
M t thc hin chng trỡnh c th theo th t lnh:
Lnh
(1)
(2)
(3)
(4)
(4.1)
(4.2)
(4.3)
(5)
Kt qu CT chớnh
Kt qu CT con
a=5
a = 5 v b = 10
a = 5 v b = 10
x = 5 v y = 10
tg = 5
x = 10
y=5
a = 5 v b = 10
Din gii
In kt qu (*)
Truyn tham s
In kt qu (**)
Vớ d 3:
Program Vidu3;
Var a, b: Integer ;
Procedure Hoan_doi(x: Integer; var y: Integer);
var tg:Integer;
Begin
tg:=x;
(4.1)
x:=y;
(4.2)
y:=tg;
(4.3)
End;
Begin
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
8
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
a:= 5;
(1)
y:= 10;
(2)
Writeln(a:5,b:5); (3)
Hoan_doi(a,b);
(4)
Writeln(a:5,b:5); (5)
Readln;
End.
Kt qu xut hin trờn mn hỡnh khi chng trỡnh c thc hin:
5 10 (*)
5 5 (**)
Trong vớ d ny khi chy chng trỡnh ta li thy ch c bin b thay i cũn
bin a li c gi nguyờn.
Lý do trong m t th t c oan_doi thỡ x l tham tr v y l tham bin nờn
khi c li gi oan_doi(a,b) thỡ x nhn c giỏ tr cha trong a cũn y nhn
c bin b.
M t thc hin chng trỡnh c th theo th t lnh:
Lnh
Kt qu CT chớnh
Kt qu CT con
Din gii
(1)
a=5
(2)
a = 5 v b = 10
(3)
a = 5 v b = 10
In kt qu (*)
(4)
Gi CT con
x = 5 v y = b(10)
Truyn tham s
(4.1)
tg = 5
(4.2)
x = 10
(4.3)
y(b) = 5
y l b
(5)
a = 5 v b = 5
In kt qu (**)
Vy, nu s a li vic khai bỏo cỏc tham s trong th t c Hoan_doi l truyn
theo bin bng cỏch thay phn khai bỏo tờn th t c li nh sau:
Procedure Hoan_doi(var x, y: Integer);
thỡ chng trỡnh s cho kt qu nh mong mun l:
5 10
10 5
Nhn xột: Khi ó nhn bit c s khỏc nhau gia tham bin v tham tr
thỡ mt CTC cú tham s lỳc no cn n tham bin, lỳc no cn n tham tr l
mt vn ta cn phi quan tõm khi s a d ng trong nhng chng trỡnh c th.
Vỡ vy, ta xột tip mt vớ d sau õy:
Vớ d 4:
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
9
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
Program Vidu4;
Var tu,mau,d:word;
Function UCLN(Var a,b:Word):Word;
Begin
While a<>b Do
If a>b Then a:= a-b
Else b:= b-a;
UCLN:= a;
End;
Begin
Write('nhap tu so:'); Readln(tu);
Write('nhap mau so:'); Readln(Mau);
d:= UCLN(tu,mau);
If d>1 Then
Begin
Tu:= tu Div d;
mau:= mau Div d;
End;
Writeln(tu,'/',mau);
End.
Chng trỡnh trờn s d ng hm UCLN(a, b) ti gin mt phõn s khi
nhp t bn phớm cỏc giỏ tr t s v mu s ca nú.
Khi chy chng trỡnh, ta luụn nhn c kt qu khụng mong mun l 1/1
cho mi phõn s. Vy li do õu?
Li ny xy ra do hai tham s hỡnh thc ca hm UCLN: a, b l tham bin,
nờn sau li gi d:= UCLN(tu,mau), thỡ a nhn c l tu; b nhn c l mau v
khi trong quỏ trỡnh thc hin hm
d = tu = mau d n kt qu luụn l 1/1.
chng trỡnh cho kt qu ỳng ta phi s a li vic khai bỏo cỏc tham s
trong phn mụ t hm nh sau:
Function UCLN(a,b:Word):Word;
Nhn xột: Vic xỏc nh truyn theo tham tr hay truyn theo tham bin cho
mt tham s l khụng th tu ý vỡ nú cú th dn n nhng kt qu sai vi yờu
cu ca bi toỏn.
Tuy nhiờn i vi mt chng trỡnh khi x d ng CTC, vic xỏc nh c
mt tham s hỡnh thc l tham bin hoc tham tr cũn cha , ta nờn nh mt
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
10
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
CTC c thc hin l da vo li gi nú t Chng trỡnh chớnh. Vỡ vy, CTC
cú th c thc hin nhiu ln v mi ln gi giỏ tr cỏc tham s cú th thay
i:
Vớ d 5:
Program VD5;
Var a, b, c: Byte;
Function F(Var x: Byte; y: Byte): Byte;
Begin
x:=x+y;
(3.1)
F:=x + y;
(3.2)
End;
Begin
a:=5;
(1)
b:= 10;
(2)
c := F(a,b)+F(a,b);
(3)
Writeln(c);
(4)
End.
Quan sỏt chng trỡnh chng trỡnh trờn ta nhn thy:
Chng trỡnh ra mn hỡnh giỏ tr c = F(a,b)+F(a,b) vi a, b ban u tng
ng l 5 v 10.
Bng suy lun ta thy:
Vi a = 5; b = 10 -> F(a,b) = 25
Suy ra: c = 25 +25 = 50.
Kim tra bng test lnh c th, ta s d ng:
M t thc hin chng trỡnh c th theo th t lnh:
Tuy nhiờn: i vi lnh c := F(a,b)+F(a,b); (3) c 4 bc c thc hin
trỡnh t nh sau:
Bc (3.a) - Tớnh toỏn hng F(a,b) u.
Bc (3.b) - Tớnh toỏn hng F(a,b) sau.
Bc (3.c) - Thc hin phộp toỏn + v gỏn giỏ tr biu thc cho c.
Lnh
(1)
(2)
(3.a)
(3.1)
(3.2)
Kt qu CT chớnh
a=5
a = 5 v b = 10
Gi hm F
Kt qu CT con
x = a(5) v y = 10
x(a) = 15
F = 25
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
Din gii
Truyn tham s
11
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
F (u) = 25; a = 15
(3.b)
Gi hm F
x = a(15) v y = 10
Truyn tham s
(3.1)
x(a) = 25
(3.2)
F = 35
F (sau) = 35; a = 25
(3.c)
c = 60
(4)
In kt qu
Vy kt qu khi chy chng trỡnh s l 60 ch khụng phi l giỏ tr 50 nh
ban u ta ó xỏc nhn:
Lý do: x l tham bin nờn sau li gi hm F u thỡ giỏ tr ca a ó thay i
lm nh hng n li gi hm F sau.
Nhn xột: Nh vy, khi truyn mt tham s cho CTC, nu ta mun bo v
giỏ tr ca tham s khi b CTC vụ tỡnh phỏ thỡ tham s phi c dựng
nh l tham tr. Khi cho phộp giỏ tr u vo tng ng cú th l hng, biu
thc hoc bin nguyờn. Cũn mt tham s nu mun dựng ly kt qu (nhng
bin i) do chng trỡnh con em li thỡ tham s phi l tham bin v giỏ tr
u vo tng ng ch cú th l bin.
3. Mt s bi tp kim tra.
Cõu 1: Vi a l tham bin, b l tham tr thỡ khai bỏo no trong cỏc khai bỏo
sau õy l ỳng?
A. Procedure M(Var a:Integer ; b: Integer );
B. Procedure M(a,b: Integer );
C. Procedure M(Var a,b: Integer );
D. Procedure M(a: Integer ; Var b: Integer ) ;
ỏp ỏn: A
Cõu2: Giỏ tr tng ng ca cỏc bin a, b, c, d sau khi chy chng trỡnh:
Progam Cau2;
Procedure Tong_hieu(Var a, b: Integer; c: Integer );
Begin
a:= c b ;
b:= a + c ;
c:= a*b ;
End;
Begin
clrscr;
a:= 3; b:= 5; c:= 10;
Tong_hieu(a,b,c);
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
12
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
Write(a,b,c);
Readln;
End.
A. 3 5 10
B. 5 5 10
C. 5 -5 10
D. 5 -5 -25
ỏp ỏn: C
Cõu 3: Kt qu sau khi thc hin chng trỡnh sau?
program Cau3;
Var x:integer;
Procedure Thaydoi( x:integer);
Begin
x:=1;
end;
Begin
x:=0; Thaydoi(x); Writeln(x:3);
readln
End.
A. 1
B. 0
C. 1 0
D. 0 1
ỏp ỏn: B
Cõu 4: Kt qu sau khi thc hin chng trỡnh sau?
program Cau4;
Var x:integer;
Procedure Thaydoi( x:integer);
Begin
Write(x:3)
x:=1;
end;
Begin
x:=0; Thaydoi(x); Writeln(x:3);
readln
End.
A. 1
B. 0
C. 1 0
D. 0 1
ỏp ỏn: D
Cõu 5: Kt qu sau khi thc hin chng trỡnh sau?
Program Cau5;
Var a: Byte;
Function F(Var x:Byte):Byte;
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
13
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
Begin
x:=x+1; F:=x;
End;
Begin
a:=5; Writeln(F(a));
Readln;
End.
A. 5
B. 11
C. 6
D. 13
ỏp ỏn: C
Cõu 6: Kt qu sau khi thc hin chng trỡnh sau?
Program Cau6;
Var a, b, c: Byte;
Function F(Var x: Byte; y: Byte): Byte;
Begin
x:=x+y;
F:=x + y;
End;
Begin
a:=5;
b:= 10;
c := 2* F(a,b);
Writeln(c);
End.
A.
15
B.
25
C.
30
D.
50
ỏp ỏn: D
Cõu 7: Kt qu sau khi thc hin chng trỡnh sau?
Program Cau6;
Var a, b, c: Byte;
Function F(Var x: Byte; y: Byte): Byte;
Begin
x:=x+y;
F:=x + y;
End;
Begin
a:=5;
b:= 10;
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
14
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
c := F(a,b) + F(a,b);
Writeln(c);
End.
A.
60
B.
50
C.
30
D.
20
ỏp ỏn: A
Cõu 8: Vi phn khai bỏo tờn th t c:
Procedure N( x:Integer ; Var y:Integer );
m l bin nguyờn, cỏc li gi sau õy li gi no l hp l?
A.
N(m,m+3);
B.
N(2,m);
C.
N(m+1,4);
D.
N(2,3*m+5);
ỏp ỏn: B
Cõu 9: Cho bit chng trỡnh sau lm vic gỡ?
Program
Cau9;
Var n:longint;
Begin
Function gt(n: longint):longint;
Begin
If n = 1 then gt:= 1
Else gt := gt * gt;
End;
Begin
Write(nhap n > 0:); Readln;
Writeln(gt(n));
Readln;
End.
Write(nhap n:); Readln(n);
Writeln(gt(n));
Readln;
End.
Chng trỡnh dựng hm tớnh n! vi n c nhp t bn phớm.
V. KT QU THC NGHIM
Sau mt thi gian ỏp d ng phng phỏp trờn c 2 nh m hc sinh c hc
lc m n tng ng nhau, gm:
- Nhúm A: c sinh cỏc lp 11B3, 11B4
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
15
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
- Nhúm B: c sinh cỏc lp 11B1, 11B2
Kt qu thu c c th nh sau:
Th ng qua vic kim tra bi c, kim tra 15 kt qu thu c l
+ Nhúm A: (s s d ng phng phỏp mi) c trờn 80% hon thnh c
nhng yờu cu giỏo viờn a ra.
+ Nhúm B: (kh ng s d ng nh m i chng), ch c gn 60% hc sinh
hon thnh c yờu cu kim tra kin thc ca giỏo viờn.
T kt qu thu c rừ rng nh vy, nờn vic ỏp d ng s d ng phng
phỏp nhng kt qu rừ rt. Th hin bng kt qu hc tp ca hc sinh nh
sau:
Bng kt qu hc lc mụn Tin hc k I. nm hc 2012 2013
43
41
43
Hs cú hc
lc gii
04
05
05
Hs cú hc lc
khỏ
29
27
29
Hs cú hc
lc TB
10
09
09
T l hs cú hc lc Khỏ
tr lờn (%)
76.0
78.1
79.1
44
06
28
10
77.2
Lp
S s
11B1
11B2
11B3
11B4
Bng kt qu kim tra ti cỏc lp sau khi thc nghim
Lp
S s
Hs cú hc
lc gii
Hs cú hc
lc khỏ
Hs cú hc
lc Tb
T l hs cú hc lc Tb tr
lờn (%)
11B1
11B2
11B3
11B4
43
41
43
44
05
05
07
09
29
29
34
37
09
07
02
0
79.1
82.9
95.3
100.0
T kt qu trờn, t i nhn thy:
i vi giỏo viờn: C ng vic ging dy tr nờn nh nhng, thoi mỏi hn,
vic x lý cỏc tỡnh hung trong dy hc tr nờn linh hot giao tip trong tit hc
gia thy v trũ cng tr kh ng cng thng.
i vi hc sinh: cỏc em cng thy gi hc nh nhng hn c hng thỳ i
vi tit hc do vy m vic tip thu kin thc c hiu qu hn v c bit gi
thc hnh sau c hiu qu rừ rt.
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
16
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
PHN KT LUN V KIN NGH
Kt lun
B m n Tin hc l mt b m n mi v kh i vi hc sinh bi tớnh phc
tp v kh nng ng d ng ca n i vi i sng thc t.
Dy Tin hc ó kh - Dy th no hc sinh c th mau ch ng nm bt
kin thc v vn d ng hnh tho kin thc vo cỏc bi tp thc hnh li cng ũi
hi ngi giỏo viờn phi c nhiu c gng, c phng phỏp dy hc sỏng to c
th ỏp ng ngy cng cao yờu cu ca m n hc.
Trờn õy l nhng kinh nghim nh ca bn thõn trong vic ging dy hc
sinh nhn bit v tham bin v tham tr trong chng trỡnh c s d ng chng
trỡnh con ca ng n ng lp trỡnh PASCAL m t i a ra ng nghip tham
kho g p ý kin.
Rt mong nhn c nhng ng g p ca ng nghip bn thõn t i núi
riờng v giỏo viờn tin hc n i chung c th c nhng cỏch dy hay v phự hp
vi c trng b m n, vi mi bi hc v i tng hc sinh.
Kin ngh
Trờn c s vt cht hin c ca Nh trng i vi b m n tin hc, vic
vic dy v hc ca thy v trũ cũn gp rt nhiu kh khn, nh: thit b kh ng
ng b, mỏy ang cũn l dng phũng hc ci to nờn kh ng m bo c v tiờu
chun v cht lng.
Vỡ vy, c th nõng cao cht lng hn na, rt mong Nh trng cng
nh s, ngnh c kt hoch u t v c s vt cht cng nh, to iu kin
quan tõm i vi i ng giỏo viờn tin hc v c bit xõy dng c mt i
ng qun tr cỏc phũng mỏy ti cỏc Nh trng.
Xin chõn thnh cm n!
XC NHN
CA TH TRNG N V
Thanh Húa, ngy15 thỏng 5 nm 2013
Tụi xin cam oan õy l SKKN ca mỡnh vit,
khụng sao chộp ni dung ca ngi khỏc.
Ngi vit
Lấ ANH DNG
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
17
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
TI LIU THAM KHO
1.
S m - Cm H - Trn Hựng - Nguyn c Ngha Nguyn Thnh Tựng - Ngụ ỏnh Tuyt . Tin hc 11(SGK), NXB Giỏo D c.
2.
S m - Cm H - Trn Hựng - Nguyn c Ngha Nguyn Thnh Tựng - Ngụ ỏnh Tuyt . Tin hc 11(SGV), NXB Giỏo D c.
3. Lờ Khc Thnh - Cm H - Nguyn V Quc ng. Ti liu bi
dng thng xuyờn cho GV THPT chu k III (2004 - 2007).
4. Quỏch Tun Ngc. Ngụn ng lp trỡnh PASCAL (lý thuyt v bi tp).
5. Xuõn L i. Cu trỳc d liu v gii thut, NXB Quc Gia
Ni
6. Bỏch khoa ton th m
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
18
Nhận biết về truyền tham biến và tham trị trong
Ch-ơng trình con bằng mô tả lệnh
MC LC
Ni dung
Trang
Phn m u
1
1
2
2
2
2
2
3
3
4
5
5
5
6
12
15
17
I. Lý do chn ti
II. M c ớch ca SKKN
III. Khỏch th v i tng nghiờn cu
IV. Nhim v nghiờn cu
V. Phng phỏp nghiờn cu
VI. Nhng ng g p mi
Phn ni dung
I. C s lý lun
II. C s thc tin
III. t vn
IV. Gii quyt vn
1. Khỏi nim v tham bin v tham tr
2. Truyn tham s khi dựng tham bin v tham tr
3. Mt s bi tp kim tra.
V. Kt qu thc nghim
Phn kt lun v kin ngh
Design: Lê Anh Dũng - tr-ờng THPT Lê Văn H-u
19