Một số ví dụ giúp học sinh vận dụng giải bài tập về câu lệnh lặp while...do tin học 8 - Pdf 43

MỤC LỤC
Nội dung

Trang

MỤC LỤC

1

1. CƠ SỞ ĐỀ XUẤT GIẢI PHÁP

3

1.1. Sự cần thiết hình thành giải pháp

3

1.2. Mục tiêu của giải pháp

4

1.3. Các căn cứ đề xuất giải pháp

5

1.3.1. Căn cứ lý luận

5

1.3.2. Căn cứ vào tình hình thực tiễn


2.2. Nội dung của giải pháp mới hiện nay

9

2.2.1. Vận dụng cấu trúc câu lệnh lặp while...do, chỉ ra lỗi ở
các câu lệnh

11

2.2.2. Vận dụng cấu trúc câu lệnh lặp while...do giải các bài tập
dạng lặp với số lần lặp chưa biết trước

12

2.2.3. Chuyển đổi vận dụng cấu trúc câu lệnh lặp while...do giải
các bài tập lặp với số lần lặp cho trước

14

2.2.4. Một số lỗi thường gặp khi các em viết chương trình

19

3. HIỆU QUẢ GIẢI PHÁP

21

3.1. Thời gian áp dụng

21

26

2


1. CƠ SỞ ĐỀ XUẤT GIẢI PHÁP
1.1. Sự cần thiết hình thành giải pháp
Ngày nay, với sự phát triển nhanh chóng của khoa học công nghệ nói
chung của ngành tin học nói riêng, với những tính năng ưu việt, sự tiện dụng
và được ứng dụng rộng rãi, tin học ngày nay là một phần không thể thiếu
được của nhiều ngành trong công cuộc xây dựng và phát triển xã hội. Hơn thế
nữa nó còn đi sâu vào đời sống của con người.
Để đáp ứng được các yêu cầu trên, môn Tin học đã được đưa vào
giảng dạy ở hầu hết các trường phổ thông. Môn học này giúp học sinh bước
đầu làm quen với phương pháp giải quyết vấn đề theo quy trình công nghệ và
kĩ năng sử dụng máy tính phục vụ học tập và cuộc sống. Với môn tin học, học
sinh không những được học cách sử dụng, giao tiếp với máy tính, sử dụng các
phần mềm như: trình soạn thảo văn bản, chương trình bảng tính, trình duyệt
web… mà học sinh còn được cung cấp những bài học căn bản về lập trình với
ngôn ngữ lập trình Pascal.
Trong quá trình giảng dạy, tôi nhận thấy Pascal là môn học khó đối
với các em học sinh khối 8, vì có một số thuật toán các em chưa được học ở
bộ môn Toán, thêm vào đó là các em phải sử dụng các câu lệnh bằng Tiếng
Anh để thể hiện khi lập trình. Do đó việc học tập của học sinh vẫn còn mang
tính mơ hồ, như bị ép buộc, có nhiều học sinh rất sợ môn Tin học 8 vì tính
chất khô khan, khó hiểu trong môn học. Và đặc biệt, do mới bước đầu, học
sinh được biết đến lập trình và ngôn ngữ lập trình, nên việc vận dụng các câu
lệnh, các cấu trúc điều khiển làm sao để từ các thuật toán có thể xây dựng
được chương trình thì đa phần học sinh còn gặp không ít khó khăn, đặc biệt là
việc vận dụng các cấu trúc điều khiển như: cấu trúc điều khiển rẽ nhánh, cấu

mới.

4


