Tải bản đầy đủ (.doc) (19 trang)

SKKN Một số bài tập tiêu biểu nhằm nâng cao hiệu quả dạy học câu lệnh rẽ nhánh trong bài 9 sách giáo khoa Tin học 11 THPT LÊ VIẾT TẠO

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (196.33 KB, 19 trang )

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 VẤN ĐỀ

Công nghệ thông tin là một nghành khoa học phát triển rất mạnh mẽ và có
nhiều ứng dụng trong hầu hết các lĩnh vực. Môn Tin học mới được đưa vào
giảng dạy chính thức trong các trường học nên cịn khá mới mẻ với học sinh nói
chung và học sinh THPT nói riêng.
Đối tượng học sinh mà tôi trực tiếp giảng dạy là học sinh khối 11 với các lớp


11A9, 11B9, 11C9, 11D9 trường THPH Lê Viết Tạo, huyện Hoằng Hóa, tỉnh
Thanh Hóa. Là một trường mới được chuyển sang mơ hình cơng lập nên phần
lớn các em có lực học trung bình và yếu, cơ sở vật chất còn nhiều thiếu thốn nên
việc giảng dạy và học tập cịn gặp khơng ít khó khăn.
Trong q trình giảng dạy môn Tin học cho các em học về ngơn ngữ lập trình
cụ thể là ngơn ngữ lập trình Pascal, là một phần nội dung có thể nói là khó nhất
trong chương trình tin học THPT. Thực tế khi giảng dạy cho các em về câu lệnh
rẽ nhánh tôi thấy các em cịn gặp nhiều khó khăn trong việc xác định các câu
lệnh (cú pháp câu lệnh, hoạt động của câu lệnh) cần dùng để giải bài tập. Cấu
trúc rẽ nhánh là một cấu trúc quan trọng trong các cấu trúc cơ bản của ngơn ngữ
lập trình Pascal mà học sinh bắt buộc phải nắm được nếu muốn làm bài tập về
lập trình Pascal. Nên ngồi việc dạy cho các em về câu lệnh rẽ nhánh bằng
những lý thuyết và bài tập trong sách giáo khoa tơi cịn giảng dạy câu lệnh này
cho các em thông qua một số bài tập tiêu biểu có sử dụng câu lệnh rẽ nhánh,
nhằm giúp các em nắm vững câu lệnh rẽ nhánh qua đó giúp các em u thích và
hứng thú học tập mơn Tin học hơn. Trong q trình giảng dạy câu lệnh rẽ nhánh
ở các lớp tôi đã rút ra được một số bài tập hay khi dạy về câu lệnh này. Dưới đây
tơi xin trình bày về sáng kiến: “Một số bài tập tiêu biểu nhằm nâng cao hiệu
quả dạy học câu lệnh rẽ nhánh trong bài 9 sách giáo khoa tin học 11 ”. Rất

mong được sự tham khảo góp ý của các giáo viên và học sinh về sáng kiến kinh
nghiệm này để giúp tơi có những bài giảng hay giúp học sinh học tốt môn Tin
học hn.
B. GII QUYT VN
Lơng Ngọc Hoàng THPT Lê ViÕt T¹o

2


Sáng Kiến kinh nghiệm Tin học 11


Năm học 2012 - 2013

1. Cơ sở lý luận của vấn đề
1.1. Một số khái niệm
a. Khái niệm lập trình:
Lập trình (programming): Là nghệ thuật cài đặt một hoặc nhiều thuật tốn
trừu tượng có liên quan với nhau bằng một ngơn ngữ lập trình để tạo ra một
chương trình máy tính.
b. Khái niệm ngơn ngữ lập trình:
Ngơn ngữ lập trình (programming language): Là một hệ thống các kí hiệu
tuân theo các quy ước về ngữ pháp và ngữ nghĩa, dùng để xây dựng các chương
trình cho máy tính.


Ngữ pháp (syntax): Quy ước về quan hệ giữa các ký hiệu. Ví dụ trong

ngơn ngữ Pascal: các ký hiệu Begin, end phải đi thành từng cặp, sau if sẽ là một
biểu thức điều kiện, sau đó là kí hiệu then.


Ngữ nghĩa (sematics): Quy ước về ý nghĩa của kí hiệu. Ví dụ trong

