Một số biện pháp hữu hiệu nhằm nâng cao chất lượng dạy học bài “cấu trúc lặp” (Tin học 11) ở trường THPT Lê Lợi, Thọ Xuân, Thanh Hóa

Một số biện pháp hữu hiệu nhằm nâng cao chất lượng dạy học bài “cấu trúc lặp” (Tin học 11) ở trường THPT Lê Lợi, Thọ Xuân, Thanh Hóa

Phương pháp dạy học là một trong những nhân tố quan trọng của quá trình dạy học. Cùng một nội dung giống nhau nhưng học sinh học tập có hứng thú, tích cực hay không, giờ học có phát huy được tiềm năng sáng tạo, có thể để lại dấu ấn sâu sắc và khơi dậy những tình cảm lành mạnh trong tâm hồn các em hay không, phần lớn đều phụ thuộc vào phương pháp dạy học của người giáo viên.

Mục tiêu của Bộ Giáo dục – đào tạo kể từ khi đổi mới sách giáo khoa năm 2006 là đổi mới phương pháp dạy học. “Phương pháp dạy học phổ thông phải phát huy được tính tích cực, chủ động, tư duy sáng tạo của học sinh, bồi dưỡng phương pháp tự học, khả năng làm việc theo nhóm, rèn luyện kĩ năng vận dụng kiến thức vào thực tiễn, tác động đến tình cảm, đem lại niềm vui, hứng thú học tập cho học sinh” (Luật giáo dục chương II, Mục 2, điều 28). Đổi mới giáo dục được vạch rõ tại Nghị quyết TW Đảng khóa VIII: “Đổi mới mạnh mẽ phương pháp giáo dục và đào tạo, khắc phục lối truyền thụ một chiều, rèn luyện lối tư duy sáng tạo của người học, từng bước áp dụng các phương pháp tiên tiến và phương tiện hiện đại vào quá trình dạy học. Đảm bảo điều kiện và thời gian tự học, tự nghiên cứu của học sinh”.

 

doc 23 trang thuychi01 6035
Bạn đang xem 20 trang mẫu của tài liệu "Một số biện pháp hữu hiệu nhằm nâng cao chất lượng dạy học bài “cấu trúc lặp” (Tin học 11) ở trường THPT Lê Lợi, Thọ Xuân, Thanh Hóa", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ 
TRƯỜNG THPT LÊ LỢI
SÁNG KIẾN KINH NGHIỆM
TÊN ĐỀ TÀI:
MỘT SỐ BIỆN PHÁP HỮU HIỆU NHẰM NÂNG CAO CHẤT LƯỢNG DẠY HỌC BÀI “CẤU TRÚC LẶP” (TIN HỌC 11) Ở TRƯỜNG THPT LÊ LỢI, THỌ XUÂN, THANH HÓA
 Người thực hiện: Lê Thị Huyên
 Chức vụ: Giáo viên
 SKKN thuộc lĩnh vực (môn): Tin học