- Có ý thức và thói quen sử dụng máy tính trong hoạt động học tập, lao động
xã hội hiện đại.
- Biết được sự đa dạng và phong phú của các thiết bị trong thời đại bùng nổ
công nghệ thông tin như hiện nay.
- Giúp giáo viên có thêm tài liệu để hướng dẫn truyền tải kiến thức cho học
sinh dễ hiểu hơn, cũng như giúp cho chính mình nâng cao trình độ chuyên
môn tốt hơn.
1.3. Các căn cứ đề xuất giải pháp
1.3.1. Căn cứ lý luận
- Thực hiện có hiệu quả Nghị quyết số 29-NQ/TW ngày 04/11/2013-Hội
nghị lần 8 /BCHTW Khóa XI về “Đổi mới căn bản, toàn diện giáo dục và đào
tạo đáp ứng yêu cầu công nghiệp hóa, hiện đại hóa trong điều kiện kinh tế thị
trường định hướng xã hội chủ nghĩa và hội nhập quốc tế”. Tiếp tục thực hiện
có hiệu quả, sáng tạo việc học tập và làm theo tấm gương đạo đức Hồ Chí
Minh theo Chỉ thị số 03-CT/TW ngày 14/5/2011 của Bộ Chính trị; chương
trình hành động của Sở GDĐT, Tỉnh ủy và UBND Tỉnh. Các cuộc vận động,
các phong trào thi đua của ngành bằng những việc làm thiết thực, hiệu quả,
phù hợp điều kiện của của nhà trường, của tổ chuyên môn.
- Thực hiện phong trào thi đua viết sáng kiến kinh nghiệm của phòng giáo dục
và đào tạo huyện Châu Đức - tỉnh Bà Rịa Vũng Tàu.
Đặc trưng của môn Tin học là khoa học gắn liền với công nghệ, do vậy
một mặt trang bị cho học sinh kiến thức khoa học về Tin học, phát triển tư
duy thuật toán, rèn luyện kĩ năng giải quyết vấn đề, mặt khác phải chú trọng
đến rèn luyện kĩ năng thực hành, ứng dụng, tạo mọi điều kiện để học sinh
được thực hành, nắm bắt và tiếp cận những công nghệ mới của Tin học phục

còn khó khăn nên ít có điều kiện tiếp cận với công nghệ thông tin. Với nội
dung lập trình trong tin học lớp 8, đây là một nội dung mới và khó đối với đa
số học sinh, phần lớn học sinh thực sự khó khăn trong việc nắm bắt ý nghĩa

6


của từng câu lệnh cũng như cách vận dụng chúng như thế nào trong việc lập
trình, do đó nhiều học sinh sau khi xác định được yêu cầu của bài toán thường
chỉ dừng lại ở việc xây dựng và biểu diễn thuật toán cho bài toán (dưới dạng
sơ đồ hoặc liệt kê các bước) chứ chưa biết sử dụng các câu lệnh như thế nào
để mô tả các thao tác đó thành chương trình, nên kết quả học sinh bế tắc trong
việc giải quyết các bài toán lập trình dẫn đến kết quả giảng dạy chưa cao. Đặc
biêt, khi các em học đến cấu trúc câu lệnh lặp, học sinh khó phân biệt như thế
nào là lặp, cái gì cần lặp và khi nào thì kết thúc việc lặp, do đó khi gặp các bài
toán cần sử dụng cấu trúc lặp để giải quyết đa số học sinh không biết cách
làm, hoặc tìm ra cách làm nhưng không biết làm thế nào để chuyển từ thuật
toán thành chương trình.
Đối với giáo viên trẻ chưa có kinh nghiệm trong công tác giảng dạy nên
việc truyền đạt cho học sinh hiểu đúng bản chất và cách vận dụng các cấu trúc
câu lệnh còn gặp không ít khó khăn, lúng túng đôi khi chú tâm nhiều vào lí
thuyết mà ít quan tâm đến việc hướng dẫn học sinh trực tiếp thực hành nhiều.
Qua việc giảng dạy và tìm hiểu thực tiễn tại trường, tôi thấy còn nhiều
học sinh chưa nắm vững được kiến thức cơ bản trong lập trình, mà trong tin
học 8 nội dung nhiều và khó hiểu nên chất lượng bộ môn vẫn chưa tốt, các em
không có hứng thú học vì môn học mang tính chất thuật giải khó hiểu. Vì vậy,
tôi luôn trăn trở: Làm thế nào để nâng cao chất lượng bộ môn? Làm thế nào
để học sinh hứng thú, say mê trong khi học? Có biện pháp gì để tạo hứng thú
say mê tìm tòi sáng tạo, vận dụng những gì đã học vào thực tiễn?… Với mong
muốn tìm ra những đáp án đó, đã thúc đẩy tôi chọn và nghiên cứu sáng kiến

