1 Mở đầu 1 1 Lí do chọn đề tài Ngày nay, trên thế giới đang diễn ra quá trình tin học hoá trên nhiều lĩnh vực hoạt động của xã hội loài người và đem lại nhiều hiệu quả to lớn Việc sử dụng máy tính khô[.]
1 Mở đầu 1.1 Lí chọn đề tài Ngày nay, giới diễn trình tin học hoá nhiều lĩnh vực hoạt động xã hội loài người đem lại nhiều hiệu to lớn Việc sử dụng máy tính khơng cịn bó hẹp viện nghiên cứu, trường đại học, trung tâm máy tính mà cịn mở rộng quan, tổ chức kinh tế, gia đình Song song với trình trên, việc giảng dạy Tin học trường đại học, THPT đẩy mạnh đôi với việc tăng cường trang bị máy vi tính Đảng Nhà nước ta nhận thấy tầm quan trọng ngành Tin học đưa môn học vào trường phổ thông mơn học khác Chính vậy, giáo viên giảng dạy môn Tin học trường phổ thơng, việc tìm hiểu, nghiên cứu vấn đề Tin học, với việc tìm biện pháp giảng dạy Tin học nhà trường phổ thông công việc cần phải làm thường xuyên, nhằm đáp ứng với đòi hỏi ngày cao xã hội Trong bối cảnh toàn ngành Giáo dục Đào tạo nỗ lực đổi phương pháp dạy học theo hướng phát huy tính tích cực chủ động học sinh hoạt động học tập Điều 24.2 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 học sinh, phù hợp với đặc điểm lớp học, môn học; bồi dưỡng phương pháp tự học, rèn luyện kỹ 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” Chính điều mà việc giáo viên phải tìm phương pháp dạy phù hợp, giúp HS tiếp cận kiến thức, giải toán đơn giản mang lại hứng thú học tập cho HS, từ giúp em u mơn học Xuất phát từ thực tiễn giảng dạy nhiều năm môn Tin học lớp 11 tơi thấy rằng, để đạt hiệu cao phần học, tiết học cần có cách thiết kế giảng cho phù hợp với nội dung kiến thức, phương pháp, phương tiện dạy học phải phù hợp với đối tượng học sinh Để qua phần học, tiết học học sinh thích thú với kiến thức mới, qua hiểu kiến thức học lớp, đồng thời học sinh thấy tầm quan trọng vấn đề việc ứng dụng kiến thức trước hết để đáp ứng u cầu mơn học, sau việc ứng dụng vào cơng việc thực tiễn đời sống xã hội Trong thời đại thông tin bùng nổ ngày nay, việc lập chương trình tự hoạt động cho máy tính, máy gia dụng cần thiết Và để làm việc cần có q trình nghiên cứu, học tập ngơn ngữ lập trình lâu dài, qua ngư ời lập trình chọn ngơn ngữ lập trình thích hợp Tuy nhiên thứ điều có điểm khởi đầu nó, với học sinh việc học lập trình giúp em hình dung đời, cấu tạo, hoạt động ích lợi chương trình hoạt động skkn máy tính, máy tự động…Qua giúp em có thêm định hướng, niềm đam mê tin học, nghề nghiệp mà em chọn sau Tuy nhiên, môn học bậc học THPT mơn Tin học lớp 11 em học sinh cho mơn học “khó nhai” môn học Từ việc em người sử dụng phần mềm sẵn có như: hệ điều hành, soạn thảo văn Word, bảng tính Excel, phần mềm học tập, nghe nhạc hay chơi game… em lại người phải tìm lời giải cho toán, bước cho máy tính thực viết chương trình để tạo sản phẩm phần mềm cho người khác sử dụng bước khởi đầu, Các em học sinh phải làm quen với nhiều kiểu liệu mà môn học khác khơng có, nhiều học sinh cịn bỡ ngỡ khơng hiểu kiểu số ngun mà lại chia làm nhiều kiểu khác mà toán học gồm số nguyên âm nguyên dương Hoặc loại thơng tin hình ảnh, âm thanh… xử lý Kiến thức khó, học sinh sợ học môn Tin học 11, kết giảng dạy thấp, lớp học sinh yếu mơn tự nhiên, có điều kiện sử dụng máy tính Người thầy phải làm để khắc phục điều này? Để khắc phục điều đó, theo tơi cần phải tìm tịi, nghiên cứu tìm tốn phù hợp, kích thích độc lập, tích cực học sinh học tập Học sinh tự tìm ý tưởng sáng tạo vận dụng thiết thực vào sống thực tế nhu cầu nảy sinh, em tự hồn thành ý tưởng Trên sở mà học sinh học tập lập trình, để giúp cho học sinh nhìn nhận vấn đề cách tích cực hơn, sáng tạo giúp cho em u thích lập trình nhiều Hơn nữa, để em thực hứng thú môn học thân em phải tự lập trình tốn đơn giản, tốn phải chạy cho kết cụ thể, có kích thích em cố gắng Xuất phát từ thực tế giảng dạy môn Tin học lớp 11 nhiều năm trường THPT Tĩnh Gia mình, tơi nhận thấy khả lập trình đa số em cịn yếu, đặc biệt phần đông HS không học khối A, B Nếu em không làm tập, dẫn đến chán nản, động lực học tập giảm sút Vì trăn trở lớn giáo viên dạy học để giúp em học yếu lập trình giải toán đơn giản, làm kiểm tra tập cô giao lớp, thơi em nhen nhóm đam mê, làm tập dễ có ý định lập trình tốn phức tạp Đấy thành công thực thân áp dụng cách phân loại tập mảng chiều dạy học môn Tin học 11 trường THPT Tĩnh Gia Tác giả viết SKKN “Sử dụng phương pháp phân loại tập kiểu mảng chiều nhằm nâng cao chất lượng giảng dạy học sinh yếu môn Tin học lớp skkn 11 trường THPT Tĩnh Gia ” dựa thực tế giảng dạy trường THPT Tĩnh Gia 4, với mong muốn giúp phần cho đồng nghiệp, em HS độc giả quan tâm đến vấn đề thấy dễ dàng gặp toán dạng mảng chiều nội dung chương trình Tin học lớp 11 giáo dục hướng dẫn thực phân phối chương trình sở giáo dục đào tạo Thanh Hóa 1.2 Mục đích nghiên cứu Xuất phát từ nhu cầu thực tế giảng dạy Tin học lớp 11 nhiều năm trường THPT Tĩnh Gia 4, nhận thấy thân cần phải xây dựng giáo án với phương pháp dạy học khác để phù hợp với đối tượng học sinh lớp cho đa số em hiểu bài, đặc biệt lập trình để giải toán đơn giản sách giáo khoa sách tập nhằm nâng cao hiệu học tập HS Đó mục đích nghiên cứu đề tài thân 1.3 Đối tượng nghiên cứu Đối tượng nghiên cứu đề tài học sinh yếu môn Tin học lớp 11 trường THPT Tĩnh Gia 1.4 Phương pháp nghiên cứu Đề tài nghiên cứu dựa phương pháp nghiên cứu xây dựng sở lí thuyết, phương pháp điều tra khảo sát thực tế, phương pháp nêu giải vấn đề, phương pháp thu thập thông tin skkn Nội dung sáng kiến kinh nghiệm 2.1 Cơ sở lí luận sáng kiến kinh nghiệm - Khi học sinh học Bài 11 “Kiểu mảng”, việc học sinh tiếp cận với ngơn ngữ lập trình có cấu trúc việc không đơn giản, tập kiểu mảng lại nhiều, đa dạng nên học sinh gặp khó khăn lập trình khơng biết phân loại tập để giải chúng - Ở kiểu mảng giáo viên tạo hứng thú cho học sinh ví dụ cụ thể, làm công việc mà em gặp thực tế sống toán đếm, tốn tính tổng, - Việc lập trình giải tốn ngơn ngữ lập trình cụ thể em làm quen từ đầu năm đến nên đa số học sinh dễ bắt nhịp lập trình giải toán kiểu mảng 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm Khi bắt đầu vào dạy học phần mảng chiều chương trình Tin học lớp 11 tơi nhận thấy khó khăn sau: - Đây kiểu liệu có cấu trúc nên kiến thức HS tiếp cận - Bài tập kiểu mảng chiều từ dễ đến khó nhiều, phức tạp, nhiều dạng nên việc phân loại để giải HS yếu vất vả Do khó khăn nói trên, giáo viên khơng tìm phương pháp dạy học phù hợp với đối tượng HS khác dẫn đến phần lớn HS yếu không làm tập, em cảm thấy chán nản, không hứng thú với môn học, không nắm vững kiến thức phần mảng chiều ảnh hưởng lớn đến kết học tập phần sau Chính vậy, việc giáo viên giảng dạy phải có phương pháp để phân loại dạng tập đơn giản giúp nâng cao hứng thú lập trình HS yếu vấn đề cốt lõi, làm điều kích thích em học tốt lập trình, có ý thức lập trình chất lượng học tập HS nâng lên Thực tế áp dụng phương pháp phân loại tập mảng chiều thân giảng dạy Tin học 11 nhiều lớp, nhiều năm trường THPT Tĩnh Gia thấy kết học tập nâng lên rõ rệt, hầu hết HS có khả lập trình tốn mảng chiều, kết kiểm tra thi hết học kỳ tăng lên so với trước, động lực để giúp phận khơng nhỏ HS tìm tịi để lập trình tốn khó hơn, phức tạp 2.3 Các giải pháp sử dụng để giải vấn đề 2.3.1 Dạng Các tốn tính tổng phần tử mảng chiều thỏa mãn điều kiện skkn (Gồm tổng phần tử chẵn, lẻ, âm, dương, bội số k ) a Phương pháp tiến hành Khi gặp tốn cần: a1 Xác định toán: Gồm phần: - Input: Số nguyên N, phần tử từ a1,a2, ,an - Output: Tính tổng phần tử thỏa mãn điều kiện a2 Thuật tốn: - Nhập số phần tử (n) mảng chiều (nếu có) - Nhập giá trị phần tử mảng chiều (a[i]) - S=0; - Duyệt từ đầu đến cuối mảng, thõa mãn điều kiện S=S+a[i]; - Đưa tổng S hình a3 Cài đặt chương trình: Dùng câu lệnh ngơn ngữ lập trình C++ để lập trình giải tốn b Ví dụ áp dụng Ví dụ 1: Lập trình nhập vào từ bàn phím mảng chiều gồm 10 phần tử nguyên, tính tổng phần tử chẵn đưa kết hình? VD: Các phần tử mảng chiều gồm: -2 19 12 -7 87 Kết S=20 Cách làm: b1 Xác định toán: - Input: Các phần tử từ a1,a2, ,a10 - Output: Tính tổng phần tử chẵn mảng b2 Thuật toán: - Nhập giá trị 10 phần tử mảng chiều - s=0; - Duyệt từ phần tử thứ đến 10, phần tử chẵn s=s+a[i] - Đưa s hình b3 Chương trình: #include #define N 1000 using namespace std; skkn int a[N+1]; int main() { for (int i=1; i>a[i]; int s=0; for (int i=1; in; for (int i=1; i>a[i]; s=0; for (int i=1; i0) s=s+a[i]; cout