MỤC LỤC Trang
A. ĐẶT VẤN ĐỀ 1
B. GIẢI QUYẾT VẤN ĐỀ 2
1. Cơ sở lí luận của vấn đề 2
1.1. Một số khái niệm 2
1.2. Các loại câu lệnh rẽ nhánh 3
2. Thực trạng của vấn đề nghiên cứu 4
2.1. Thực trạng chung 4
2.2. Thực trạng giáo viên 4
2.3. Thực trạng học sinh 4
3. Một số giải pháp nhằm nâng cao hiệu quả dạy học câu lệnh rẽ nhánh 5
3.1. Nâng cao hiêu quả dạy học câu lệnh rẽ nhánh thông qua một số bài tập 5
3.2. Một số giải pháp khác 16
4. Kiểm nghiệm 16
C. KẾT LUẬN, ĐỀ XUẤT 19
Tài liệu tham khảo 20
Sáng Kiến kinh nghiệm Tin học 11 Năm học 2012 - 2013
A. T VN
Cụng ngh thụng tin l mt nghnh khoa hc phỏt trin rt mnh m v cú
nhiu ng dng trong hu ht cỏc lnh vc. Mụn Tin hc mi c a vo
ging dy chớnh thc trong cỏc trng hc nờn cũn khỏ mi m vi hc sinh núi
chung v hc sinh THPT núi riờng.
i tng hc sinh m tụi trc tip ging dy l hc sinh khi 11 vi cỏc lp
11A9, 11B9, 11C9, 11D9 trng THPH Lờ Vit To, huyn Hong Húa, tnh
Thanh Húa. L mt trng mi c chuyn sang mụ hỡnh cụng lp nờn phn
ln cỏc em cú lc hc trung bỡnh v yu, c s vt cht cũn nhiu thiu thn nờn
vic ging dy v hc tp cũn gp khụng ớt khú khn.
Trong quỏ trỡnh ging dy mụn Tin hc cho cỏc em hc v ngụn ng lp trỡnh
c th l ngụn ng lp trỡnh Pascal, l mt phn ni dung cú th núi l khú nht
trong chng trỡnh tin hc THPT. Thc t khi ging dy cho cỏc em v cõu lnh
r nhỏnh tụi thy cỏc em cũn gp nhiu khú khn trong vic xỏc nh cỏc cõu
biu thc iu kin, sau ú l kớ hiu then.
Ng ngha (sematics): Quy c v ý ngha ca kớ hiu. Vớ d trong
ngụn ng Pascal: du + biu th cho phộp cng, du - biu th cho du tr Phỏt
biu u if then cú ngha l nu thỡ lm .
Chng trỡnh (program): L mt tp hp cỏc mụ t, cỏc phỏt biu, nm
trong mt h thng quy c v ý ngha v th t thc hin, nhm iu khin
mỏy tớnh lm vic.
c. Khỏi nim r nhỏnh:
gii mt s bi tp trờn mỏy tớnh ta thng s dng mt s mnh cú
dng nh:
Nu Thỡ
Nu Thỡ Nu khụng thỡ
Cỏc cu trỳc nh trờn c gi l cu trỳc r nhỏnh.
1.2. Cỏc loi cõu lnh r nhỏnh trong ngụn ng lp trỡnh pascal.
a. Cõu lnh r nhỏnh dng thiu:
Cỳ phỏp:
IF <iu kin> THEN <cõu lnh>;
Lơng Ngọc Hoàng THPT Lê Viết Tạo
3
S¸ng KiÕn kinh nghiÖm Tin häc 11 N¨m häc 2012 - 2013
Trong đó:
- IF, THEN là các từ khóa của Pascal
- Điều kiện là biểu thức quan hệ hoặc biểu thức logic
- Câu lệnh là một lệnh của Pascal.
b. Câu lệnh rẽ nhánh dạng đủ:
IF <điều kiện> THEN <câu lệnh 1> ELSE <câu lệnh 2>;
Trong đó:
- IF, THEN, ELSE là các từ khóa của Pascal
- Điều kiện là biểu thức quan hệ hoặc biểu thức logic
- Câu lệnh 1, câu lệnh 2 là một lệnh của Pascal.
trỳc v cu trỳc r nhỏnh l mt cu trỳc quan trng giỳp cỏc em hc tt lp trỡnh
Pascal.
2.2. Thc trng giỏo viờn:
L mt giỏo viờn tr mi ra trng nng ng nhit tỡnh trong ging dy.
Nhng kinh nghim ging dy cũn ớt, c s vt cht cũn thiu nờn nh hng
khụng nh ti cht lng ging dy.
2.3 Thc trng hc sinh:
L mt trng mi chuyn sang mụ hỡnh cụng lp, hc lc ca hc sinh ch
yu mc trung bỡnh. Tin hc l mt mụn hc cũn khỏ mi m i vi hc sinh
nờn vic tip cn cũn nhiu b ng. Do c s vt cht cũn thiu nờn hc sinh
cha c thc hnh trờn mỏy. Vic dy v hc ch yu l hc lớ thuyt nờn vic
tip thu kin thc cũn hn ch. i vi cõu lnh r nhỏnh l mt cu trỳc khú v
rt cn thit khi gii bi tp pascal nhng kh nng tip thu ca hc sinh cũn
thp cũn gp nhiu khú khn khi lm cỏc bi tp v cõu lnh r nhỏnh.
3. Mt s bi tp tiờu biu nhm nõng cao hiu qu dy hc cõu lnh r
nhỏnh.
3.1. Nõng cao hiu qu dy hc cõu lnh r nhỏnh trong bi 9 sỏch giỏo khoa
tin hc 11 thụng qua mt s bi tp tiờu biu
a ra mt s bi tp tiờu biu cú s dng cu trỳc r nhỏnh hc sinh tho
lun v vit cõu lnh, vit chng trỡnh qua ú giỳp cỏc em nm vng kin thc
v cu trỳc r nhỏnh v vn dng nú linh hot, khoa hc trong cỏc chng trỡnh.
Lơng Ngọc Hoàng THPT Lê Viết Tạo
5
S¸ng KiÕn kinh nghiÖm Tin häc 11 N¨m häc 2012 - 2013
Cũng cố kiến thức lập trình nói chung và cấu trúc rẽ nhánh nói riêng. Qua đó
tạo hứng thú trong học tập cho học sinh đối với ngôn ngữ lập trình Pascal.
Hình thành ở học sinh kỹ năng phân tích, xử lý các vấn đề áp dụng các kiến
thức liên quan về cấu trúc rẽ nhánh trong quá trình lập trình các chương trình
sau này.
a. Một số bài tập về câu lệnh rẽ nhánh dạng thiếu:
Ở câu lệnh IF b>a THEN. Hoạt động cũng tương tự trên.}
Trường hợp 2: có thể dùng 1 câu lệnh rẽ nhánh dạng thiếu để tìm ra số lớn
hơn (max)
…
max:=a;
IF max < b THEN max:=b;
. . .
{ max là kết quả lớn nhất cần tìm.}
? Giáo viên có thể đưa ra câu hỏi nếu như trong trường hợp a và b bằng nhau
thì giá trị Max là bao nhiêu trong 2 trường hợp trên?
Bài 3: Viết chương trình sắp xếp 3 số nguyên a, b, c được nhập từ bàn phím
theo chiều không giảm (tăng dần) và đưa kết quả sắp xếp ra màn hình.
Chương trình:
Program bai_2;
Uses crt;
Var a,b,c: integer;
tg: integer;
Begin
Clrscr;
Writeln(‘moi nhap vao a,b,b’);
Readln(a,b,c);
Writeln (‘ba so vua nhap la:’, a:5,b:5,c:5);
if a> b then
begin
tg:=a; a:=b; b:=tg;
L¬ng Ngäc Hoµng – THPT Lª ViÕt T¹o
7
Sáng Kiến kinh nghiệm Tin học 11 Năm học 2012 - 2013
end;
if b> c then
S¸ng KiÕn kinh nghiÖm Tin häc 11 N¨m häc 2012 - 2013
Chương trình:
Program bai_3;
Uses crt;
Var a,b:real;
Begin
Clrscr;
Writeln(‘moi nhap vao cac he so a, b:’);
Readln(a,b);
If (a = 0) and (b = 0) then
Writeln(‘phuong trinh co vo so nghiem’);
If (a = 0) and (b <> 0) then
Writeln(‘phuong trinh vo nghiem’);
If (a <> 0) then
Writeln(‘phuong trinh co 1 nghiem:’,-b/a:6:2);
Readln;
End.
Bài 5: Trong một giải bóng đá phong trào có 3 đội bóng (A,B,C) tham gia các
đội thi đấu với nhau theo vòng tròn một lượt tính điểm. Điểm của mỗi đội được
tính theo luật của FIFA thắng được cộng 3 điểm, hòa được cộng 1 điểm thua
cộng 0 điểm. Kết quả các trận đấu như sau: đội A gặp B có tỉ số là x:y, kết quả
trận A gặp C có tỉ số là r:s, kết quả trận B gặp C có tỉ số là u:v.
Viết chương trình nhập vào tỉ số của các trận đấu thực hiện tính điểm của các
đội và xếp thứ hạng các đội theo tổng số điểm giảm dần.
Hướng dẫn – chương trình:
Khi một trận đấu kết thúc thì có 3 khả năng sảy ra cho từng đội này.
- Thắng: được cộng vào tổng điểm là 3.
- Hòa: được cộng vào tổng điểm là 1.
- Thua: cộng vào tổng điểm là 0.
L¬ng Ngäc Hoµng – THPT Lª ViÕt T¹o
If u=v Then
Lơng Ngọc Hoàng THPT Lê Viết Tạo
10
S¸ng KiÕn kinh nghiÖm Tin häc 11 N¨m häc 2012 - 2013
Begin
DB:=DB+1; DC:=DC+1;
End;
{sap xep diem giam dan}
if DA< DB then
Begin
tg:=DA; DA:=DB; DB:=tg;
End;
if DB < DC then
Begin
tg:=DB; DB:=DC; DC:=tg;
End;
if DA< DB then
Begin
tg:=DA; DA:=DB; DB:=tg;
End
writeln(‘ ket qua diem cac doi :’, DA:5, DB:5, DC:5);
End.
b. Một số bài tập về câu lệnh rẽ nhánh dạng đủ:
Bài 1: Hãy cho biết giá trị của x sau đoạn chương trình sau với a=10, b=15
IF a>b THEN x:=a
ELSE x:=b;
Để làm được bài trên học sinh cần nắm vững cấu trúc và hoạt động của câu lệnh
rẽ nhánh dạng đủ.
Hướng dẫn:
Học sinh cần trả lời hai câu hỏi sau:
2
+ bx + c = 0.
Hng dn phõn tớch bi toỏn chng trỡnh:
bi toỏn ny thỡ hc sinh thng hay nhm ln vi bi toỏn l tỡm nghim ca
phng trỡnh bc hai. Ta cú th phõn tớch bi toỏn nh sau ri mi ci t
chng trỡnh trờn mỏy.
Lơng Ngọc Hoàng THPT Lê Viết Tạo
12
S¸ng KiÕn kinh nghiÖm Tin häc 11 N¨m häc 2012 - 2013
Trường hợp 1: Nếu a = 0 thì phương trình thành dạng phương trình bậc nhất
dạng này thì học sinh đã biết cách biện luận.
Trường hợp 2: Nếu a # 0 thì ta tính biệt số Delta của phương trình bậc hai và
biện luận theo biệt số Delta.
Để mô tả 2 trường hợp trên vào chương trình Pascal ta có thể dùng câu lệnh
rẽ nhánh dạng đủ như sau:
Chương trình.
Program bai_1;
Uses crt;
Var a,b,c,delta: integer;
x1, x2:real;
Begin
Clrscr;
Write(‘nhap vao cac he so a, b, c:’); Readln(a,b,c);
If a = 0 then
Begin
If (b = 0) and (c = 0) then
Writeln(‘phuong trinh co vo so nghiem’);
If (b = 0) and (c <> 0) then
Writeln(‘phuong trinh vo nghiem’);
If (b <> 0) then
<danh sách N>: <câu lệnh N>
[ ELSE <câu lệnh N + 1>]
END;
Hoạt động:
Nếu biểu thức nguyên hoặc kí tự là danh sách 1 thì câu lệnh 1 được thực hiện
nếu biểu thức nguyên hoặc kí tự là danh sách 2 thì câu lệnh 2 được thực
hiện câu lệnh N được thực hiện ngược lại câu lệnh N+1 được thực hiện.
Bài 1: Lập chương trình nhập vào từ bàn phím một tháng và một năm bất kỳ
thực hiện tính và đưa ra số ngày của tháng.
Hướng dẫn – Lời giải.
L¬ng Ngäc Hoµng – THPT Lª ViÕt T¹o
14
Sáng Kiến kinh nghiệm Tin học 11 Năm học 2012 - 2013
Nh cỏc em u bit l s ngy ca cỏc thỏng 4, 6, 9, 11 cú s ngy l 30;
s ngy ca cỏc thỏng 3, 5, 7, 8, 10, 12 cú s ngy l 31; s ngy ca thỏng 2
nm nhun l 29 s ngy ca thỏng 2 nm khụng nhun l 28.
i vi bi toỏn ny thỡ hc sinh thng s dng cõu lnh IF THEN
lp trỡnh. M cõu lnh IF THEN gii quyt vic r nhỏnh tựy theo mt trong
hai kh nng. Bi toỏn trờn liờn quan ti vic chn la mt trong nhiu kh nng
(r nhiu nhỏnh). Khi ú nu dựng cõu lnh r nhỏnh IF - THEN s lm cho
chng trỡnh ri rm, rm ra vỡ vy ta nờn gii thiu, hng dn hc sinh s
dng cõu lnh CASE OF
Chng trỡnh:
Program so_ngay_cua_thang;
Uses crt;
Var T, N, SN: integer;
Begin
Clrscr;
Write(nhap vao thang va nam);
Readln( T,N);
- Hc sinh cn hc v lm bi tp nh y theo yờu cu ca giỏo
viờn.
4. Kim nghim
Thụng qua vic ỏp dng cỏc gii phỏp trờn ó giỳp cỏc em thỏo g c
nhng khú khn, vng mc khi gii cỏc bi toỏn tin hc núi chung v cỏc bi
tp cú s dng cu trỳc r nhỏnh núi riờng. Giỳp cỏc em cú s hiu bit sõu sc
v cu trỳc r nhỏnh to cho cỏc em hng thỳ hc tp v to ra phong tro hc
tp tt hn trong hc sinh i vi mụn hc.
KT QU T C
Sau khi dy cho cỏc em nhng bi tp cn bn v cõu lnh r nhỏnh tụi ó cú
bi kim tra ỏp dng cho hc sinh cỏc lp v kt qu t c nh sau:
bi:
Cõu 1: Cho on chng trỡnh pascal sau:
Lơng Ngọc Hoàng THPT Lê Viết Tạo
16
S¸ng KiÕn kinh nghiÖm Tin häc 11 N¨m häc 2012 - 2013
x:=a;
If a>b Then x:=a+b;
Cho a=10 và b = 15 thì sau đoạn chương trình trên giá trị của x là bao
nhiêu?
A. x =10 B. x =15 C. x =25 D.x =5
Câu 2: Cho đoạn chương trình pascal sau:
If a>b Then x:=a
Else x:=b;
Với a=15 và b=10 sau đoạn chương trình trên giá trị của x là bao nhiêu?
A. x =10 B. x =15 C. x =25 D.x =5
Câu 3: Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng?
A. If <điều kiện> Then <câu lệnh 1>; Else <câu lệnh 2>;
B. If <điều kiện> Then <câu lệnh 1>; Else <câu lệnh 2>
C. If <điều kiện> Then <câu lệnh 1> Else <câu lệnh 2>;
(5
)7<
S HS t
im Yu
(3,5
)5<
S HS t im
Kộm
(0
)5,3<
11B9 48 2HS=4.2% 10HS=20.8% 25HS=52.1% 10HS=20.8% 1HS=2.1%
11C9 50 2HS=4% 11HS=22% 25HS=50% 11HS=22% 1HS=2%
Kt qu cỏc lp t c sau khi thc nghim:
Lp
Tng
s HS
S HS t
im gii
(8,5
)10
S HS t
im khỏ
(7
)5,8<
S HS t
Sáng Kiến kinh nghiệm Tin học 11 Năm học 2012 - 2013
Vi nghiờn cu ny tụi ó thu c kt qu khỏ kh quan vi vic dy cõu
lnh r nhỏnh. Hu ht cỏc em u nm rừ cỳ phỏp, hot ng ca cõu lnh cõu
lnh v vn dng nú vo cỏc bi tp c th khỏ tt. Tụi rt hi lũng vi kt qu
t c.
Do tớnh a dng v c thự ca mụn hc dự ó cú s c gng nhng khú
trỏnh khi nhng thiu sút, sai lm rt mong cỏc ng nghip v cỏc em hc
sinh giỳp giỳp cỏc em hc tt hn.
TI LIU THAM KHO
1. H S m Nguyn Thanh Tựng: Bi Tp Tin Hc 11 Nh xut bn giỏo
dc.
2. Trn Doón Vinh: Hc Tt Tin Hc 11 Nh xut bn i hc quc gia H
Ni.(xut bn nm 2009).
3. H Cm H (Ch biờn): Bi Tp Trc Nghim V Kim Tra Tin Hc 11
Nh xut bn giỏo dc.
4. H Cm H (ch biờn), Lờ Khc Thnh, Nguyn Chớ Trung: Dy hc theo
chun kin thc k nng mụn tin hc 11 Nh xut bn i hc s phm.
5. Mai Hng (Ch biờn) : T Hc Lp Trỡnh Pascal Nh xut bn vn húa
thụng tin.
Lơng Ngọc Hoàng THPT Lê Viết Tạo
19