THANH HÓA NĂM 2019
MỤC LỤC
1. MỞ ĐẦU ................................................................................................................1
1.1. Lý do chọn đề tài ..............................................................................................1
1.2. Mục đích nghiên cứu .........................................................................................2
1.3. Đối tượng nghiên cứu........................................................................................2
1.4. Phương pháp nghiên cứu ...................................................................................2
2. NỘI DUNG SÁNG KIẾN KINH NGHIỆM
2.1. Cơ sở lý luận .....................................................................................................3
2.2. Thực trạng của vấn đề .....,.............................................................................4
2.3. Các giải pháp giải quyết vấn đề.........................................................................6
2.4. Hiệu quả của SKKN .....,.............................................................................16
3. KẾT LUẬN, KIẾN NGHỊ .....,............................................................................18
1. MỞ ĐẦU
1.1. Lí do chọn đề tài:
Phương pháp dạy học là một trong những nhân tố quan trọng của quá trình dạy học. Cùng một nội dung giống nhau nhưng học sinh học tập có hứng thú, tích cực hay không, giờ học có phát huy được tiềm năng sáng tạo, có thể để lại dấu ấn sâu sắc và khơi dậy những tình cảm lành mạnh trong tâm hồn các em hay không, phần lớn đều phụ thuộc vào phương pháp dạy học của người giáo viên.
Mục tiêu của Bộ Giáo dục – đào tạo kể từ khi đổi mới sách giáo khoa năm 2006 là đổi mới phương pháp dạy học. “Phương pháp dạy học phổ thông phải phát huy được tính tích cực, chủ động, tư duy sáng tạo của học sinh, bồi dưỡng phương pháp tự học, khả năng làm việc theo nhóm, rèn luyện kĩ năng vận dụng kiến thức vào thực tiễn, tác động đến tình cảm, đem lại niềm vui, hứng thú học tập cho học sinh” (Luật giáo dục chương II, Mục 2, điều 28). Đổi mới giáo dục được vạch rõ tại Nghị quyết TW Đảng khóa VIII: “Đổi mới mạnh mẽ phương pháp giáo dục và đào tạo, khắc phục lối truyền thụ một chiều, rèn luyện lối tư duy sáng tạo của người học, từng bước áp dụng các phương pháp tiên tiến và phương tiện hiện đại vào quá trình dạy học. Đảm bảo điều kiện và thời gian tự học, tự nghiên cứu của học sinh”.
Hiện nay trong lý luận dạy học nói chung và lý luận dạy học môn Tin Học nói riêng đề cập khá nhiều phương pháp và kĩ thuật dạy học: phương pháp thảo luận, phương pháp đặt câu hỏi, phương pháp chia nhóm, phương pháp dạy học phát hiện và giải quyết vấn đề, phương pháp gợi mở, trực quan...Bản thân là một giáo viên dạy môn Tin học cũng đã nắm vững lý thuyết về phương pháp dạy học và đã từng áp dụng nhiều phương pháp. Qua thực tế giảng dạy, tôi nhận thấy giáo viên cần căn cứ vào nội dung bài học, đối tượng học sinh và điều kiện thực tế nhà trường để có những phương pháp dạy học phù hợp và hiệu quả.
Mọi quá trình tính toán đều có thể mô tả và thực hiện dựa trên ba cấu trúc cơ bản là cấu trúc tuần tự, cấu trúc rẽ nhánh và cấu trúc lặp (định lí Bohn Jacopini). Trong đó cấu trúc lặp là một nội dung khó đối với đa số các em học sinh. Vậy làm thế nào để giúp học sinh lĩnh hội được kiến thức về cấu trúc lặp, để từ đó phát huy được tính tích cực, chủ động, sự sáng tạo, say mê học hỏi của các em đối với môn học? Điều này đòi hỏi giáo viên phải linh hoạt trong việc vận dụng các phương pháp dạy học tích cực. Xuất phát từ yêu cầu thực tiễn giảng dạy tôi đã nghiên cứu, áp dụng đề tài: “Một số biện pháp hữu hiệu nhằm nâng cao chất lượng dạy học bài “Cấu trúc lặp” (Tin học 11) ở trường THPT Lê Lợi, Thọ Xuân, Thanh Hóa” 
Trong quá trình triển khai đề tài, bản thân tôi tự thấy đã có những kết quả nhất định, muốn được chia sẻ với các bạn đồng nghiệp. Hi vọng sẽ nhận được nhiều ý kiến bổ ích để đề tài của tôi ngày một hoàn thiện hơn. 
1.2. Mục đích nghiên cứu:
	Áp dụng đề tài này tôi hướng tới những mục đích sau:
	- Giúp học sinh hiểu và vận dụng tốt cấu trúc lặp để giải quyết được các bài toán cơ bản. Từ đó có thể tiếp cận và học tốt nội dung của các chương IV, V, VI trong chương trình Tin học 11.
	- Nâng cao chất lượng trong dạy học Tin học 11.
	- Giúp học sinh thêm yêu thích bộ môn Tin học hơn.
1.3. Đối tượng nghiên cứu:
- Học sinh lớp 11A5, 11A6 trường THPT Lê Lợi.
- Nghiên cứu khái quát về chương trình Tin học 11 nói chung và bài ”Cấu trúc lặp” nói riêng.
- Một số phương pháp dạy học.
- Nghiên cứu hoạt động dạy và học của học sinh và giáo viên trong trường THPT.
1.4. Phương pháp nghiên cứu:
- Phương pháp điều tra khảo sát thực tế.
- Phương pháp thu thập thông tin.
- Phương pháp thống kê, xử lí số liệu, so sánh.
- Phương pháp thực nghiệm.
2. NỘI DUNG
2.1. Cơ sở lí luận.
* Khái niệm: Cấu trúc lặp là một điều khiển thực hiện công việc lặp đi lặp lại khi chưa đủ số lần lặp hoặc khi một điều kiện nào đó còn đúng.
	Cấu trúc lặp có hai dạng là lặp với số lần biết trước và lặp với số lần chưa biết trước. 
	Để mô tả cấu trúc lặp với số lần biết trước, Pascal dùng câu lệnh lặp for – do với hai dạng tiến và lùi như sau:
Dạng lặp tiến: 
for := to do ;
Dạng lặp lùi:
for := downto do ;
	Trong đó: 
	- Biến đếm biến đơn, thường có kiểu nguyên.
	- Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm và giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối. Nếu giá trị đầu lớn hơn giá trị cuối thì vòng lặp không được thực hiện.
Hoạt động của lệnh for-do:
	- Ở dạng lặp tiến, câu lệnh viết sau từ khóa do được thực hiện tuần tự, với biến đếm lần lượt nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối.
	- Ở dạng lặp lùi, câu lệnh viết sau từ khóa do được thực hiện tuần tự, với biến đếm lần lượt nhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu. 
(Sách giáo khoa Tin học 11 trang 43, 44)
	 Để mô tả câu lệnh lặp với số lần chưa biết trước, Pascal dùng câu lệnh while-do có dạng:
	while do ;
Trong đó:
	- Điều kiện là biểu thức logic;
	- Câu lệnh là một câu lệnh đơn hoặc ghép.
Việc thực hiện câu lệnh while-do được thể hiện trong sơ đồ sau:
Sai
Điều kiện
Đúng
Câu lệnh
(Sách giáo khoa Tin học 11 trang 46)
2.2. Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm
2.2.1. Thực trạng chung.
- Môn Tin học lớp 11 là môn khoa học tự nhiên không dễ đối với học sinh. Hơn nữa, đó là môn không thi tốt nghiệp và đại học nên chưa được các nhà trường, phụ huynh và học sinh quan tâm đúng mức. Dẫn đến chất lượng dạy học môn học bị hạn chế. 
- Điều kiện phòng máy nhà trường chưa đáp ứng được 1 học sinh/máy, các em còn phải ngồi chung 2 -3 em/máy dẫn đến hiệu quả của các tiết thực hành chưa cao. Do đó việc nắm bắt nội dung các bài học bị hạn chế. 
 - Giáo viên hiếm khi được tham gia học bồi dưỡng các chuyên đề về phương pháp giảng dạy môn Tin học.