Từ năm học 2015- 2016, và đến năm học 2016- 2017, huyện Châu Đức,
cũng như trường THCS Quang Trung đã áp dụng mô hình trường học mới ở
lớp 6, và lớp 7 với mô hình học này phần lớn đòi hỏi học sinh phải tự giác
học tập là chính. Trong quá trình giảng dạy, tôi nhận thấy đa số học sinh trong
trường chưa ý thức cao trong việc tự học, tự đọc tài liệu trước khi đến lớp để

8


có thể lĩnh hội, tiếp thu kiến thức dễ dàng và dễ hiểu hơn. Và đặc biệt là học
sinh lớp 8, bắt đầu học ngôn ngữ lập trình Pascal, sẽ gặp rất nhiều khó khăn
như sử dụng các câu lệnh, hay một chương trình sẽ được viết như thế nào,
chạy như thế nào mới đúng theo yêu cầu của bài tập. Mà đa số các em còn
nhút nhát, sợ hỏi thầy cô giáo của mình về nội dung chưa hiểu. Và đặc biệt
học sinh còn lẫn lộn giữa câu lệnh lặp for…do với while...do, vì hai câu lệnh
này khó áp dụng để giải các bài tập như thế nào cho phù hợp với hai câu lệnh
đó, nên nhiều em còn sợ học môn lập trình Pascal 8, dù các em có khả năng,
nhưng khi gặp bài rắc rối, khó hơn hoặc không có bài tập mẫu các em làm
không được, và một phần các em chưa có kĩ năng lập trình đúng các trình tự
các bước nên khó giải quyết được vấn đề đặt ra.
2.2. Nội dung của giải pháp mới hiện nay
Bắt nguồn từ thực trạng việc giảng dạy tin học, từ nguyên nhân dẫn đến
tình trạng học sinh chưa có hứng thú học tập lập trình và từ thực tiễn việc học
sinh hiểu và vận dụng các cấu trúc câu lệnh lặp trong lập trình, tôi đã đưa ra
một giải pháp và đã đem lại những hiệu quả trong việc giảng dạy, đó là hướng
dẫn học sinh giải một số bài toán có vận dụng câu lệnh lặp while...do và việc
chuyển đổi từ câu lệnh lặp for…do sang câu lệnh lặp while…do, giúp học
sinh nắm rõ cấu trúc câu lệnh lặp while…do hơn, và biết được một số lỗi
thường gặp, biết cách khắc phục được lỗi đơn giản đó, từ đó các em biết cách
vận dụng vào giải bài tập, tăng hứng thú với môn học và nâng cao chất lượng

Mô tả

Ví dụ

=

Bằng

5=5


5



Khác

a+10

=

while <điều kiện> do <câu lệnh>, đúng phải là: x:=5; while (x=8) do x:=x+1;
Bài 2: Sai cách viết điều kiện và câu lệnh trong câu lệnh lặp while..do
a. i:=4; while (i:=5) do x:=1;
 Sai, thừa dấu :, vì sau từ khóa while là điều kiện, còn ở đây i:=5 là câu
lệnh gán. Vì vậy, câu lệnh đúng phải là:
i:=4; while (i=5) do x:=1;
b. x=5; while (x=5) do x:=x+3;

11


 Sai, vì thiếu dấu :, ở câu lệnh này, trước từ khóa while là x=5 là một câu
