RÈN LUYỆN HỌC SINH KỸ NĂNG SỬ DỤNG CÂU LÊNH LẶP
I. LÍ DO CHỌN ĐỀ TÀI
- Dựa trên mục tiêu đổi mới chương trình giáo dục của Bộ GD – ĐT nhằm góp
phần năng cao chất lượng giáo dục. Từ năm 2006 đến nay, bộ môn tin học đã
được áp dụng cho mọi đối tượng học sinh THCS và được dạy cho cả 4 khối lớp 6,
7, 8, 9 với thời lượng hai tiết/ tuần.
- Là giáo giảng dạy môn tin học trong trường THCS, trực tiếp giảng dạy, hướng
dẫn các em, tôi thấy rằng để đạt hiệu quả cao trong tiết học, chúng ta cần có cách
thiết kế bài giảng cho phù hợp với nội dung kiến thức, phương pháp đứng lớp phải
phù hợp với từng đối tượng học sinh. Để qua mỗi tiết học, học sinh thích thú với
kiến thức mới, đồng thời các em còn thấy được tầm quan trọng của việc ứng dụng
kiến thức đã học vào thực tiễn trong đời sống xã hội thông qua việc viết các
chương trình hướng dẫn máy tính giải toán.
- Ngôn ngữ lập trình Pascal là một loại ngôn ngữ bậc cao, có các câu lệnh viết
bằng các thuật ngữ tiếng Anh mà nội dung liên quan đến toán học vừa khô khan
vừa trừu tượng, khó hiểu. Chính vì vậy để có thể học tốt môn này đòi hỏi người
học phải có tính tự giác, sáng tạo, chịu khó tư duy, có khả năng phân tích, tổng
hợp. Do đó môn học này sẽ gây rất nhiều khó khăn cho học sinh lớp 8, nhất là học
sinh yếu kém.
- Nhận thấy vai trò của môn tin học nói chung, lập trình nói riêng và những
khó khăn trong việc học lập trình của học sinh nên tôi chọn đề tài ‘RÈN LUYỆN
HỌC SINH KỸ NĂNG SỬ DỤNG CÂU LỆNH LẶP’, hy vọng qua đề tài này
giúp cho học sinh THCS có hứng thú với môn học này hơn, đặc biệt là học sinh
yêu thích môn tin học sẽ gắn bó say mê trong việc nghiên cứu dạng câu này.
1. Thuận lợi:
- Được sự quan tâm sâu sát của BGH trong việc đầu tư trang thiết bị dạy học,
sự giúp đỡ tạo điều kiện của tổ chức đoàn thể, sự hỗ trợ của đồng nghiệp.
- Bản thân tôi luôn có ý thức cầu tiến, luôn học hỏi kinh nghiêm từ người đi
trước, nhiệt tình trong giảng dạy.
- Đa số học sinh ham học, tích cực phát biểu xây dựng bài, tài liệu SGK tương
đối đầy đủ.
THỰC HIỆN ĐỀ TÀI
1. Cơ sở lý luận:
- Căn cứ công văn 5555/BGDĐT-GDTrH ngày 08/10/2014 của Bộ GDĐT: đẩy
mạnh việc dạy học giải quyết vấn đề, các phương pháp thực hành, dạy học theo dự
án trong các môn học, tích cực ứng dụng công nghệ thông tin phù hợp với nội
dung bài học, khắc phục lối truyền thụ áp đặt một chiều, ghi nhớ máy móc, tập
trung dạy cách học, cách nghĩ, bảo đảm cân đối giữa trang bị kiến thức, rèn luyện
kĩ năng và định hướng thái độ, hành vi cho học sinh, chú ý việc tổ chức dạy học
phân hóa phù hợp các đối tượng học sinh khác nhau.
- Căn cứ công văn số 4509/BGDĐT-GDTrH ngày 03/9/2015 của Bộ Giáo dục và
Đào tạo (GDĐT) về hướng dẫn thực hiện nhiệm vụ giáo dục trung học năm 2015 –
2016: Tiếp tục đổi mới mạnh mẽ phương pháp dạy học, đánh giá học sinh nhằm
phát huy tính tích cực, chủ động, sáng tạo và rèn luyện phương pháp tự học của
học sinh, tăng cường kĩ năng thực hành, vận dụng kiến thức, kĩ năng vào giải quyết
các vấn đề thực tiễn, đa dạng hóa các hình thức học tập, chú trọng các hoạt động
trải nghiệm sáng tạo, nghiên cứu khoa học của học sinh; đẩy mạnh ứng dụng công
nghệ thông tin và truyền thông trong dạy và học.
- Trong chương trình Tin học cấp trung học cơ sở ở lớp 8 phần lập trình đơn
giản, học sinh được học ngôn ngữ lập trình Pascal để lập trình giải các bài toán
trong chương trình trung học và cũng như nội dung thi học sinh giỏi môn Tin, hội
thi tin học trẻ không chuyên đều sử dụng ngôn ngữ lập trình Pascal để giải các bài
toán.
Giáo viên: Đặng Thị Cẩm Tú
Trang 2
2. Nội dung, biên pháp thực hiện các giải pháp:
Trong cuộc sống hằng ngày, có rất nhiều hoạt động được thực hiện lặp đi lặp lại
nhiều lần, có những hoạt động lặp lại với một số lần biết trước, cũng có những hoạt
động lặp lại với số lần chưa biết trước.
Writeln(‘chao cac ban’);
Writeln(‘chao cac ban’);
Writeln(‘chao cac ban’);
Writeln(‘chao cac ban’);
End.
- Yêu cầu học sinh nhận xét về cách viết trên.
- Học sinh: viết cách viết như trên rất nhàm chán và mất thời gian, đồng thời chỉ
áp dụng được khi số lần lặp là tương đối ít, nếu đề bài yêu cầu ta in hàng trăm,
hàng nhìn lần thì khó mà thực hiện được?
- Giáo viên: giới thiệu cho học sinh cách khắc phục thông qua câu lệnh:
Giáo viên: Đặng Thị Cẩm Tú
Trang 3
For i: =1 to 10 do write(‘chao cac ban’);
- Giáo viên yêu cầu học sinh nhận biết các đại lượng trong câu lệnh trên?
Từ ví dụ trên GV chốt lại cú pháp của dạng lặp với số lần biết trước:
Cú pháp: for < biến đếm> := <giá trị đầu> to < giá trị cuối> do <câu lệnh>;
Trong đó: for, to, do là các từ khoá.
Biến đếm có kiểu có kiểu số nguyên, giá trị đầu và giá trị cuối là các giá trị
nguyên.
Ví Dụ 2: GV mở rộng ra đối với bài toán tính tổng của 10 số tự nhiên đầu tiên.
- Đây không phải là bài toán khó, tuy nhiên học sinh sẽ nhầm lẫn vì cứ nghĩ máy
tính sẽ thực hiện cộng dồn T = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 thì sẽ cho kết
quả. Nhưng không phải như vậy, máy sẽ thực hiện tính lần lượt như sau: T = 0 + 1
=1 T = 1 + 2 = 3 T = 3+3=6 T = 6 + 4= 10 …. T = 45 + 10 = 55.
Từ đó học sinh có thể viết chương trinh như sau:
Begin
T:=0;
T:= 0 + 1;
12
15
18
- Yêu cầu học sinh cho biết đoạn chương trình trên, câu lệnh m := m+ 3 thực
Giáo viên: Đặng Thị Cẩm Tú
Trang 4
hiện lặp bao nhiêu lần? Có cách nào để tính số lần lặp của câu lệnh hay không?
- Dựa vào bảng trên học sinh có thể trả lời được câu lệnh m := m+ 3 đã được lặp
lại 6 lần, tuy nhiên học sinh còn lung túng trong quá trình tìm cách tính số lần lặp.
- Giáo viên gợi ý cho học sinh cách tính số vòng lặp bằng:
giá trị cuối – giá trị đầu + 1;
Tóm lại: Đối với dạng lặp với số lần biết trước, câu lệnh lặp sẽ thực hiện câu
lệnh nhiều lần và mỗi lần là một vòng lặp.
- Khi thực hiện ban đầu biến đếm sẽ nhận giá trị là giá trị đầu, sau mỗi vòng lặp
biến đếm tự động tăng thêm một đơn vị cho đến khi bằng giá trị cuối.
• Sử dụng bản đồ tư duy để học sinh thêm khắc sâu kiến thức:
I.1.2 Lặp với số lần chưa biết trước:
- Giáo viên cho học sinh nêu một vài ví dụ về các hoạt đông lặp lại nhiều lần
nhưng chưa xác định được số lần lặp trong cuộc sống hằng ngày mà các em biết.
- Giáo viên giới thiệu thêm ví dụ sau:
?lít
?111
Ca
Bình chứa tối đa 30 lít nước
Ta viết: T := 0; I := 1;
While T
- Từ thuật toán học sinh có thể nhận biết được đây là dạng câu lệnh lặp vói số lần
chưa biết trước, nên ta dùng câu lệnh while .. do để viết.
- Giáo viên đặt vấn đề: Đối với thuật toán này ta có thể sử dụng câu lệnh lặp dạng
for .. do để viết hay không? Vì sao?
- Học sinh có thể nhận biết được trong thuật toán trên không xác định được lần
lặp nên không thể sử dụng câu lệnh for .. do để viết.
- Lưu ý: Trong mọi trường hợp của hoạt động lặp ta điều có thể sử dụng câu lệnh
lặp dang While …. Do để viết chương trình, còn đối với câu lênh lặp dạng for…
do chỉ sử dụng khi đã biết trước số lần lặp.
I.1.3 Sử dụng dạng cấu trúc lặp thích hợp để viết các chương trình sau:
Ví dụ 1: Tính tổng A = 1 + 1/ 1 * 3 + 1/ 2 * 4 + 1/ 3*5+ ….+ 1/n*(n + 2);
- Từ yêu cầu của bài toán GV yêu cầu học sinh cho biết bài toán này thuộc dạng
lặp nào?
- Yêu cầu cho biết cách tính tổng trên.
- Học sinh dựa cách tính tổng n số tự nhiên đầu tiên đưa ra cách giải.
- Yêu cầu học sinh sử dụng câu lệnh lặp để viết:
Ta viết: S := 1;
for I := 1 to n do S := S + 1/ I * (I + 2);
- Tuy nhiên ta cũng có thể sử dụng câu lệnh While … do để viết:
Giáo viên: Đặng Thị Cẩm Tú
Trang 8
Ta viết: A := 0; i:= 1;
While i
- Chương trình học này khá mới mẻ và phức tạp đối với các em, bởi vì nó áp
dụng rất nhiều kiến thức toán học, có kiến thức học sinh lớp 8 học chưa tới. Nên
giáo viên cần phải lựa chọn phương pháp giảng dạy sao cho phù hợp với trình độ
nhận thức của các em. Nên kết hợp lí thuyết và thực hành, cho nhiều bài tập tương
tự để các em làm để từ đó các em nắm chắc lí thuyết hơn.
- Sau khi áp dụng chuyên đề tôi nhận thấy rằng: tỉ lệ học sinh khá, giỏi tăng; học
sinh trung bình yếu giảm và không còn học sinh kém.
Bảng thống kê số liệu
Giỏi
Khá
TBình
Yếu
Kém
Trước khi thực hiện
13%
29%
45%
10%
3%
Sau khi thực hiện
27%
45%
25%
3%
0
IVĐỀ XUẤT – KHUYẾN NGHỊ KHẢ NĂNG ÁP DỤNG:
- Đề tài này có thể áp dụng với môn tin ở tất cả các cấp học.
- Soạn bài trước khi lên lớp.
- Đưa ra những câu hỏi phù hợp với từng đối tượng học sinh không đưa ra những