2.2.2. Về phía giáo viên.
- Có rất nhiều phương pháp dạy học tích cực nhưng đôi lúc áp dụng còn khó khăn. Do nhiều nguyên nhân như: kinh nghiệm giảng dạy, đối tượng học sinh, điều kiện trường lớp
- Đôi khi muốn áp dụng một phương pháp mới nhưng lại bị cản trở bởi tâm lí đó là môn học phụ nên quá trình nghiên cứu có lúc bị gián đoạn, thiếu hiệu quả.
2.2.3. Về phía học sinh. 
Một bộ phận không nhỏ học sinh (chiếm khoảng 55%) của trường THPT Lê Lợi không có máy tính. Vì vậy, việc thực hành ở nhà của các em rất hạn chế, dẫn đến kết quả học tập chưa cao. Mặt khác, đa số học chỉ chú trọng vào các môn thi Đại học nên việc áp dụng phương pháp dạy học phù hợp với bộ môn và với đối tượng học sinh thực sự rất khó khăn.
Trong quá trình giảng dạy bài “Cấu trúc lặp”, khi đưa ra ví dụ áp dụng cho các câu lệnh for-do, while-do tương ứng với các ví dụ trong sách giáo khoa đã giới thiệu, tôi nhận thấy rất nhiều học sinh không hình dung được hoạt động của câu lệnh, đa phần các em đều thấy khó. Khi viết chương trình các em còn lúng túng khi sử dụng các câu lệnh lặp, có em khi dùng câu lệnh for-do còn sử dụng câu lệnh tác động làm thay đổi giá trị của biến đếm hay khi dùng câu lệnh while-do lại không có câu lệnh làm thay đổi giá trị của điều kiện lặp dẫn đến vòng lặp vô hạn
Qua thực tế ở năm học 2016-2017 khi chưa thực hiện đề tài này tôi nhận thấy số học sinh hiểu và vận dụng được câu lệnh lặp còn hạn chế. Cụ thể, sau khi dạy bài “Cấu trúc lặp”, tôi khảo sát 3 lớp 11A1, 11A2, 11A3 thì có kết quả như sau:
Tổng số HS
Biết
(câu lệnh lặp)
Hiểu
(hoạt động của câu lệnh lặp)
Vận dụng ở mức độ đơn giản
Vận dụng cao
SL
TL(%)
SL
TL(%)
SL
TL(%)
SL
TL(%)
135
135
100
104
77
78
57,8
14
10,37
Do đó, để học sinh hiểu, vận dụng được câu lệnh lặp vào việc giải một số bài toán cơ bản và nâng cao, tôi đã đưa ra một vài biện pháp để dạy bài “Cấu trúc lặp” nhằm giúp các em nắm được kiến thức bài học theo chuẩn kiến thức, kỹ năng yêu cầu.
2.3. Các giải pháp giải quyết vấn đề
2.3.1. Giải pháp 1: Chọn bài toán làm ví dụ mở đầu phù hợp với đối tượng học sinh.
	Đây là vấn đề mà bản thân tôi rất quan tâm. Bởi vì, bài toán mở đầu rất quan trọng, nó là nội dung của bài học mà ta cần tìm hiểu. Bài toán mở đầu quá khó sẽ gây áp lực ban đầu cho học sinh, dẫn đến các em dễ nản chí, không hứng thú tìm hiểu bài học. Bài toán mở đầu quá dễ sẽ không kích thích được tính tò mò, ham học hỏi của học sinh. Do đó, giáo viên phải chọn được bài toán mở đầu vừa phù hợp với trình độ của học sinh, vừa đặt được vấn đề cho bài mới, đồng thời gây được sự chú ý, kích thích được tính tò mò, gây hứng thú cho các em.
	Ở bài “Cấu trúc lặp” sách giáo khoa Tin học 11 có đưa ra hai bài toán làm ví dụ mở đầu để giới thiệu cấu trúc lặp:
	Ví dụ 1: Tính và đưa kết quả ra màn hình tổng:
	S=1a + 1a+1+ 1a+2++1a+100 ( với a là số nguyên lớn hơn 2) 
	Ví dụ 2: Tính và đưa kết quả ra màn hình tổng:
S=1a+ 1a+1+ 1a+2++ 1a+n+Cho đến khi 1a+n<0,0001
	Qua quá trình giảng dạy tôi thấy hai ví dụ trên chỉ phù hợp với các học sinh có tư duy logic cao, còn lại hầu hết các em đều cảm thấy rất khó hiểu, bởi vì bài toán khá tổng quát. Vì vậy, nếu sử dụng hai ví dụ trên cho tất cả các lớp là không hiệu quả. Do đó đối với các lớp thuộc ban khoa học tự nhiên tôi vẫn sử dụng ví dụ mà sách giáo khoa đưa ra. Đối với các lớp còn lại tôi đưa ra ví dụ khác để làm ví dụ mở đầu thay thế cho 2 ví dụ của sách giáo khoa. Cụ thể: 
Đối với câu lệnh lặp với số lần biết trước.
Ví dụ 1: Viết chương trình đưa ra màn hình 5 dòng:
 “Chao cac ban. Chuc cac ban hoc gioi!”
Chương trình như sau:
Program	Viet_thong_bao;
Uses	Crt;
Begin
	Clrscr;
	Writeln(‘Chao cac ban. Chuc cac ban hoc gioi!’);
	Writeln(‘Chao cac ban. Chuc cac ban hoc gioi!’);
Writeln(‘Chao cac ban. Chuc cac ban hoc gioi!’);
	Writeln(‘Chao cac ban. Chuc cac ban hoc gioi!’);
	Writeln(‘Chao cac ban. Chuc cac ban hoc gioi!’);
	Readln;