ngơn ngữ Pascal: dấu + biểu thị cho phép cộng, dấu - biểu thị cho dấu trừ …Phát
biểu u if … then … có nghĩa là “nếu … thì làm …”.


Chương trình (program): Là một tập hợp các mô tả, các phát biểu, nằm

trong một hệ thống quy ước về ý nghĩa và thứ tự thực hiện, nhằm điều khiển

máy tính làm việc.
c. Khái niệm rẽ nhánh:
Để giải một số bài tập trên máy tính ta thường sử dụng một số mệnh đề có
dạng như:
Nếu ... Thì...
Nếu ... Thì... Nếu khơng thì ...
Các cấu trúc như trên được gọi là cấu trúc rẽ nhánh.
1.2. Các loại câu lệnh rẽ nhánh trong ngôn ngữ lập trình pascal.
a. Câu lệnh rẽ nhánh dạng thiếu:
Cú pháp:
IF <điều 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.

1.3. Sơ đồ khối
a. Sơ đồ khối của câu lệnh rẽ nhánh dạng thiếu:
Câu lệnh

Điều kiện

Hoạt động: Nếu biểu thức điều kiện đúng thì câu lệnh được thực hiện điều
kiện sai câu lệnh bị bỏ qua.
b. Sơ đồ khối của câu lệnh rẽ nhánh dạng đủ:

Câu lệnh 2

Sai

Điều
kiện

Đúng

Câu lệnh 1

Hoạt động: Nếu biểu thức điều kiện đúng thì câu lệnh 1 được thực hiện điều
kiện sai câu lệnh 2 được thực hiện.
2. Thực trạng của vấn đề nghiên cứu
2.1. Thực trạng chung:
Có thể nói chương trình tin học lớp 11 là phần khó nhất trong chương trình
tin học THPT. Vì nó đề cập tới nhiều khái niệm mới mẽ đối với học sinh. Học
sinh phải kết hợp nhiều kiến thức, kỹ năng ở nhiều lĩnh vc khỏc nhau vo

Lơng Ngọc Hoàng THPT Lê ViÕt T¹o


4


Sáng Kiến kinh nghiệm Tin học 11

Năm học 2012 - 2013

giải bài toán tin học, mặt khác do là trường mới được chuyển sang mơ hình cơng
lập nên chất lượng đầu vào của học sinh không cao hầu hết lực học ở mức trung
bình và yếu, cở sở vật chất còn thiếu thốn nên việc giảng dạy còn gặp nhiều khó
khăn. Tuy nhiên mọi thứ đều phải có điểm khởi đầu của nó, với việc học lập
trình Pascal nó là điểm khởi đầu giúp học sinh bước đầu tiếp cận với ngơn ngữ
lập trình bậc cao qua đó giúp các em có thêm định hướng trong học tập, nghề
nghiệp sau này và yêu thích học tin học hơn. Pascal là ngơn ngữ lập trình có cấu
trúc và cấu trúc rẽ nhánh là một cấu trúc quan trọng giúp các em học tốt lập trình
Pascal.
2.2. Thực trạng giáo viên:
Là một giáo viên trẻ mới ra trường năng động nhiệt tình trong giảng dạy.
Nhưng kinh nghiệm giảng dạy cịn ít, cở sở vật chất cịn thiếu nên ảnh hưởng
khơng nhỏ tới chất lượng giảng dạy.
2.3 Thực trạng học sinh:
Là một trường mới chuyển sang mơ hình cơng lập, học lực của học sinh chủ
yếu ở mức trung bình. Tin học là một mơn học cịn khá mới mẻ đối với học sinh
nên việc tiếp cận còn nhiều bỡ ngỡ. Do cơ sở vật chất còn thiếu nên học sinh
chưa được thực hành trên máy. Việc dạy và học chủ yếu là học lí thuyết nên việc
tiếp thu kiến thức cịn hạn chế. Đối với câu lệnh rẽ nhánh là một cấu trúc khó và
rất cần thiết khi giải bài tập pascal nhưng khả năng tiếp thu của học sinh còn
thấp còn gặp nhiều khó khăn khi làm các bài tập về câu lệnh rẽ nhánh.
3. Một số bài tập tiêu biểu nhằm nâng cao hiệu quả dạy học câu lệnh rẽ