lệnh, nên câu lệnh đúng viết như sau:
x:=5; while (x=5) do x:=x+3;
c. x:=8; while (x
While (S
Câu 3: Có thể dùng câu lệnh while...do để viết cho bài 1 như sau: lần lượt cho
biến đếm (cụ thể là biến i) nhận giá trị là các số xuất phát từ 1 tới n và cộng
lần lượt vào S, công việc này còn thực hiện khi vẫn đảm bảo điều kiện i
>= ε , cho
n

1
< ε thì công việc lặp sẽ kết thúc.
n

Câu 4: Câu lệnh lặp để tính tổng S ở câu b như sau: (biến saiso được nhập từ
bàn phím)
S:=0;
n:=1;
While (1/n>=saiso) do
Begin
S:=S+1/n;
n:=n+1;
End;
- Học sinh tự hoàn chỉnh chương trình dựa trên hai vòng lặp đã có ở trên.
Câu 5: Sự tương đồng của câu a, b:
Xuất phát, S được gán giá trị: 0;
Tiếp theo, cộng dồn vào S một giá trị: 1/n, với n tăng từ 1,2,3…
Câu 6: Hai bài toán trên khác nhau:

17


Câu a đã biết số lần lặp cụ thể, câu b chưa xác định được lần lặp cụ thể


1
< ε không xác định được cụ thể n bằng bao nhiêu.

Kết luận: Câu lệnh lặp while…do có thể áp dụng để giải các bài toán có dạng
lặp với số lần biết trước, còn câu lệnh lặp for...do không thể áp dụng để giải
các bài toán có dạng lặp với số lần chưa biết trước.
* So sánh câu lệnh lặp với số lần chưa biết trước và câu lệnh lặp với số lần
biết trước
Mục đích: Giúp cho học sinh phân biệt được hai câu lệnh này.
a) Câu lệnh lặp với số lần lặp biết trước chỉ thị cho máy tính thực hiện một
lệnh hoặc một nhóm lệnh với số lần đã được xác định từ trước, còn với câu
lệnh lặp với số lần lặp chưa biết trước thì số lần lặp chưa được xác định trước.
b) Trong câu lệnh lặp với số lần cho trước, điều kiện là giá trị của một biến
đếm có giá trị nguyên đã đạt được giá trị lớn nhất hay chưa.
c) Trong câu lệnh lặp với số lần biết trước, câu lệnh được thực hiện ít nhất
một lần, sau đó kiểm tra điều kiện. Trong câu lệnh lặp với số lần chưa biết
trước, điều kiện được kiểm tra: nếu điều kiện được thoả mãn, câu lệnh mới
được thực hiện. Do đó có thể có trường hợp câu lệnh không được thực hiện
nếu kiểm tra điều kiện không được thõa mãn.
2.2.4. Một số lỗi thường gặp khi các em viết chương trình
- Khai báo thiếu biến.
- Lỗi đặt tên hằng, biến trùng nhau.
Ví dụ: var a, A: byte (Pascal không phân biệt chữ hoa và chữ thường)
- Lỗi đặt tên hằng, biến, tên chương trình,... không đúng quy định của ngôn
ngữ lập trình. Ví dụ: var end:real; (tên của biến không được đặt là end trùng
với từ khóa end; trong chương trình).
- Ngăn cách giữa các biến phải là dấu phẩy thì các em dùng dấu chấm phẩy ;
- Khi kết thúc câu lệnh không có dấu chấm phẩy ;
- Thiếu dấu ngoặc tròn trong biểu thức lôgic.
- Tràn số do không xác định được miền giá trị của biến.

19



Phần mềm từ điển Pascal chỉ giúp người lập trình tìm và hướng dẫn
cách khắc phục những lỗi về cú pháp, không tìm ra lỗi thuật toán. Ta có thể sử
dụng phần mềm từ điển Dictionary Pascal DP v2.0 BETA.exe của tác giả
Nguyễn Thiên Tứ (Đồng Tháp), địa chi tải về:
www.host.thientu.tk/SOFT/DP/Ver EXE/DP - Tu dien Pascal.rar.
Ví dụ: khi chạy chương trình Turbo Pascal và gặp thông báo lỗi sau:

Lúc đó ta chỉ cần gõ 85 vào ô Type in the keyword to find của phần
mềm từ điển, lúc đó màn hình sẽ xuất hiện thông báo lỗi bằng tiếng Việt và
cách khắc phục như sau:

Như vậy người lập trình chỉ cần tìm và bổ sung dấu chấm phẩy ở cuối
câu lệnh.
3. HIỆU QUẢ GIẢI PHÁP
3.1. Thời gian áp dụng
- Năm 2014-2015, tôi thực hiện sáng kiến này ở hai lớp 8/3,8/4.
- Năm 2015-2016, tại lớp 8/1.
3.2. Hiệu quả đạt được
Để viết được một chương trình Pascal hoàn chỉnh đặc biệt là chương
trình sử dụng câu lệnh lặp với số lần chưa biết trước while…do rất khó đối
với học sinh lớp 8, vì các em đa số không có máy tính ở nhà để tìm tòi thêm,

21


và bài tập về câu lệnh lặp while…do rất là mơ hồ với các em không biết lặp
như thế nào, và lặp bao nhiêu lần sẽ dừng để kết thúc bài toán nên học sinh
thường lúng túng, gặp khó khăn, dẫn đến chán học lập trình và giáo viên
thường phải hoạt động rất nhiều để giúp các em. Vì vậy, tiết học thường loãng

học lớp 8. Còn 84 được triển khai đề tài thì có 28/ 31 em đã đã nắm rõ cấu
trúc câu lệnh và biết cách sử dụng câu lệnh lặp while…do giải các bài tập cơ
bản trong tin học lớp 8.
LỚP
83
84

CHƯA TRIỂN KHAI
8/30

ĐƯỢC TRIỂN KHAI
28/31

- Năm 2015-2016: tiếp tục triển khai đề tài tại lớp 8 1 có 32 em đã nắm rõ cấu
trúc câu lệnh và biết cách sử dụng câu lệnh lặp while…do giải các bài tập cơ
bản.
LỚP
81

ĐƯỢC TRIỂN KHAI
32/36

3.3. Khả năng triển khai, áp dụng giải pháp
Giải pháp có thể áp dụng cho học sinh khối 8 trong toàn tỉnh, cho giáo
viên giảng dạy bộ môn tin học.
4. KẾT LUẬN VÀ ĐỀ XUẤT, KHUYẾN NGHỊ
4.1. Kết luận
Từ kết quả thu được của việc áp dụng sáng kiến giải pháp cho thấy, so
với các phương pháp khác, việc hướng dẫn học sinh giải các bài tập cụ thể có
sử dụng cấu trúc câu lệnh lặp while…do một cách chi tiết giúp học sinh thấy

em chuẩn bị bài trước ở nhà.
Và khi giảng dạy giáo viên cần khích lệ và khuyến khích các em khi
đưa ra các tình huống hay và xử lý các tình huống đó, giáo viên có thể cho
điểm nhưng phải cho điểm đúng với từng mức học của các em. Giáo viên
cũng nên khen ngợi và biểu dương tinh thần học tập của các em, tạo ra một
môi trường học tập tốt, sôi nổi, tích cực để thể hiện được mọi khả năng của

24


các em hơn. Từ đó, các em sẽ rất phấn khởi học tập, cũng như việc làm này
giúp các em có hứng thú và hăng say học tập dù học lập trình rất khô khan và
rất khó với các em mới bắt đầu học năm lớp 8 này.
4.3. Đề xuất, khuyến nghị
* Đối với Phụ huynh:
- Tạo cho con có thói quen học tập, và ý thức tự học, ở nhà có thể trang bị
máy tính để các em thực hành tại nhà để việc học được nâng cao hơn, và có
một tâm lý thoải mái trong học tập.
- Thường xuyên phối hợp với giáo viên chủ nhiệm để biết về những tiến bộ
của các em, qua đó phụ huynh biết để mừng và tiếp tục động viên, hoặc cùng
kết hợp để nhắc nhở, động viên, giáo dục kịp thời.
* Đối với Phòng giáo dục:
- Tổ chức hội thảo chuyên đề cho giáo viên bộ môn tin học trong từng năm để
giáo viên có dịp trao đổi kinh nghiệm, bàn luận tìm ra biện pháp tối ưu, tích
cực nâng cao chất lượng dạy học bộ môn, ví dụ như đưa ra các phương pháp
để dạy câu lệnh lặp while..do tốt nhất, hiệu quả nhất. Giáo viên có kinh
nghiệm nhiều hơn, tốt hơn, phù hợp hơn với học sinh của huyện nhà trong
công tác giảng dạy.

25


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status