End.
	Chương trình này hầu hết các em đều viết được. Giáo viên gọi một học sinh lên bảng viết. Sau đó cho các em còn lại đánh giá nhận xét. Các em dễ dàng đưa ra nhận xét: Chương trình lặp đi lặp lại một câu lệnh nên rất mất thời gian, ngoài ra còn gây sự nhàm chán trong quá trình viết chương trình.
	Qua đó, giáo viên đặt vấn đề cho học sinh: Một chương trình có thể có một (hoặc một số) câu lệnh được viết lặp đi lặp lại nhiều lần. Nếu vẫn sử dụng cách viết như trên thì rất mất thời gian, gây nhàm chán, thậm chí nếu số lần lặp lại là rất lớn, người lập trình khó mà kiểm soát được hoặc không thể thực hiện được. Vậy có cách nào để khắc phục được những nhược điểm trên? Từ đó giáo viên giới thiệu Câu lệnh lăp với số lần biết trước for – do.
Câu lệnh lặp dạng tiến:
for := to do ;
Câu lệnh lặp dạng lùi:
	for := downto do ;
Ở đây giáo viên cần làm cho học sinh hiểu rõ từng thành phần trong câu lệnh trên và nắm được sự hoạt động của hai câu lệnh trên trong máy tính. Sau đó sử dụng để viết lại chương trình ở Ví dụ 1:
Program	Viet_thong_bao;
Uses	Crt:
Var i: Byte;
Begin
	Clrscr;
	For i:=1 to 5 do
	 Writeln(‘Chao cac ban. Chuc cac ban hoc gioi!’);
	Readln;
End.
Trên cơ sở học sinh đã hiểu và vận dụng được Câu lệnh lặp với số lần biết trước, giáo viên yêu cầu học sinh về nhà giải quyết bài toán đặt vấn đề trong sách giáo khoa. Qua đó, một lần nữa giúp các em nắm vững được cú pháp của câu lệnh lặp và sự hoạt động của câu lệnh lặp trong máy tính. Từ đó, các em mới có thể vận dụng linh hoạt để giải quyết các bài tập trong sách giáo khoa và bài tập nâng cao.
b. Đối với câu lệnh lặp với số lần chưa biết trước.
Ví dụ 1: Viết chương trình nhập các số (mỗi số < 250) vào từ bàn phím và tính tổng các số vừa nhập, chương trình sẽ dừng lại khi số nhập vào bằng 0.
	Vì các em đã được làm quen với câu lệnh lặp với số lần biết trước ở trên nên ở ví dụ này giáo viên cho các em viết thuật toán, để các em nhận ra được câu lệnh nào được lặp lại? Và được lặp lại trong điều kiện nào?
Thuật toán:
Bước 1. Tổng Sß 0.
Bước 2. Nhập vào số a.
Bước 3. Nếu a=0 thì thông báo kết quả tổng cần tìm là S, rồi kết thúc.
Bước 4. S ß S + a; rồi quay lại Bước 2.
Qua thuật toán trên học sinh dễ dàng nhận ra rằng: Công việc được lặp đi lặp lại đó là: Nhập vào một số a, cộng dồn số a vào tổng S. Việc lặp sẽ dừng lại khi số nhập vào có giá trị bằng 0 (lặp chưa biết trước số lần). Từ đó giáo viên giới thiệu Câu lệnh lặp với số lần chưa biết trước:
	While do ;
Ở đây, giáo viên cũng cần làm rõ các thành phần trong câu lệnh lặp và sự hoạt động của câu lệnh lặp trong máy tính để giúp học sinh hiểu và vận dụng giải quyết tốt các bài tập.
Sau đây là chương trình của Ví dụ 1:
Program Vidu1;
Uses	Crt;
Var	a: byte; S: longint;
Begin
	Crlscr;
S:= 0;
Write(‘Moi nhap a: ’); Readln(a);
While a0 do
 Begin 
 S:= S + a;
 Write(‘Moi nhap a: ’); Readln(a);