nhánh.
3.1. Nâng cao hiệu quả dạy học câu lệnh rẽ nhánh trong bài 9 sách giáo khoa
tin học 11 thông qua một số bài tập tiêu biểu
Đưa ra một số bài tập tiêu biểu có sử dụng cấu trúc rẽ nhánh để học sinh thảo
luận và viết câu lệnh, viết chương trình qua đó giúp các em nắm vững kiến thức
về cấu trúc rẽ nhánh và vận dụng nó linh hoạt, 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:
Bài 1: Hãy cho biết giá trị của biến x là bao nhiêu sau đoạn chương trình sau với
a= 10 và b= 15.

x:=a;
IF a
Để làm được bài này học sinh phải nắm được cú pháp và hoạt động của câu lệnh
rẽ nhánh dạng thiếu và câu lệnh gán đã được học ở các bài trước.

Hướng dẫn: Tôi đặt ra hai câu hỏi như sau và yêu cầu học sinh trả lời.
?1 Biểu thức điều kiện a?2 Câu lệnh gán x:=b có được thực hiện khơng?
Học sinh trả lời được hai câu hỏi trên thì sẽ tìm được giá trị của x.
Bài 2: Viết câu lệnh rẽ nhánh dạng thiếu thực hiện việc tìm giá trị lớn hơn trong
hai số nguyên a và b được nhập từ bàn phím.
Hướng dẫn – lời giải:
Trường hợp 1: có thể sử dụng 2 câu lệnh rẽ nhánh dạng thiếu để tìm ra số lớn
hơn (max)

IF a>b THEN max:=a;
IF b>a THEN max:=b;

