Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11Sáng kiến kinh nghiệm, SKKN - Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11
Trang 1SỞ GIÁO DỤC VÀ ĐÀO TẠO NINH BÌNH TRƯỜNG THPT NINH BÌNH – BẠC LIÊU
SÁNG KIẾN
GIÚP HỌC SINH TRÁNH MỘT SỐ LỖI THƯỜNG GẶP
TRONG CHƯƠNG TRÌNH TIN HỌC LỚP 11
Lĩnh vực/Môn: Tin học.
Tác giả:
Trịnh Thị Kim Phương Nguyễn Thị Chinh Giáo viên môn: Tin học.
Trang 2Năm học 2017 - 2018
Trang 3CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc ĐƠN YÊU CẦU CÔNG NHẬN SÁNG KIẾN
Kính gửi: Sở Giáo dục và Đào tạo Ninh Bình.
Tỷ lệ đóng góp vào sáng kiến
1 Trịnh Thị Kim Phương 21/11/1984
Trường THPT Ninh Bình – Bạc Liêu
Giáo viên
Cử nhân Tin học 50%
2 Nguyễn Thị Chinh 05/06/1981
Trường THPT Ninh Bình – Bạc Liêu
Giáo viên
Cử nhân Tin học 50%
2006 - 2007.
Định hướng đổi mới phương pháp dạy học đã được thống nhất theo xu hướng tích cực hóa hoạt động của học sinh dưới sự hướng dẫn của giáo viên: Học sinh tự giác chủ động tìm tòi, phát hiện, giải quyết nhiệm vụ, nhận thức và có ý thức vận dụng linh hoạt, sáng tạo các kiến thức, kỹ năng đã thu nhận được Trong quá trình dạy học, giáo viên có thể vận dụng nhiều cách đánh giá khác nhau để giúp học sinh định hướng tốt trong học tập, tạo ra những
Trang 4sản phẩm chất lượng và hình thành, phát triển năng lực Vai trò của giáo viên chỉ là hướng dẫn, tư vấn chứ không phải là chỉ đạo, quản lí công việc của học sinh
Tuy nhiên, tin học vẫn là một môn học mới so với các môn khác ở các trường phổ thông nên học sinh còn nhiều bỡ ngỡ khi tiếp cận với môn học này Nội dung tin học lập trình lớp 11 là một nội dung mới lạ đối với đa số học sinh với nhiều khái niệm, thuật ngữ, cấu trúc dữ liệu mà học sinh mới được tiếp xúc lần đầu Chính vì vậy mà học sinh dễ mắc sai lỗi khi lập trình giải quyết các bài toán Ngoài các lỗi mà khi dịch chương trình máy báo
ra (các lỗi về cú pháp) thì còn rất nhiều các lỗi mà học sinh khi mắc phải không biết tại sao
và không biết sửa chỗ nào Có nhiều học sinh khi chạy một chương trình pascal mặc dù không dịch ra lỗi nào nhưng kết quả thu được vẫn không đúng và các em không biết sửa như thế nào Hơn nữa trong sách bài tập tin học, sách giáo, sách tham khảo hiện vẫn chưa có sách nào hướng dẫn học sinh phát hiện và sửa các lỗi đó.
Tin học lớp 11 là một môn học trìu tượng đòi hỏi giáo viên và học sinh phải hoạt động tích cực, giáo viên cần đổi mới phương pháp dạy để học sinh có thể:
+ Nghe giáo viên giảng bài, nhận xét, nghe bạn bè trả lời
+ Nhìn giáo viên viết, bài giảng chiếu trên màn hình
+ Đọc vở ghi, đọc sách giáo khoa, sách tham khảo
+ Phát biểu ý kiến trong lớp, nhận xét ý kiến của bạn,
+ Viết kết quả công việc của mình, của nhóm
+ Làm bài tập thực hành, áp dụng kiến thức vào cuộc sống
Trong các yêu cầu trên tin học lớp 11 kĩ năng thực hành là một kĩ năng cực kì quan trọng đòi hỏi học sinh phải nắm vững kiến thức về cú pháp và ngữ nghĩa của ngôn ngữ lập trình,
Vì vậy chúng tôi đã đưa ra sáng kiến “Giúp học sinh tránh một số lỗi thường gặp trong chương trình Tin học lớp 11” để giúp học sinh có thể hoàn thiện được kĩ năng
thực hành trong chương trình Tin học lớp 11.
a Giải pháp cũ thường làm:
- Trường THPT Ninh Bình – Bạc Liêu đến nay chưa áp dụng một sáng kiến nào về việc
“lỗi” và “sửa lỗi” trong chương trình tin học 11 Một phần do các em chưa nắm vững về cú pháp của ngôn ngữ lập trình Pascal, nhiều học sinh khó khăn trong việc tổ chức dữ liệu và viết chương trình Hậu quả là có không ít học sinh còn tìm cách học thuộc lòng các chương
Trang 5trình mẫu của giáo viên và trong sách mà chưa có khả năng tự mình viết được chương trình hoàn chỉnh để chạy được chương trình Đến khi gặp lỗi thì không có khả năng tự sửa lỗi mà trong tiết thực hành giáo viên chỉ hướng dẫn học sinh sửa trực tiếp lỗi trong các bài thực hành, mà chưa tổng quát và đưa ra một số lỗi thường gặp cho học sinh.
- Ưu điểm: Học sinh nhìn thấy ngay lỗi trong một số bài toán nhất định.
- Nhược điểm: Đối với những bài thực hành khác khi không có sự hướng dẫn của giáo viên thì học sinh không thể nhìn ra lỗi trong chương trình Vì vậy giáo viên cần phải đưa ra một giải pháp để học sinh khi gặp một số lỗi bất kì, đơn giản thì có thể tự sửa lỗi được.
b Giải pháp mới cải tiến:
- Giải pháp mới:
Dựa trên cơ sở lý luận và cơ sở thực tiễn, sáng kiến trên đề xuất các giải pháp phát hiện và sửa lỗi, một số lỗi học sinh thường gặp và hướng giải quyết để giúp học sinh có thêm kinh nghiệm để tránh các lỗi thường gặp trong quá trình viết chương trình Pascal Đồng thời, sáng kiến còn giúp học sinh thêm yêu thích môn Tin học và phát triển các năng lực chung cũng như năng lực riêng biệt của môn học Từ đó phát huy được khả năng chủ động, sáng tạo ở học sinh Đồng thời khắc phục được những vấn đề mà giải pháp cũ chưa làm được.
- Tính mới, tính sáng tạo của giải pháp: Sáng kiến đã đáp ứng được nhu cầu đổi mới dạy – học theo hướng phát triển năng lực của người học cũng như năng lực tự học, tự giải quyết vấn đề, năng lực hợp tác, năng lực công nghệ thông tin nâng cao, năng lực khoa học máy tính…
3 Hiệu quả kinh tế, xã hội dự kiến đạt được:
* Hiệu quả kinh tế:
- Charles Handy: nhà triết lý kinh doanh nổi tiếng người Anh, đã nói: “Để làm cho
tương lai trở thành hiện thực, chúng ta cần phải tự tin và tin tưởng vào giá trị của chính
mình Đó là điều mà các trường học phải dạy cho mọi người” Và muốn người học có được
sự tự tin và tin tưởng vào giá trị của chính mình, họ cần được học theo phương pháp chủ động Chỉ khi người học được tự khám phá kiến thức, tự học, tự làm và tự bổ sung cho nhau thì kiến thức mới trở thành tri thức của người học, chuyển thành hành động, thành thói quen hàng ngày của họ.
Trang 6- Với cách thức tổ chức dạy học linh hoạt và phương pháp hướng dẫn học sinh phát hiện ra lỗi một cách nhanh nhất, phương pháp tìm thuật toán tối ưu, và hướng dẫn học sinh cách ứng dụng công nghệ thông tin liên quan đến kiến thức môn học trên lớp một cách hiệu quả nhất Vì vậy, giáo viên khi giảng bài đã giảm bớt chi phí từ khâu thiết kế, chuẩn bị đồ dùng, thiết bị, mô hình, tranh ảnh trong giảng dạy
- Tiết kiệm được thời gian: Nội dung sáng kiến đề cập đến các giải pháp giúp học sinh sửa lỗi cơ bản, học sinh sẽ tự phát hiện ra lỗi và cách khắc phục, giúp giáo viên tiết kiệm được thời gian, và giáo viên có thể trang bị thêm kiến thức cho học sinh.
- Tiết kiệm được tiền mua sách tham khảo vì học sinh có thể sử dụng công nghệ thông tin để phục vụ việc học.
- Đầu tư cho phát triển nguồn lực hay chính là đầu tư cho giáo dục con người mang lại hiệu quả kinh tế cao, tiết kiệm được việc khai thác sử dụng các nguồn lực khác
* Hiệu quả xã hội:
a Về phía giáo viên
- Giảng dạy chương trình tin học lớp 11 là một môn học tư duy trừu tượng vì vậy yêu cầu học sinh và giáo viên môn Tin học không ngừng trau dồi kiến thức ở nhiều lĩnh vực, phương pháp thuật toán, cách sửa lỗi là một trong những điểm rất quan trọng đủ để đáp ứng
với những đòi hỏi ngày càng cao của dạy học hiện nay Vì vậy chúng tôi đã áp dụng sáng
kiến trong quá trình giảng dạy, kết quả giảng dạy đã có nhiều chuyển biến tích cực:
- Khắc phục được hạn chế đổi mới phương pháp một cách chiếu lệ, hình thức ở giáo viên.
- Tạo không khí tự học, tự bồi dưỡng sôi nổi trong thầy và hứng thú ở trò nên giờ học hiệu quả, cuốn hút học sinh hơn.
- Kiến thức được học sinh chủ động lĩnh hội, tự mình tìm và sửa được lỗi nên có sự bền vững, hệ thống, sáng tạo.
Kết quả các lớp giảng dạy của chúng tôi được cải thiện rõ nét:
Xếp loại
Lớp
Giỏi (%)
Khá (%)
TB (%)
Yếu (%)
11A 16,6 69,4 14 0 0 Thực nghiệm Như vậy, theo thống kê ở trên, sau khi áp dụng sáng kiến HS đạt kết quả khá giỏi tăng lên, tỉ lệ điểm khá, giỏi cao (86%); điểm trung bình giảm xuống đáng kể (14); đặc biệt không có
HS có điểm yếu.
Trang 7b Về phía học sinh
- Học sinh hứng thú học bài, say sưa tìm hiểu kiến thức môn học.
- Thái độ học tập của học sinh nghiêm túc, chủ động sáng tạo trong giờ học
- Học sinh có khả năng tư duy cao, sử dụng công nghệ thông tin thành thạo, biết xử lí thông tin nhạy bén, linh hoạt.
- Học sinh hứng thú với những tiết học hơn, dễ hiểu và hiểu sâu nội dung bài học
- Đặc biệt các em sẽ có những chuyển biến rõ rệt trong khả năng vận dụng kiến thức,
kỹ năng vào thực tiễn.
4 Điều kiện và khả năng áp dụng
Điều kiện áp dụng:
+ Qua quá trình tìm hiểu và ứng dụng chúng tôi nhận thấy việc giúp học sinh tránh một số lỗi thường gặp trong chương trình tin học lớp 11 là rất cấp thiết, đó là cách thức dạy học theo hướng phát huy tính tích cực, chủ động của học sinh
+ Với việc trang bị những thiết bị và đồ dùng dạy học phục vụ cho việc cải cách giáo dục hiện nay sẽ tạo điều kiện cho giáo viên thuận lợi trong việc dạy học theo phương pháp tích cực.
+ Điều kiện cơ sở vật chất của các trường đều tốt, trình độ giáo viên ở điều kiện chuẩn và trên chuẩn là khá cao
+ Học sinh được trang bị kiến thức một cách tốt nhất nên việc tiếp thu phương pháp giải bài tập là không khó khăn.
Khả năng áp dụng:
Chúng tôi thấy sáng kiến này có khả năng áp dụng trong tất cả các trường THPT từ nông thôn, miền núi, thị xã, thành phố trong cả nước; đặc biệt có hiệu quả cao ở nơi có công nghệ thông tin phát triển.
Kết quả khảo sát chất lượng học tập của học sinh Điểm
Trang 8Danh sách giáo viên đã tham gia áp dụng sáng kiến lần đầu:
Số
TT Họ và tên
Ngày tháng năm sinh
Nơi công tác
Chức danh Trình độ chuyên
môn
Nội dung công việc
hỗ trợ
1 Nguyễn ThịChinh 05/06/1981
Trường THPT Ninh Bình – Bạc Liêu
Giáo viên Cử nhânTin học
Giảng dạy môn tin học 11
2 Kim PhươngTrịnh Thị 21/11/1984
Trường THPT Ninh Bình – Bạc Liêu
Giáo viên Cử nhânTin học
Giảng dạy môn tin học 11
Trên đây là sáng kiến trong hoạt động dạy học của chúng tôi, kính mong nhận được
sự đóng góp ý kiến của quý vị, để chúng tôi có thể hoàn thiện hơn nữa sáng kiến của mình.
Chúng tôi xin cam đoan mọi thông tin nêu trong đơn là trung thực, đúng sự thật và hoàn toàn chịu trách nhiệm trước pháp luật.
Tôi xin chân trọng cảm ơn!
XÁC NHẬN CỦA LÃNH ĐẠO
ĐƠN VỊ CƠ SỞ
Ninh Bình, ngày 01 tháng 05 năm 2018
Người nộp đơn Trịnh Thị Kim Phương Nguyễn Thị Chinh
Trang 9PHẦN I NỘI DUNG CHƯƠNG I CƠ SỞ KHOA HỌC
1 Cơ sở lí luận
Hiện nay, công nghệ thông tin xuất hiện ở mọi nơi, sự phát triển nhanh chóng của
nó giúp cuộc sống của con người trở nên tốt đẹp hơn Công nghệ thông tin giúp cácnhà khoa học tạo ra những nghiên cứu vượt bậc nhờ việc tính toán và xử lý một khốilượng công việc khổng lồ của máy tính Chúng có thể thực hiện hàng tỷ phép tínhtrong vài giây Ngành tài chính có thể tiết kiệm hàng chục tỷ USD nhờ hệ thống máytính Internet
Một điều dễ nhận thấy là công nghệ phần cứng thay đổi với tốc độ quá nhanh,trong khi đó, các công nghệ hay các ngôn ngữ lập trình gần như chẳng mấy thay đổitrong suốt nhiều năm Pascal cũng là một trong những môn học ra đời từ rất sớm, mặc
dù nó không phải là một ngôn ngữ mạnh, nhưng nó lại là nền tảng cho mọi ngôn ngữkhác, cho nên nó vẫn còn được đưa vào giảng dạy ở các trường phổ thông, môn tinhọc lớp 11 được đánh giá là một môn học đòi hỏi sự tư duy cao, học sinh cần phảibiết tự đọc, viết thuật toán, và hoàn thiện chương trình để cho kết quả đúng Nhưng
để làm được điều đó thì quả là khá khó đối với học sinh vì khi chạy chương trìnhphần đa là vẫn còn tồn tại một số lỗi Vậy chúng ta sẽ xem lỗi là gì và phương pháp
để sửa lỗi một cách nhanh chóng và chính xác
a Các vấn đề liên quan đến “lỗi” và “sửa lỗi” trong Pascal
“Lỗi là gì ?”
Chúng ta cần hiểu “lỗi” ở đây là những vấn đề bất thường xảy ra trong quá trìnhthực hiện chương trình Pascal khiến cho kết quả nhận được không như mong muốncủa người lập trình
“Có những loại lỗi nào ?”
Có rất nhiều lỗi mà người lập trình có thể mắc phải khi viết và thực hiện chương
trình Pascal Nhưng thường được phân thành hai loại lỗi sau: Lỗi cú pháp và lỗi về
ngữ nghĩa Đối với những lỗi về cú pháp thì khi dịch chương trình, chương trình dịch
Pascal sẽ báo lỗi Và vấn đề của người lập trình ở đây là làm sao dựa vào chỉ dẫn của
Trang 10máy để sửa lỗi Còn đối với những lỗi về ngữ nghĩa, chương trình dịch của Pascalkhông thể tìm ra lỗi này Lỗi về cú pháp phải do người lập trình phát hiện ra và tươngđối phức tạp.
“Làm thế nào để sửa lỗi về ngữ nghĩa ?”
Như chúng ta đã hiểu, lỗi về ngữ nghĩa là những lỗi vô cùng phức tạp Hay nói
cách khác các lỗi này nó “muôn hình vạn trạng” Điều đó cũng cho thấy để sửa
những lỗi về ngữ nghĩa vô cùng khó khăn đối với những người mới làm quen vớingôn ngữ lập trình Pascal như học sinh lớp 11 của chúng ta Có những lỗi mà ngườihọc chưa trải qua thì khả năng sửa được gần như là bằng không Do vậy cần phảicung cấp cho học sinh những kinh nghiệm sửa lỗi, phải hình thành tư duy thuật toángiúp học sinh nhanh nhạy hơn trong quá trình học lập trình Pascal
2 Cơ sở thực tiễn
Thực tế chỉ ra rất rõ là môn tin học là một phần không thể thiếu trong hệ thốngcác môn học trong trường THPT Hơn nữa môn tin học là một trong những môn cóthể nói ngoài việc phục vụ học tập công việc, phát huy các năng lực cho người học rathì nó còn rèn luyện cho người học cách làm việc khoa học, chính xác, yêu cầu tỉ mỉtừng chút một Nó cung cấp một số kiến thức cơ bản giúp các em sau này phục vụ tốthơn cho việc học tập cũng như công tác sau này Nhưng cũng không thể phủ nhậnđược rằng trong trường THPT thì môn tin học lớp 11 là một trong những môn khó và
lạ với học sinh Qua khảo sát sơ bộ thì đa phần các em đều cho rằng tin học lớp 11 rấtkhó và cái khó nhất đó là khi viết hoặc chạy chương trình luôn luôn xuất hiện lỗi Cónhững chương trình các em viết nhiều lỗi không hiểu tại sao và không sửa được khiếncho việc học môn tin học càng trở nên nhàm chán hơn Đã từng có rất nhiều học sinhlúc bắt tay vào viết chương trình với niềm ham mê hào hứng bao nhiêu thì càng tỏ ranản hơn bấy nhiêu khi chương trình viết ra gặp quá nhiều lỗi Chính vì vậy mà với tưcách một giáo viên Tin học tôi phải có nhiệm vụ hướng dẫn các em, giúp khơi lạiniềm ham mê với Tin học
3 Thực trạng
a Thực trạng chung
Trang 11 Thuận lợi
Thuận lợi lớn nhất phải kể đến đó là được sự quan tâm sát sao của Sở Giáo Dục,Ban Giám Hiệu nhà trường đã trang bị đầy đủ các phương tiện, thiết bị hỗ trợ dạy và
học bộ môn tin học như phòng máy, máy chiếu, tranh ảnh, đồ dùng tự làm Đó là
một điều rất đáng mừng cho học sinh cũng như giáo viên môn Tin học chúng tôi để
có thể có môi trường dạy - học và đạt kết quả học tập tốt nhất
Khó khăn
Qua thực tế giảng dạy môn Tin học ở trường THPT Ninh Bình – Bạc Liêu, tôinhận thấy khi học đến chương trình Tin học lớp 11 đa số học sinh đều nhận xét bộmôn này rất khó Các học sinh thường gặp khá nhiều lỗi khi viết một chương trìnhtrong ngôn ngữ lập trình Pascal Có những lỗi mà học sinh mắc phải rất nhiều lầnxong các em lại không biết sửa như thế nào Từ đó các em thường nản hoặc hứng thúhọc môn này giảm dần Tuy nhiên cũng có một số lượng không nhỏ học sinh rất yêuthích tin học và thích tìm hiểu một số bài toán, dạng toán ngoài phạm vi sách giáokhoa
Đồng thời trong quá trình giảng dạy chúng tôi cũng nhận thấy rằng môn Tin họctuy có khó nhưng lại rất hay, rất gần gũi với thực tế cuộc sống Nếu giáo viên cóphương pháp hay thì môn này rất thu hút học sinh vì tâm lý các em đa số là ham hiểubiết tìm tòi cái mới và cái lạ
Một điều đáng buồn đó là mặc dù được trang bị phòng máy đầy đủ, được sựquan tâm của Ban giám hiệu nhưng đa số học sinh còn coi môn Tin học như là mộtmôn phụ không cần thiết hoặc có học cũng chỉ là chống đối Vì vậy với tư cách làgiáo viên dạy Tin học, nhiều năm qua chúng tôi luôn luôn cố gắng tìm ra các biệnpháp giúp các em yêu thích cũng như học tốt môn Tin học hơn nữa đặc biệt là mônTin học 11 Từ những suy nghĩ trên tôi thấy rằng cái khó khăn lớn nhất khi học mônTin học 11 đó là “những lỗi khi viết và chạy chương trình Pascal” khiến cho học sinhnản chí là việc cần phải có các biện pháp xử lý càng sớm càng tốt
b Thực trạng của việc phát hiện, sửa các lỗi thường gặp của học sinh trong khi viết và chạy chương trình Pascal.
Trang 12Để tìm hiểu thực trạng của học sinh trong việc phát hiện và sửa các lỗi khi viếtchương trình, tôi đã tiến hành thống kê trong các tiết bài tập và thực hành các lỗi màhọc sinh thường mắc phải bao gồm các lỗi như sau:
Giá trị của biến khi thực hiện chương trình vượt quá phạm vi khai báo trong phần khai báo biến.
Khai báo sai miền chỉ số cho dữ liệu kiểu mảng.
Ví dụ 2: Nhập vào một mảng số nguyên gồm các số lớn hơn 0 và nhỏ hơn
200 In mảng vừa nhập
Học sinh khai báo mảng như sau:
Var a: array[0 200] of integer;
Trong trường hợp này học sinh đã nhầm miền giá trị của mảng với kiểu chỉ số.
Giá trị biến điều khiển vượt quá miền chỉ số của mảng.
Ví dụ 3: Nhập vào một dãy số gồm 20 phần tử và cho biết dãy vừa nhập cótạo thành cấp số cộng không?
Học sinh lập trình giải bài toán trên như sau:
Trang 13while (ok) and (i<=10) do
if (a[i]-a[i-1]<>d) then ok:=false
else i:=i+1;
if ok then writeln(‘Day so tao thanh cap so cong!’)
else writeln(‘Day so khong tao thanh cap so cong!’);
readln
End
Khi thực hiện chương trình trên, chương trình dịch không báo lỗi nhưng kết quả khi thực hiện chương trình sẽ bị sai lệch
Hoang phí tài nguyên bộ nhớ:
Trong ví dụ 3 ở trên còn có một lỗi tưởng chừng như vô hại nhưng cũng khôngkém phần quan trọng đó là người lập trình chọn kiểu dữ liệu chưa phù hợp nên chưatiết kiệm được bộ nhớ cho biến i Đối với lỗi này thì chương dịch không báo lỗi vàbản thân người lập trình không ít người biết rằng chương trình của mình có lỗi
Trong khi chọn thuật toán để giải bài toán chúng ta phải đặt tiêu chí về thời gian nên hàng đầu vì thời gian là tài nguyên không tái tạo được Tiêu chí thứ 2 là tiêu chí về bộ nhớ vì bộ nhớ là một tài nguyên hạn chế Mặc dù ở ví dụ trên học
Trang 14sinh chỉ mất thêm 1 byte nhưng trong trường hợp khác có thể mất đi 1000b, 1000Mb nếu không tiết kiệm bộ nhớ
Dùng cùng tên biến điều khiển cho các vòng lặp for lồng nhau.
If a>b then write (‘ So lon nhat la:’, a);
Else write(‘ so lon nhat la:’, b);
Trước “Else” không có dấu chấm phẩy, sử dụng dấu chấm phẩy sau từ khoá
“do” trong các câu lệnh lặp dẫn đến câu lệnh lặp rỗng không làm việc gì cả Yêu cầu học sinh ghi nhớ các quy tắc của Pascal khi viết chương trình đặc biệt trong câu lệnh ghép, trong các vòng lặp
Không phân biệt được hằng xâu và biến.
Học sinh cần phải chú ý hằng xâu đặt trong cặp nháy đơn còn biến thì không cần đặt trong cặp nháy đơn.
Tràn bộ nhớ do kết quả tính toán vượt quá giới hạn.
Trang 16Ví dụ 8:
Var i:real;
For i:=1 to n do write (i);
Biến đếm trong các vòng lặp luôn luôn nhận giá trị nguyên hoặc dưới dạng kí
tự, do vậy khi khai báo biến đếm tuyệt đối không sử dụng kiểu dữ liệu thực
Gán kết quả phép chia cho biến kiểu nguyên.
Sai lầm này là do học sinh chưa quen với các kí hiệu trong Pascal
Rơi vào vòng lặp vô hạn.
Đây là một lỗi rất thường gặp khi học sinh viết các chương trình có chứa vònglặp “While – do”
Ví dụ 10:
i:=1; While i< 10 do write (i);
Ví dụ trên đã rơi vào vòng lặp vô hạn bởi giá trị của i bao giờ cũng nhỏ hơn 10