SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓA
TRƯỜNG THPT YÊN ĐỊNH 2
SÁNG KIẾN KINH NGHIỆM
ỨNG DỤNG PHẦN MỀM CROCODILE ICT
HỖ TRỢ CHO VIỆC DẠY VÀ HỌC TIN HỌC LỚP 11
Người thực hiện: Lê Văn Thịnh
Chức vụ: Giáo viên
SKKN thuộc môn: Tin học
THANH HÓA NĂM 2014
Trang 2
MỤC LỤC
A- T V N ĐẶ Ấ ĐỀ 4
I. L I NÓI UỜ ĐẦ 4
II. TH C TR NG C A V N Ự Ạ Ủ Ấ ĐỀ 4
B-GI I QUY T V N Ả Ế Ấ ĐỀ 5
I. GI I PHÁP GI I QUY T V N Ả Ả Ế Ấ ĐỀ 5
1. M c ích nghiên c u:ụ đ ứ 5
2. Nhi m v c a t i:ệ ụ ủ đề à 5
3. i t ng v ph m vi nghiên c u:Đố ượ à ạ ứ 5
4. Ph ng pháp nghiên c u:ươ ứ 5
II. BI N PHÁP GI I QUY T V N Ệ Ả Ế Ấ ĐỀ 6
1. ng d ng cho vi c d y v h c b i c u trúc r nhánh.Ứ ụ ệ ạ à ọ à ấ ẽ 6
2. ng d ng cho vi c d y v h c b i c u trúc l p.Ứ ụ ệ ạ à ọ à ấ ặ 7
3. ng d ng cho vi c d y v h c b i ch ng trình con.Ứ ụ ệ ạ à ọ à ươ 10
C-K T LU NẾ Ậ 14
I. K T QU NGHIÊN C UẾ Ả Ứ 14
II. HI U QU M IỆ Ả Ớ 14
III. BÀI H C KINH NGHI MỌ Ệ 15
IV. PH M VI ÁP D NG TÀIẠ Ụ ĐỀ 15
V. KI N NGH , XU TẾ Ị ĐỀ Ấ 15
Trang 3
Trang 4
B-GIẢI QUYẾT VẤN ĐỀ
I. GIẢI PHÁP GIẢI QUYẾT VẤN ĐỀ
1. Mục đích nghiên cứu:
- Sử dụng các thuật toán phổ thông mà học sinh đã được học để mô phỏng giúp
học sinh hiểu hơn về thuật toán;
- Giúp học sinh hiểu sâu hơn về cấu trúc rẽ nhánh, cấu trúc lặp và việc tổ chức, sử
dụng chương trình con;
- Ứng dụng vào giảng dạy để nâng cao chất lượng dạy và học môn tin học 11.
2. Nhiệm vụ của đề tài:
- Đưa ra các bài toán phổ thông mà học sinh đã được làm quen để học sinh xác
định được bài toán và xây dựng được thuật toán;
- Mô phỏng các thuật toán giải bài toán đã đưa ra;
- Thông qua các mô phỏng đó để giáo viên và học sinh có thể dạy và học tốt hơn
chương trình tin học lớp 11.
3. Đối tượng và phạm vi nghiên cứu:
- Thuật toán và biểu diễn thuật toán;
- Phần mềm mô phỏng Crocodile ICT;
- Học sinh khối 11 năm học 2013-2014 tại trường THPT Yên Định 2.
4. Phương pháp nghiên cứu:
- Qua thực tiễn giảng dạy ở trường THPT Yên Định 2;
- Tham khảo các tài liệu sách giáo khoa, sách giáo viên tin học, các bài viết và
các tư liệu trên mạng Internet, đặc biệt là bài viết và các tài liệu về đổi mới phương
pháp dạy học môn tin học;
- Tham khảo các ý kiến của đồng nghiệp;
- Lấy các ý kiến từ phía học sinh;
- Kết hợp vận dụng sáng kiến vào giảng dạy trên lớp;
- Đánh giá, rút kinh nghiệm sau mỗi giờ dạy có vận dụng sáng kiến để có những
điều chỉnh hợp lí.
Trang 5
a=1; b=2; c=1 để chỉ ra rẽ nhánh theo trường hợp delta=0.
a=1; b=1; c=1 để chi ra rẽ nhánh theo trường hợp delta<0.
a=1; b=3; c=1 để chỉ ra rẽ nhánh theo trường hợp delta>0.
Việc lựa chọn các bộ test tiêu biểu và mô phỏng cho học sinh thấy được rẽ nhánh
là rất cần thiết, giúp học sinh hiểu bài sâu sắc hơn.
2. Ứng dụng cho việc dạy và học bài cấu trúc lặp.
Khi dạy bài cấu trúc lặp, giáo viên cần chỉ ra cho học sinh thấy được điều kiện
lặp; thao tác lặp. Khác với cấu trúc rẽ nhánh, cấu trúc lặp có câu lệnh được thực hiện
có thể nhiều lần tùy thuộc vào điều kiện lặp. Điều kiện luôn là biểu thức cho kết quả
logic, nhưng điều kiện ở cấu trúc lặp là điều kiện xác định câu lệnh được thực hiện
lặp, còn ở cấu trúc rẽ nhánh là điều kiện thực hiện câu lệnh nên câu lệnh chỉ được thực
hiện nhiều nhất một lần.
Giáo viên có thể lấy các công việc lặp mà học sinh thường gặp như việc thực hiện
thời khóa biểu hay cũng có thể lựa chọn các bài toán quen thuộc với các em học sinh
như bài toán tìm ước chung lớn nhất của hai số nguyên dương; bội chung nhỏ nhất của
hai số nguyên dương hoặc hai bài toán tính tổng trong bài 10 (sách giáo khoa tin học
11) để chỉ ra cho học sinh thấy được câu lệnh lặp và điều kiện lặp.
Với các bài toán như tìm ước chung lớn nhất của hai số nguyên dương, bội chung
nhỏ nhất của hai số nguyên dương hay bài toán tính tổng trong bài 10 (sách giáo khoa
tin học 11) học sinh có thể trình bày được thuật toán và từ đó giáo viên có thể mô
phỏng thuật toán, giúp các em có thể hiểu rõ thao tác lặp và điều kiện lặp.
Giáo viên phải làm rõ cấu trúc lặp với số lần biết trước cũng cần điều kiện lặp.
Tuy nhiên, điều kiện lặp ở cấu trúc này có khác so với điều kiện lặp ở cấu trúc lặp với
số lần chưa biết trước ở chỗ điều kiện lặp ở cấu trúc lặp với số lần biết trước được
thay đổi tăng hoặc giảm 1 đơn vị.
Trang 7
Mô phỏng thuật toán tính tổng trong bài 10 (sách giáo khoa tin học 11)
Với số nguyên a>2 cho trước, tính:
100
1
0001.0
1
<
+ na
Mô phỏng thuật toán bài toán tìm ước chung lớn nhất của hai số nguyên dương
Trang 8
Mô phỏng thuật toán bài toán tìm bội chung nhỏ nhất của hai số nguyên dương
Với mỗi bài toán đưa ra làm ví dụ mô phỏng, giáo viên cần nhấn mạnh cho học
sinh thấy rõ được điều kiện lặp và câu lệnh lặp.
Ở bài toán tính tổng
100
1
2
1
1
11
1
+
++
+
+
+
+=
aaaa
S
có thao tác
na
SS
+
1
11
2
cho đến khi
0001.0
1
<
+ na
có thao tác
na
SS
+
+←
1
22
được lặp lại với số lần phụ thuộc vào giá trị của a, giá trị
a càng lớn thì số lần lặp càng ít, giá trị a càng nhỏ thì số lần lặp càng nhiều. Và điều
kiện lặp của bài toán là khi n còn chưa đủ lớn để
0001.0
1
<
+ na
. Vì vậy số lần lặp của
Trang 9
bài toán này là chưa biết trước.
Còn với bài toán tìm ước chung lớn nhất của hai số nguyên dương thì giáo viên
có thể dùng đó để so sánh giữa điều kiện rẽ nhánh với điều kiện lặp. Điều kiện M<>N
là điều kiện lặp còn điều kiện M>N là điều kiện rẽ nhánh. Giáo viên nên lựa chọn một
số bộ test tiêu biểu để mô phỏng cho bài toán này, ví dụ như: M=N=10; M=15 và
+d
q
giúp cho học sinh thấy được việc
Trang 12
tổ chức hàm tính lũy thừa sẽ làm cho chương trình ngắn gọn hơn và dễ tư duy hơn.
Với bài toán tính tổ hợp chập k của n (
k
n
C
) và bài toán rút gọn phân số có tử số và
mẫu số là các số nguyên dương giúp cho học sinh thấy được việc sử dụng chương
trình con thể hiện tư duy lập trình có cấu trúc theo kiểu làm mịn dần thuật toán.
Để giúp cho học sinh hiểu rõ hơn việc tổ chức và sử dụng chương trình con thì
giáo viên cần mô phỏng các thuật toán trên với các bộ test tiêu biểu cụ thể để học sinh
có thể thấy được cách tổ chức, cách gọi thực hiện và lợi ích của việc sử dụng chương
trình con.
Trên đây là một số ví dụ với những bài toán quen thuộc giúp giáo viên có thể dễ
dàng sử dụng, lựa chọn làm ví dụ, mô phỏng cho bài dạy của mình. Và học sinh cũng
có thể sử dụng các ví dụ đã được mô phỏng này, kết hợp với các câu lệnh được học
trong ngôn ngữ lập trình pascal để tổ chức dữ liệu và viết thành chương trình.
Trang 13
C-KẾT LUẬN
I. KẾT QUẢ NGHIÊN CỨU
Sau một thời gian nghiên cứu và vận dụng vào dạy học ở khối lớp 11 trong năm
học 2013-2014 với sự góp ý chân thành từ các đồng nghiệp, đề tài sáng kiến kinh
nghiệm này của tôi đến nay đã hoàn thành. Nhiều thuật toán trong chương trình tin học
phổ thông đã được mô phỏng để vận dụng vào giảng dạy cho học sinh, giúp nâng cao
chất lượng dạy và học môn tin học lớp 11.
Chất lượng các giờ học có vận dụng sáng kiến này cho thấy các em hứng thú học
tập hơn, hiểu bài nhanh hơn và sâu sắc hơn. Bằng chứng là, hầu hết các em đều có tư
III. BÀI HỌC KINH NGHIỆM
Thuật toán là chìa khóa quan trọng để học sinh có thể viết được chương trình
cũng như việc phát triển tư duy. Không chỉ học sinh khối lớp 10, mà cả học sinh khối
lớp 11 cũng cần phải có khả năng tư duy về thuật toán. Đó là tiền đề để các em có thể
học về lập trình.
Việc mô phỏng thuật toán là rất cần thiết, giúp cho học sinh thấy rõ được các cấu
trúc rẽ nhánh, cấu trúc lặp và việc tổ chức, sử dụng chương trình con.
Để học sinh có thể viết được chương trình đòi hỏi các em cần hiểu rõ cách máy
tính thực hiện giải bài toán, đó là cách mà con người truyền đạt cho máy tính giải
thông qua việc thực hiện một số hữu hạn các thao tác tính toán.
IV. PHẠM VI ÁP DỤNG ĐỀ TÀI
Trong điều kiện hiện nay, nhà trường đã có đủ điều kiện để giáo viên dạy tin học
nói riêng và các môn học khác nói chung đều có thể ứng dụng công nghệ thông tin vào
trong dạy học nên có thể áp dụng đề tài vào việc dạy học trong phạm vi rộng rãi cả
trong chương trình tin học lớp 10 và lớp 11. Tuy nhiên, theo tôi để sử dụng đề tài có
hiệu quả hơn trong các năm học tới cần lưu ý một số điểm sau đây:
- Học sinh cần nắm vững kiến thức về tư duy thuật toán và cách biểu diễn thuật
toán trong chương trình tin học lớp 10;
- Giáo viên nên yêu cầu học sinh chuẩn bị trước các bài toán sẽ trình bày trong
tiết học căn cứ vào trình độ học sinh để lựa chọn trình bày các thuật toán ở các mức độ
hợp lý, đảm bảo đa số học sinh hiểu bài và các em có hứng thú trong học tập;
- Giáo viên phải kiểm tra đánh giá một cách thường xuyên để có sự điều chỉnh
trong các tiết học sau sao cho hiệu quả học tập của học sinh được cao nhất;
- Giáo viên nên dành nhiều thời gian để học sinh có thể tự biểu diễn thuật toán và
viết chương trình cho các bài toán tương tự với các bài toán mà giáo viên đã trình bày;
- Giáo viên cũng cần kiểm tra một cách thường xuyên việc làm bài tập của học
sinh để tránh trường hợp học sinh lười học, không coi trọng môn học.
V. KIẾN NGHỊ, ĐỀ XUẤT
Trang 15
Qua thực tiễn giảng dạy khối lớp 11 trong năm học 2013-2014 ở trường THPT