{Hoạt động của hai câu lệnh rẽ nhánh trên (phần này có thể cho học sinh nêu
sau đó giáo viên tổng hợp lại):
L¬ng Ngäc Hoàng THPT Lê Viết Tạo

6


Sáng Kiến kinh nghiệm Tin học 11

Năm học 2012 - 2013

Ở câu lệnh IF a>b THEN. Đầu tiên máy tính sẽ kiểm tra điều kiện a>b nếu
đúng thì câu lệnh gán max:=a; được thực hiện sau đó chuyển tới câu lệnh tiếp
sau, cịn nếu điều kiện a>b sai thì câu lện gán max:=a; không được thực hiện
và chuyển tới câu lệnh tiếp sau.
Ở 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
begin
tg:=b; b:=c; c:=tg;
end;
if a> b then
begin
tg:=a; a:=b; b:=tg;
end;
writeln(‘ ket qua sap xep:’, a:5, b:5, c:5);
readln
End.
? Học sinh có thể đặt câu hỏi tại sao lại có câu lệnh rẽ nhánh thứ 3 lặp lại câu
lệnh thứ 1.
Để giải thích cho học sinh tơi thể hiện thuật tốn trên bằng bảng Test sau:
Bảng test thể hiện kết quả của a,b,c lần lượt qua các câu lệnh rẽ nhánh:
Tên biến
Giá trị ban đầu if a>b then… if b>c then … if a>b then…
a
3
2
2
1
b
2

3
1
2
c
1
1
3
3
Chú ý: ở câu lệnh rẽ nhánh thứ 3 tuy có sự lặp lại câu lệnh rẽ nhánh thứ nhất
nhưng bắt buộc phải có.
Bài 4: Viết chương trình nhập các hệ số a, b và tìm nghiệm của phương trình
ax + b=0.
Hướng dẫn – phân tích bài tốn – chương trình.
Giáo viên có thể hỏi học sinh cách tìm nghiệm của phương trình trên về mặt
tốn học sau đó chuyển sang lập trình (viết chương trình) bằng Pascal.
- Trường hợp 1: Nếu a=0 và b = 0 thì phương trình có vơ số nghiệm.
- Trường hợp 2: Nếu a=0 và b # 0 thì phương trình vơ nghiệm.
- Trường hợp 3: Nếu a # 0 thì phương trỡnh cú 1 nghim x= -b/a.
Lơng Ngọc Hoàng THPT Lê Viết Tạo

8


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

9



Sáng Kiến kinh nghiệm Tin học 11

Năm học 2012 - 2013

Vậy với mỗi trường hợp này thì ta sẽ dùng một câu lệnh rẽ nhánh dạng thiếu
để biểu diễn.
Sau khi thi đấu hết các trận ta thực hiện sắp xếp điểm cho các đội theo yêu
cầu của bài toán. Cách sắp xếp tương tự như bài 2.
Chương trình:
Program bai_4;
Uses crt;
Var

DA,DB,DC,tg: byte;
x,y,r,s,u,v:real;

Begin
Clrscr;
Write(‘nhap ti so tran A va B:’); Readln(x,y);
If x>y Then DA:=DA+3;
If xIf x=y Then
Begin
DA:=DA+1; DB:=DB+1;
End;
Write(‘nhap ti so tran A va C:’); Readln(r,s);
If r>s Then DA:=DA+3;
If rIf r=s Then

Begin
DA:=DA+1; DC:=DC+1;
End;
Write(‘nhap ti so tran B va C:’); Readln(u,v);
If u>v Then DB:=DB+3;
If uIf 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:
? biểu thức điều kiện a>b có đúng hay sai?
? câu lệnh nào được thực hiện?
 Học sinh trả lời giỏo viờn kt lun.
Lơng Ngọc Hoàng THPT Lê Viết T¹o

11


Sáng Kiến kinh nghiệm Tin học 11

Năm học 2012 - 2013

Bài 2: Lập chương trình nhập vào 3 số nguyên dương a, b, c kiểm tra xem 3 số
có lập thành giá trị độ dài 3 cạnh 1 tam giác hay khơng ?
Hướng dẫn – chương trình:
3 số ngun dương a, b,c lập thành độ dài 3 cạnh 1 tam giác khi thỏa mãn đồng
thời các điều kiện sau:
a+b>c

a+c>b
b+c>a
Chương trình.
Program

bai_1;

Uses crt;
Var a, b, c: word;
Begin
Clrscr;
Writeln(‘nhap vao 3 so nguyen duong:’);
Readln(a,b,c);
If (a + b > c) and (a + c > b) and (b + c > a) then
Writeln(‘3 so lap thanh 3 canh 1 tam giac’)
Else
Writeln(‘3 so khong lap thanh 3 canh 1 tam giac’);
Readln;
End.
Bài 3: Viết chương trình nhập các hệ số a, b, c và tìm nghiệm của phương trình
ax2 + bx + c = 0.
Hướng dẫn – phân tích bài tốn – chương trình:
Ở bài tốn này thì học sinh thường hay nhầm lẫn với bài tốn là tìm nghiệm của
phương trình bậc hai. Ta có thể phân tích bài tốn như sau rồi mới cài đặt
chương 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
Writeln(‘phuong trinh co 1 nghiem:’,-b/a:6:2);
End
Else
Begin
Delta:=b*b – 4*a*c;
If delta < 0 then
Writeln(phuong trinh vo nghiem)
Else
Lơng Ngọc Hoàng THPT Lê Viết Tạo

13


Sáng Kiến kinh nghiệm Tin học 11

Năm học 2012 - 2013
Begin
x1:= (-b + sqrt(delta))/(2*a);
x2:= (-b - sqrt(delta))/(2*a);
writeln(‘phuong trinh co nghiem’);
writeln(‘ x1=’,x1:6:2,’x2:=’,x2:6:2);
End;

End.
Chú ý: Khi viết các khối lệnh chúng ta nên trình bày theo các khối thẳng cột với
nhau các từ khóa Begin và End của cùng một khối thì viết thẳng cột với nhau,

các lệnh cùng cấp cũng được viết thẳng cột với nhau và thụt vào so với câu lệnh
cấp cao hơn.
Với các bài tập dùng câu lệnh rẽ nhánh dạng đủ có thể yêu cầu học sinh chuyển
sang dùng câu lệnh rẽ nhánh dạng thiếu và ngược lại.
c. Một số bài tập về câu lệnh CASE – OF (bài tập bổ trợ):
Cú pháp câu lệnh:
CASE <biểu thức nguyên hoặc ký tự> OF
<danh sách 1>: <câu lệnh 1>;
<danh sách 2>: <câu lệnh 2>;
………………………………
<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 gii.
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 biết là số ngày của các tháng 4, 6, 9, 11 có số ngày là 30;

số ngày của các tháng 3, 5, 7, 8, 10, 12 có số ngày là 31; số ngày của tháng 2
năm nhuận là 29 số ngày của tháng 2 năm không nhuận là 28.
Đối với bài tốn này thì học sinh thường sử dụng câu lệnh IF – THEN để
lập trình. Mà câu lệnh IF – THEN giải quyết việc rẽ nhánh tùy theo một trong
hai khả năng. Bài toán trên liên quan tới việc chọn lựa một trong nhiều khả năng
(rẽ nhiều nhánh). Khi đó nếu dùng câu lệnh rẽ nhánh IF - THEN sẽ làm cho
chương trình rối rắm, rườm ra vì vậy ta nên giới thiệu, hướng dẫn học sinh sử
dụng câu lệnh CASE – OF
Chương 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);
Case T of
1,3,5,7,8,10,12: SN:= 31;
4,6,9,11: SN:=30;
2: if (N mod 400 = 0)or((N mod 100<>0)and(N mod 4 = 0)) Then SN:= 29 else
SN:=28;
End;
Writeln(‘thang ‘,T,’ nam ‘,N,’ co ‘,SN,’ ngay’);
Readln
End.
Chú ý: Khi trình bày chương trình học sinh cần lưu ý các điểm sau:
Các khối lệnh được viết rõ ràng các từ khóa Begin và End của một câu lệnh
rẽ nhánh nên viết thng ct vi nhau.
Lơng Ngọc Hoàng THPT Lê Viết T¹o