End;
Writeln(‘Tong cac so vua nhap la: ’, S);
Readln
End.
Kết luận: Với cách chọn ví dụ mở đầu phù hợp với từng đối tượng học sinh, tôi nhận thấy học sinh đã dễ dàng hiểu được cấu trúc lặp và câu lệnh lặp của từng dạng, phân biệt được sự khác nhau của hai dạng lặp. Các em đã hứng thú hơn, không khí lớp học trở nên sôi nổi hơn.
2.3.2. Giải pháp 2: Mô phỏng cách thực hiện câu lệnh lặp thông qua bảng giá trị trực quan.
	Hiểu được cách hoạt động của câu lệnh lặp trong máy tính và nắm được ý nghĩa của nó để vận dụng vào bài toán là yêu cầu trọng tâm của bài này. Ở giải pháp 1, giáo viên đã cố gắng làm rõ cách hoạt động của câu lệnh lặp trong máy tính, tuy nhiên nhiều em vẫn đang cố gắng ghi nhớ một cách máy móc. Để giúp các em dễ dàng tiếp thu và hiểu một cách sâu sắc ý nghĩa và cách thực hiện của câu lệnh lặp trong máy tính thì sau mỗi ví dụ, mỗi bài tập tôi đã hướng dẫn học sinh minh họa cách thực hiện câu lệnh thông qua bảng giá trị. Cụ thể: 
a.Câu lệnh lặp với sô lần biết trước.
Có hai dạng lặp với số lần biết trước, giáo viên chỉ minh họa cho dạng lặp tiến còn dạng lặp lùi tương tự học sinh tự làm.
Ví dụ 1: Hãy mô phỏng đoạn chương trình sau:
	T:= 1; 
	for i:=1 to 10 do 
 T:=T*2;
Mô phỏng thực hiện đoạn chương trình trên qua bảng giá trị sau đây:
Giá trị biến đếm i
Câu lệnh được thực hiện
Giá trị của biến T
1
T:= T*2
T=1x2=2
2
T:= T*2
T=2x2=4
3
T:= T*2
T=4x2=8
4
T:= T*2
T=8x2=16
5
T:= T*2
T=16x2=32
6
T:= T*2
T=32x2=64 
7
T:= T*2
T=64x2=128
8
T:= T*2
T=128x2=256
9
T:= T*2
T=256x2=512
10
T:= T*2
T=512x2=1024
Như vậy sau khi thực hiện đoạn chương trình trên thì giá trị của T là 1024
Ví dụ 2: Không thực hiện đoạn chương trình, hãy cho biết giá của các biến S, T sau khi thực hiện đoạn chương trình sau:
	S:=0; T:=0; 
	For i:=2 to 10 do
	 Begin
	 If i mod 2 = 0 then S:=S + i;
	 T:= T + i;
	 End;
Mô phỏng thực hiện đoạn chương trình trên như sau:
Giá trị của biến đếm i
Câu lệnh được thực hiện
Giá trị của biến S, T
2
If i mod 2 = 0 then S:= S+i
T:=T+i;
S=0+2=2
T=0+2=2
3
If i mod 2 = 0 then S:= S+i
T:=T+i;
S=2
T=2+3=5
4
If i mod 2 = 0 then S:= S+i
T:=T+i;
S=2+4=6
T=5+4=9
5
If i mod 2 = 0 then S:= S+i
T:=T+i;
S=6
T=9+5=14
6
If i mod 2 = 0 then S:= S+i
T:=T+i;
S=6+6=12
T=14+6=20
7
If i mod 2 = 0 then S:= S+i
T:=T+i;
S=12
T=20+7=27
8
If i mod 2 = 0 then S:= S+i
T:=T+i;
S=12+8=20
T=27+8=35
9
If i mod 2 = 0 then S:= S+i
T:=T+i;
S=20
T=35+9=44
10
If i mod 2 = 0 then S:= S+i
T:=T+i;
S=20+10=30
T=44+10=54
Như vậy sau khi thực hiện đoạn chương trình trên thì S=30; T=54.
Qua các ví dụ trên, giáo viên cần nhấn mạnh: Biến đếm dùng để đếm số lần lặp. Đối với câu lệnh lặp tiến thì biến đếm nhận các giá trị từ giá trị đầu đến giá trị cuối, ứng với mỗi giá trị của biến đếm thì câu lệnh sau từ khóa Do được thực hiện một lần, biến đếm được tự động tăng thêm một đơn vị sau khi thực hiện câu lệnh.
b. Câu lệnh lặp với số lần chưa biết trước Whiledo
Ví dụ : Hãy mô phỏng đoạn chương trình tìm ước chung lớn nhất của M và N: 
	M:=18; N:= 84;
while m n do
	if m > n then m:=m-n else n:= n – m;
