Cũng vì lẽ đó mà Bộ Giáo dục đã chọn ngôn ngữ lập trình Pascal đưa vàotrong chương trình học của lớp 8 để các em biết được thế nào là tư duy, thế nào là lập trình và chắc chắn sẽ có được
Trang 1A MỞ ĐẦU
I Lý do chọn đề tài:
Như ta đã biết Tin học là một bộ môn được đưa vào giảng dạy chính thứctrong nhà trường phổ thông gần đây Đối với các em học sinh, có thể nói đây làmột hành trang để giúp các em vững bước đi tới tương lai - tương lai của mộtthế hệ công nghệ thông tin bùng nổ!
Phần mềm phát triển nhanh và phong phú đáp ứng hầu hết mọi lãnh vựctrong xã hội, đời sống con người Người ta, đặc biệt là các bạn trẻ khi sử dụngmột phần mềm chỉ biết được phần mềm đó ứng dụng vào lãnh vực nào, sử dụng
ra sao và cố gắng tìm hết chức năng của phần mềm đó chứ ít khi mà nghĩ đếnphần mềm mình đang sử dụng ở đâu ra? Ai đã tạo ra nó? Và tạo ra như thế nào?Những người quan tâm đến công nghệ thông tin thì đều biết được chính các lậptrình viên đã sáng tạo nên, viết nên các phần mềm đó mà viết được nó là nhờvào các ngôn ngữ lập trình
Cũng vì lẽ đó mà Bộ Giáo dục đã chọn ngôn ngữ lập trình Pascal đưa vàotrong chương trình học của lớp 8 để các em biết được thế nào là tư duy, thế nào
là lập trình và chắc chắn sẽ có được một số em thích thú, say mê để rồi trở thànhnhững lập trình viên chuyên nghiệp mai sau
Vậy thì chúng ta phải làm như thế nào để sau khi kết thúc lớp 8 thì các em
có thể nắm và hiểu được như thế nào là ngôn ngữ lập trình, cụ thể là ngôn ngữlập trình Pascal mà ta đã nói ở trên
Trong chương trình Pascal lớp 8, phần nào cũng rất hay và rất quan trọngnhưng tôi thấy câu lệnh lặp với số lần lặp biết trước For Do rất đặc biệt mà lạithường gặp trong các bài toán cơ bản và nâng cao Khi tới phần này, rất nhiều
em mơ hồ về việc lặp lại các thao tác của câu lệnh lặp mặc dù chương trình đượcchạy trực tiếp bằng phần mềm Pascal trên màn hình chiếu Nên sau khi chạychương trình xong, tôi ghi đoạn chương trình có chứa câu lệnh For lên bảng vàhướng dẫn các em chạy bằng tay nghĩa là tự mình tính toán và ghi lại kết quảtrong mỗi lần lặp lại của lệnh lặp For Tôi nhận thấy các em hiểu rõ hơn phầnnày và cảm thấy thích thú hơn
Trang 2Xuất phát từ những cảm nhận trên, tôi chọn đề tài “TÌM HIỂU THÊM VỀNGÔN NGỮ LẬP TRÌNH PASCAL” để đi sâu thêm và mở rộng thêm về câulệnh lặp với số lần lặp biết trước For Do
II Mục tiêu, nhiệm vụ của đề tài:
1 Mục tiêu:
Sử dụng các ví dụ minh họa cụ thể để học sinh hiểu như thế nào gọi là
‘lặp’ và như thế nào là ‘lặp với số lần biết trước’, tiếp theo đó là học sinh nắmđược cú pháp, ý nghĩa của cấu trúc lặp Và thông qua các ví dụ đó, hướng dẩnhọc sinh phân biệt, nắm vững dạng lặp
2 Nhiệm vụ:
Xuất phát từ yêu cầu thực tế của việc dạy và học bộ môn Tin học, hàngnăm cứ vào đầu năm là tôi đề ra kế hoạch cụ thể nhằm đạt được hiệu quả tốtnhất, với những nhiệm vụ như sau:
- Khảo sát chất lượng đầu năm của học sinh để từ đó có phương pháp phùhợp với từng đối tượng
- Luôn trao đổi kinh nghiệm với tổ bộ môn sau mỗi tiết dự giờ để đónggóp những ý kiến hay và bổ sung cho tiết dạy hoàn thiện hơn
- Tham khảo nhiều tài liệu về Pascal để có những bài tập rèn luyện kỹnăng lập trình cho học sinh
III Đối tượng nghiên cứu
- Căn cứ vào tình hình thực tế, tôi thực hiện nghiên cứu trên đối tượng làhọc sinh những lớp tôi được phân công gồm các lớp: 8A1 8A8
IV Giới hạn của đề tài
Đưa ra vấn đề là bài 7 trong sách tin học 8, để học sinh thảo luận tínhtoán qua đó nắm vững câu lệnh lặp với số lần biết trước và hình thành ở học sinh
kĩ năng phân tích, xử lý các vấn đề liên quan đến vòng lặp trong quá trình lậptrình các chương trình đơn giản sau này
2
Trang 3V Phương pháp nghiên cứu:
- Kết hợp thực tiễn giáo dục ở trường THCS Nguyễn Trường Tộ
- Kiểm tra chất lượng học tập của học sinh đầu tiết học, sau mỗi buổi học
- Sử dụng máy tính, máy chiếu (projector)
- Rèn luyện kỹ năng viết chương trình theo mức độ từ dễ đến khó
Trong bối cảnh toàn ngành Giáo dục và Đào tạo đang nỗ lực đổi mớiphương pháp dạy học theo hướng phát huy tính tích cực chủ động của học sinh
trong hoạt động học tập Điều 24.2 của Luật giáo dục đã nêu rõ: “Phương pháp
giáo dục phổ thông phải phát huy tính tích cực, tự giác, chủ động, sáng tạo của học sinh, phù hợp với đặc điểm của từng lớp học, môn học; bồi dưỡng phương pháp tự học, 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” Cốt lõi của việc đổi
mới phương pháp dạy học ở trường phổ thông là giúp học sinh hướng tới việchọc tập chủ động, chống lại thói quen học tập thụ động
II Thực trạng vấn đề nghiên cứu
Qua thực tế giảng dạy ở trường THCS Nguyễn Trường Tộ đã nhiều năm,tôi nhận thấy đa số học sinh lớp 8, 9 đều nhận xét Tin học 8 là môn học khó
Khi học sinh học Bài 7_CẤU TRÚC LẶP, học sinh đã có rất nhiều khókhăn, nhầm lẫn trong việc xác định vòng lặp
Một số thuận lợi và khó khăn khi thực hiện chuyên đề này:
Trang 41 Thuận lợi:
- Nhà trường trang bị cơ sở vật chất tương đối đủ (máy chiếu) để phục
vụ việc giảng dạy và học tập
- Giáo viên chuẩn bị nội dung bài giảng tốt, sử dụng phương pháp phùhợp với từng đối tượng học sinh; luôn trao đổi chuyên môn với các đồng nghiệp
- Học sinh chuẩn bị bài tốt, hứng thú học tập, tích cực phát biểu
2 Khó khăn:
- Về phía nhà trường, phòng máy tính chưa đủ phục vụ cho việc thực hành
vì hai học sinh chung một máy tính Khi viết chương trình Pascal nếu mỗi họcsinh một máy thì sự sáng tạo của các em rất dễ bộc lộ và sẽ có nhiều giải thuậthay
- Một số học sinh ở vùng dân tộc thiểu số, ít có điều kiện tiếp xúc với máytính, vì thế mà các em thao tác rất chậm
- Một số các em học yếu môn toán nên để giải được một bài tập đơn giảnliên quan đến toán cũng còn gặp không ít khó khăn
III Nội dung và hình thức của giải pháp:
1 Mục tiêu của giải pháp:
- Căn cứ vào yêu cầu cụ thể của việc dạy và học Tin học 8
- Căn cứ vào việc nâng cao chất lượng giảng dạy và sự ham thích họcmôn tin học của học sinh khối 8
- Căn cứ vào thực trạng sử dụng ngôn ngữ lập trình và kỹ năng lập trìnhcủa học sinh
2 Nội dung và cách thức thực hiện giải pháp:
Để truyền đạt cho học sinh nắm vững kiến thức về câu lệnh lặp, cũng như
kỹ năng lập trình thành thạo là vấn đề rất khó khăn Chính vì vậy, cần phải cóphương pháp giảng dạy nhằm phát huy tính tích cực, chủ động sáng tạo ở họcsinh
+ Về phương pháp: Sử dụng phương pháp thuyết trình kết hợp vấn đáp.Bài giảng được soạn bằng phần mềm Microsoft Powerpoint, liên kết với Pascal
để chạy những chương trình cụ thể
4
Trang 5+ Về phương tiện: Sử dụng máy chiếu (Projector) hoặc chương trìnhNetop School và phải có chương trình Pascal để minh họa.
Nội dung trọng tâm sẽ gồm các ví dụ, mỗi ví dụ là một bài toán Bài toánban đầu có dạng đơn giản rồi sau đó phức tạp dần Mỗi bài toán sẽ được đưa racác giải pháp để thực hiện và chúng ta sẽ xem cách giải các bài toán này có điểmchung nào và có những điểm nào khác nhau Ở đây, ta sẽ chạy đoạn chươngtrình bằng tay (bằng tính toán của mình) để các em biết được ý nghĩa và hoạtđộng của câu lệnh lặp For Do Sau đó, ta đưa đoạn chương trình đó vào mộtchương trình Pascal hoàn chỉnh và chạy cho các em xem kết quả chạy bằng tay
có giống với chạy bằng máy không hoặc nếu có thời gian nên dùng cách chạytừng bước Step Over (F8) cho dễ so sánh hơn
- Số lần lặp = Giá trị cuối – giá trị đầu + 1 = 3 -1 +1 = 3
- Câu lệnh cần thực hiện trong lệnh lặp For:
a : = a + i ;
b : = b + a ;
- Hai câu lệnh trên chỉ được thực hiện khi i ≤ 3
Trang 6+ Sau khi xác định xong, ta tiến hành thực hiện các bước được liệt kê trong bảngsau:
Bước Diễn giải và tính toán Ghi giá trị của các biến
Bắt đầu vào lệnh lặp For
- i = 1 (gán giá trị đầu là 1 cho i)
- Vì i ≤ 3 nên ta phải thực hiện:
a : = a + i ; a = 1 + 1 =2
b : = b + a ; b = 1 + 2 = 3
- Tính toán xong, ta điền các giá trị vàobảng bên
4 - Sau khi thực hiện xong hai câu lệnh
trên, lệnh lặp For sẽ lặp lại lần thứ 2 cácthao tác như lần thứ nhất nhưng trước
Trang 7khi lặp lại biến đếm i phải tăng lên 1.
- Sau khi thực hiện xong hai câu lệnh
trên, lệnh lặp For sẽ lặp lại lần thứ 3
nhưng trước khi lặp lại biến đếm i phải
- Số lần lặp là 3 như ta xác định ban đầu
- Đoạn chương trình trên chạy xong, ta thu được kết quả là:
i = 3; a = 7; b = 14
- Tạo đoạn chương trình trên thành một chương trình hoàn chỉnh trong
Pascal Nhưng thêm vào hai lệnh Writeln(i,’ ’, a,’ ’,b); và Readln; để kết
quả hiện lên trong mỗi lần lặp giúp học sinh quan sát tốt và dễ so sánh vớikết quả vừa thực hiện bằng tay
Trang 8End;
End
- Dùng Step over để chạy chương trình từng bước cho học sinh quan sát
- Kết quả chạy bằng Pascal cũng giống như việc thực hiện trong bảng trên
- Sửa lại chương trình cho gọn và đúng yêu cầu
- Chạy bằng máy chương trình vừa sửa lại cho học sinh quan sát
- Sau đó, ta thay số lần lặp trong chương trình lên nhiều lần hơn
8
Trang 9- Số lần lặp = Giá trị cuối – giá trị đầu + 1 = 4 -1 +1 = 4
- Câu lệnh cần thực hiện trong lệnh lặp For: S : = S + i ;
- Câu lệnh trên chỉ được thực hiện khi i ≤ 4
+ Sau khi xác định xong, ta tiến hành thực hiện các bước theo bảng sau:
Bước Diễn giải và tính toán Ghi giá trị của các biến
2 Bắt đầu vào lệnh lặp For
- i = 1 (gán giá trị đầu là 1 cho i) i S
Trang 10- Vì i ≤ 4 nên ta phải thực hiện:
- Sau khi thực hiện xong hai câu lệnh
trên, lệnh lặp For sẽ lặp lại lần thứ 2 các
thao tác như lần thứ nhất nhưng trước
khi lặp lại biến đếm i phải tăng lên 1
- Sau khi thực hiện xong hai câu lệnh
trên, lệnh lặp For sẽ lặp lại lần thứ 3 các
thao tác như lần thứ nhất nhưng trước
khi lặp lại biến đếm i phải tăng lên 1
Trang 11- Sau khi thực hiện xong hai câu lệnh
trên, lệnh lặp For sẽ lặp lại lần thứ 4 các
thao tác như lần thứ nhất nhưng trước
khi lặp lại biến đếm i phải tăng lên 1
- Số lần lặp là 4 như ta xác định ban đầu
- Đoạn chương trình trên chạy xong, ta thu được kết quả là: S = 10
- Tạo đoạn chương trình trên thành một chương trình hoàn chỉnh trong
Pascal Nhưng thêm vào hai lệnh Writeln(i,’ ’, S); và Readln; để kết quả
hiện lên trong mỗi lần lặp
Readln;
End;
End
Trang 12- Dùng Step over để chạy chương trình từng bước cho học sinh quan sát.
- Kết quả chạy bằng Pascal cũng giống như việc thực hiện trong bảng trên
- Sửa lại chương trình cho đúng yêu cầu
Readln;
End
- Sau đó, ta thay số lần lặp trong chương trình lên nhiều lần hơn
- Chạy lại chương trình bằng máy cho học sinh quan sát
+ Đoạn chương trình trên có hai câu lệnh lặp
+ Lệnh For (j) được lồng trong lệnh For (i)
Trang 13- Số lần lặp = Giá trị cuối – giá trị đầu + 1 = 1 - 0 +1 = 2
- Câu lệnh cần thực hiện trong lệnh lặp For gồm:
- Số lần lặp = Giá trị cuối – giá trị đầu + 1 = 3 -1 +1 = 3
- Câu lệnh cần thực hiện trong lệnh lặp For: a := a + j ;
- Câu lệnh trên chỉ được thực hiện khi j ≤ 3
+ Một lần lặp trong For (i) sẽ thực hiện 3 lần lặp trong For (j) Như vậy, lệnh For(i) lặp 2 lần và lệnh For (j) lặp 3 lần sẽ thực hiện tất cả 6 lần ( 2 x 3 = 6)
+ Sau khi xác định xong, ta tiến hành thực hiện các bước theo bảng sau:
1
- Tạo bảng ghi lại các giá trị cho các biến
- Vì có 4 biến cần điền giá trị nên ta tạo 4 cột
Trang 14Bắt đầu vào lệnh lặp For (i)
- i = 0 (gán giá trị đầu là 0 cho i)
Bắt đầu vào lệnh lặp For (j)
- j = 1 (gán giá trị đầu là 1 cho j)
- a := a + j; a = 1 + 1 = 2
- b =1 vì chưa hết 3 lần lăp For (j)
- Tính toán xong, ta điền các giá trị vào bảng
- Sau khi thực hiện xong câu lệnh trên a:= a +
j, lệnh lặp For (j) sẽ lặp lại lần thứ 2 với các
thao tác như lần thứ nhất nhưng trước khi lặp
lại biến đếm j phải tăng lên 1
- j = 2 (j tự động tăng lên 1)
- a := a + j; a = 2 + 2 = 4
- b =1 vì chưa hết 3 lần lăp For (j)
- Tính toán xong, ta điền các giá trị vào bảng
- Sau khi thực hiện xong câu lệnh trên a:= a +
j, lệnh lặp For (j) sẽ lặp lại lần thứ 3 với các
thao tác như lần thứ nhất nhưng trước khi lặp
lại biến đếm j phải tăng lên 1
Trang 15- Lệnh lặp For sẽ lặp lại lần thứ 2 các thao tác
như lần thứ nhất nhưng trước khi lặp lại biến
đếm i phải tăng lên 1
- i = 1
- Vòng lặp For (j) lại khởi động từ đầu
- j = 1 (gán giá trị đầu là 1 cho j)
- a := a + j; a = 7 + 1 = 8
- b = 8 vì chưa hết 3 lần lăp For (j)
- Tính toán xong, ta điền các giá trị vào bảng
- Sau khi thực hiện xong câu lệnh trên a:= a +
j, lệnh lặp For (j) sẽ lặp lại lần thứ 2 với các
thao tác như lần thứ nhất nhưng trước khi lặp
lại biến đếm j phải tăng lên 1
- j = 2 (j tự động tăng lên 1)
- a := a + j; a = 8 + 2 = 10
- b =8 vì chưa hết 3 lần lăp For (j)
- Tính toán xong, ta điền các giá trị vào bảng
- Sau khi thực hiện xong câu lệnh trên a:= a +
j, lệnh lặp For (j) sẽ lặp lại lần thứ 3 với các
thao tác như lần thứ nhất nhưng trước khi lặp
lại biến đếm j phải tăng lên 1
Trang 16- Số lần lặp tất cả là 6 lần cho cả hai vòng lặp như ta xác định ban đầu.
- Đoạn chương trình trên chạy xong, ta thu được kết quả là:
a := a + j;
If j < 3 then Begin Writeln(i, j, a, b);
Readln;
16
Trang 17End;
b : = b + a ; Writeln(i, j, a, b);
Readln;
End;
End
- Dùng Step over để chạy chương trình từng bước cho học sinh quan sát
- Kết quả chạy bằng Pascal cũng giống như việc thực hiện trong bảng trên
- Sửa lại chương trình trên cho gọn và đúng yêu cầu
b : = b + a ; writeln(i, j, a, b);
- Chạy lại chương trình cho học sinh quan sát
3 Mối quan hệ giữa các giải pháp, biện pháp:
Pascal là một môn học rất trừu tượng, rất khó đòi hỏi về trí tuệ, tư duy rấtcao Nhưng với trình độ nhận thức của học sinh lớp 8, Bộ Giáo dục đã đưa ramột chương trình không cao lắm giống như là giới thiệu cho học sinh biết một
Trang 18ngôn ngữ lập trình, biết thế nào là lập trình và qua đó khơi lên nguồn sáng tạocho những em học sinh thực sự yêu thích, say mê môn học này.
Khi các em nắm rõ phần lý thuyết, ý nghĩa của những câu lệnh thì các em
sẽ cố gắng tư duy và thực hiện một cách tự tin Có như thế khi các em gặp mộtthắc mắc hoặc trở ngại nào đó thì các em có thể tìm gặp bạn bè, thầy cô để thảoluận, trao đổi để giải quyết được những khó khăn khi làm quen với Pascal Các
em cũng có thể tìm hiểu trong những sách viết về Pascal hoặc một số trang web,diễn đàn trên mạng để học hỏi them và sưu tầm thêm một số bài tập phù hợpvới chương trình mình đã học từ đơn giản đến nâng cao
Khi gặp một bài toán nào có câu lệnh For hơi khó hiểu, các em có thểthực hiện bằng tay theo cách mà chúng ta vừa thực hiện ở trên, sau đó kiểmchứng lại bằng, một chương trình hoàn chỉnh
4 Kết quả khảo nghiệm, giá trị khoa học của vấn đề nghiên cứu, phạm vi
và hiệu quả ứng dụng:
Bản thân tôi đã trực tiếp vận dụng các giải pháp vào lớp dạy thì thấyphương pháp này mang lại hiệu quả một cách thiết thực, chất lượng bộ môn tăngdần
Các em học sinh yếu trước đây, đặc biệt một số em học sinh dân tộc thiểu
số tự mình suy nghĩ làm bài và còn mạnh dạn phát biểu xây dựng bài
Trước đây, môn Pascal này các em rất ngại học vì độ trừu tượng của nónên số lượng học sinh hiểu bài, trên trung bình chỉ khoảng 30% nhưng nay con
số này đã thay đổi lên khoảng 70% đến 80% Đó là điều đáng mừng cho nhữnggiáo viên dạy môn Pascal lớp 8
Một điều cũng rất hay là khi đầu năm tôi giới thiệu môn Pascal cho các embiết về độ khó, độ hay của nó thì các em cho biết đã được các anh chị lớp trước
“trấn an tư tưởng” khi bắt đầu làm quen với Pascal nên các em đã chuẩn bị tinhthần để tiếp hội môn học này Đây là điều mà tôi rất mừng khi các em để tâm tớikhông chỉ câu lệnh lặp mà các em đã được phân tích kỹ mà cả các phần kháctrong chương trình Pascal lớp 8
18