15


Sáng Kiến kinh nghiệm Tin học 11

Năm học 2012 - 2013

Các lệnh được thực hiện sau khi điều kiện, từ khóa nào đó thì nên viết thụt
vào so với câu lệnh kiểm tra điều kiện.
Những đoạn chương trình khó nhớ thì nên đưa lời chú thích vào.
Cần dùng nhiều bộ test để kiểm tra tính đúng đắn của thuật tốn, chương
trình.
3.2. Một số giải pháp khác
- Giáo viên cần chuẩn bị kỹ giáo án, bài giảng trước khi lên lớp.
- Trước hết cần trang bị cho học sinh các kiến thức cơ bản về cấu trúc rẽ
nhánh, cách trình bày 1 bài lập trình.
- Yêu cầu học sinh phải học bài cũ trước khi đến lớp.
-

Học sinh cần tự giác, chủ động, tích cực học tập.

-

Giáo viên đóng vai trị cố vấn.

-

Phương pháp dạy chủ yếu là giáo viên nêu vấn đề, học sinh tự tìm

hiểu để giải quyết vấn đề, giáo viên nhận xé sửa sai xem lẫn thuyết trình, vấn

đáp.
-

Học sinh cần học và làm bài tập ở nhà đầy đủ theo yêu cầu của giáo

viên.
4. Kiểm nghiệm
Thông qua việc áp dụng các giải pháp trên đã giúp các em tháo gỡ được
những khó khăn, vướng mắc khi giải các bài tốn tin học nói chung và các bài
tập có sử dụng cấu trúc rẽ nhánh nói riêng. Giúp các em có sự hiểu biết sâu sắc
về cấu trúc rẽ nhánh tạo cho các em hướng thú học tập và tạo ra phong trào học
tập tốt hơn trong học sinh đối với môn học.
KẾT QUẢ ĐẠT ĐƯỢC

Sau khi dạy cho các em những bài tập căn bản về câu lệnh rẽ nhánh tơi đã có
bài kiểm tra áp dụng cho học sinh các lớp và kết quả đạt được như sau:
Đề bài:
Câu 1: Cho đoạn chương 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>;
D. If <điều kiện> Then <câu lệnh 1> Else <câu lệnh 2>
Câu 4: 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>;
B. If <điều kiện> Then <câu lệnh>
C. If <điều kiện> Then <câu lệnh>

D. If <điều kiện>; Then <câu lệnh>
Câu 5: Viết chương trình pascal nhập vào từ bàn phím ba số a, b, c hãy trả lời
xem ba số vừa nhập có lập thành số đo 3 cạnh của một tam giác hay không?
(Bài kiểm tra này được thực hiện ở các lớp 11E8, 11G8, 11H8, 11I8, 11K8.
Trong đó có hai lớp 11H8 và 11K8 không áp dụng hầu hết các giải pháp trên
trong q trình giảng dạy).
Kết quả các lớp khơng thc nghim:

Lơng Ngọc Hoàng THPT Lê Viết Tạo

17


Sáng Kiến kinh nghiệm Tin học 11
Tng

Năm học 2012 - 2013

Số HS đạt

Số HS đạt

Số HS đạt

Số HS đạt

Số HS đạt điểm

số HS


điểm giỏi

điểm khá

điểm TB

điểm Yếu

Kém

(8,5 → 10) đ

(7 →< 8,5) đ

(5 →< 7) đ

(3,5 →< 5) đ

(0 →< 3,5) đ

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%

Lớp

Kết quả các lớp đạt được sau khi thực nghiệm:

Tổng

Số HS đạt

Số HS đạt

Số HS đạt


Số HS đạt

Số HS đạt điểm

số HS

điểm giỏi

điểm khá

điểm TB

điểm Yếu

Kém

(8,5 → 10) đ

(7 →< 8,5) đ

(5 →< 7) đ

(3,5 →< 5) đ

(0 →< 3,5) đ

11A9

50


7HS=14%

15HS=30%

25HS=50%

3HS=6%

0

11D9

46

4HS=8.7%

13HS=28.3%

25HS=54.3%

4HS=8.7%

0

Lớp

C. KẾT LUẬN, ĐỀ XUẤT
Tin học là một môn học đặc thù, quá trình học lý thuyết phải đi đơi với thực
hành viết chương trình và thực hiện trên máy tính. Trường THPT Lê Viết Tạo
một trường mới được chuyển sang mơ hình cơng lập được vài năm lại đây nên

cơ sở vật chất còn thiếu thốn hiện nhà trường chưa có phịng thực hành cho học
sinh, bản thân nhà trường và học sinh còn phải học hai ca sáng, chiều. Kinh tế
gia đình các học sinh cịn kém nên phần đơng khơng thể mua máy tính riêng cho
con em mình học tập ở nhà vì thế tơi đề xuất với ban giám hiệu nhà trường, các
cấp lãnh đạo tạo điều kiện để học sinh có được phịng máy thực hành cho các
em học tập tốt hơn. Và nên thành lập câu lạc bộ Toán – Tin nhà trường cho các
em u thích tin học có thể tham gia từ đó phát huy được tối đa khả năng của
học sinh nh trng.

Lơng Ngọc Hoàng THPT Lê Viết Tạo

18


Sáng Kiến kinh nghiệm Tin học 11

Năm học 2012 - 2013

Với nghiên cứu này tôi đã thu được kết quả khá khả quan với việc dạy câu
lệnh rẽ nhánh. Hầu hết các em đều nắm rõ cú pháp, hoạt động của câu lệnh câu
lệnh và vận dụng nó vào các bài tập cụ thể khá tốt. Tơi rất hài lịng với kết quả
đạt được.
Do tính đa dạng và đặc thù của mơn học dù đã có sự cố gắng nhưng khó
tránh khỏi những thiếu sót, sai lầm rất mong các đồng nghiệp và các em học
sinh giúp đỡ để giúp các em học tốt hơn.
TÀI LIỆU THAM KHẢO
1. Hồ Sĩ Đàm – Nguyễn Thanh Tùng: Bài Tập Tin Học 11 – Nhà xuất bản giáo
dục.
2. Trần Doãn Vinh: Học Tốt Tin Học 11 – Nhà xuất bản Đại học quốc gia Hà
Nội.(xuất bản năm 2009).

3. Hồ Cẩm Hà (Chủ biên): Bài Tập Trắc Nghiệm Và Đề Kiểm Tra Tin Học 11
– Nhà xuất bản giáo dục.
4. Hồ Cẩm Hà (chủ biên), Lê Khắc Thành, Nguyễn Chí Trung: Dạy học theo
chuẩn kiến thức kỹ năng môn tin học 11 – Nhà xuất bản Đại học sư phạm.
5. Mai Hương (Chủ biên) : Tự Học Lập Trình Pascal – Nhà xuất bản vn húa
thụng tin.

Lơng Ngọc Hoàng THPT Lê Viết Tạo

19