write(‘UCLN la: ’,m);
Mô phỏng thực hiện đoạn chương trình trên như sau:
Điều kiện m n
Câu lệnh được thực hiện
Giá trị của m và n
18 84: Đúng
If m > n then m:=m-n else n:= n – m;
m=18
n=84 - 18=66
18 66: Đúng
If m > n then m:=m-n else n:= n – m;
m=18
n=66 – 18=48
18 48: Đúng
If m > n then m:=m-n else n:= n – m;
m=18
n=48-18=30
18 30: Đúng
If m > n then m:=m-n else n:= n – m;
m=18
n=30-18=12
18 12: Đúng
If m > n then m:=m-n else n:= n – m;
m=18-12=6
n=12
6 12: Đúng
If m > n then m:=m-n else n:= n – m;
m=6
n=12-6=6
6 6: Sai
Kết thúc vòng lặp
m=6
n=6
Kết quả sau khi thực hiện đoạn chương trình trên là: m=n=6. Và UCLN là 6.
Kết luận: Qua việc tiến hành minh họa cách thực hiện câu lệnh lặp thông qua bảng giá trị trực quan như trên tôi thấy kết quả rất khả quan. Học sinh đã dễ dàng ghi nhớ được cú pháp của câu lệnh lặp, hiểu rõ được cách thực hiện của câu lệnh lặp trong máy tính, bước đầu đã áp dụng giải được các bài toán cơ bản trong sách giáo khoa. Ngoài ra còn giúp các em tăng khả năng đọc hiểu một đoạn chương trình cho trước. 
2.3.3. Giải pháp 3: Hướng dẫn học sinh chuyển đổi qua lại giữa hai câu lệnh lặp.
	Để giúp học sinh sử dụng được các câu lệnh lặp một cách linh hoạt, trong quá trình giải các bài tập tôi luôn dành thời gian yêu cầu các em chuyển đổi câu lệnh lặp với số lần biết trước for-do sang câu lệnh lặp với số lần chưa biết trước while-do và ngược lại (Chú ý: cách chuyển đổi ngược lại không phải lúc nào cũng làm được).
a. Chuyển đổi câu lệnh Fordo sang câu lệnh Whiledo
* Cách chuyển đổi câu lệnh Fordo sang câu lệnh Whiledo
 Chuyển câu lệnh Fordo sang Whiledo như sau: 
	Cách 1:
	:=;
	While ( ) do
	Begin
	;
	;
	End;
	Cách 2:
	:=;
	While ( >= ) do
	Begin
	;
	;
	End;
* Ví dụ minh họa:
Trong giải pháp này, ví dụ minh họa tôi vẫn sử dụng lại các ví dụ ở các giải pháp trên để tránh làm mất thời gian. Sau đây là một ví dụ minh họa: Hãy chuyển đổi sang câu lệnh Whiledo đoạn chương trình sau:
	S:=0; T:=0; 
	For i:=2 to 10 do
	 Begin
	 If i mod 2 = 0 then S:=S + i;
	 T:= T + i;
	 End;
Chuyển sang Whiledo như sau:
Cách 1:
S:=0; T:=0; i:=2;
	While (i<=10) do
	Begin
	 If i mod 2 = 0 then S:=S + i;
	 T:= T + i;
	 i := i +1; 
	 End;
Cách 2:
S:=0; T:=0; i:=10;
	While (i>=2) do
	Begin
	 If i mod 2 = 0 then S:=S + i;
	 T:= T + i;
	 i := i -1; 
	 End;
b. Chuyển đổi câu lệnh Whiledo sang câu lệnh Fordo
	Trong trường hợp này giáo viên cần lưu ý cho học sinh: Chỉ thực hiện được việc chuyển từ câu lệnh Whiledo sang For..do nếu số lần lặp đã biết trước.
	Ví dụ: Sử dụng câu lệnh While - do để giải bài toán cổ sau (Bài tập 6 –SGK Trang 51) sau đó chuyển sang câu lệnh For – do:
	Vừa gà vừa chó
	Bó lại cho tròn.
Ba mươi sáu con,
Một trăm chân chẵn.
Hỏi có bao nhiêu con mỗi loại?
Sử dụng câu lệnh While-do:
Var ga:byte;
Begin
	Ga:=1;
	While (ga <

Tài liệu đính kèm:

  • docmot_so_bien_phap_huu_hieu_nham_nang_cao_chat_luong_day_hoc_b.doc