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 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 giáo dục
MỤC LỤC Nội dung Trang MỤC LỤC 1 CƠ SỞ ĐỀ XUẤT GIẢI PHÁP 1.1 Sự cần thiết hình thành giải pháp 1.2 Mục tiêu giải pháp 1.3 Các đề xuất giải pháp 1.3.1 Căn lý luận 1.3.2 Căn vào tình hình thực tiễn 1.4 Phương pháp thực 1.4.1 Phương pháp nghiên cứu tài liệu 1.4.2 Phương pháp kiểm tra 1.5 Đối tượng áp dụng 1.6 Phạm vi áp dụng QUÁ TRÌNH HÌNH THÀNH VÀ NỘI DUNG GIẢI PHÁP 2.1 Giải pháp biết 2.2 Nội dung giải pháp 2.2.1 Vận dụng cấu trúc câu lệnh lặp while do, lỗi câu lệnh 11 2.2.2 Vận dụng cấu trúc câu lệnh lặp while giả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 giả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 em viết chương trình 19 HIỆU QUẢ GIẢI PHÁP 21 3.1 Thời gian áp dụng 21 3.2 Hiệu đạt 21 3.3 Khả triển khai, áp dụng giải pháp 23 KẾT LUẬN VÀ ĐỀ XUẤT, KHUYẾN NGHỊ 23 4.1 Kết luận 23 4.2 Bài học kinh nghiệm 24 4.3 Đề xuất, khuyến nghị 25 TÀI LIỆU THAM KHẢO 26 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 phát triển nhanh chóng khoa học công nghệ nói chung ngành tin học nói riêng, với tính ưu việt, tiện dụng ứng dụng rộng rãi, tin học ngày phần thiếu nhiều ngành công xây dựng phát triển xã hội Hơn sâu vào đời sống người Để đáp ứng yêu cầu trên, môn Tin học đưa vào giảng dạy hầu hết trường phổ thông Môn học giúp học sinh bước đầu làm quen với phương pháp giải vấn đề theo quy trình công nghệ kĩ sử dụng máy tính phục vụ học tập sống Với môn tin học, học sinh học cách sử dụng, giao tiếp với máy tính, sử dụng 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 cung cấp học lập trình với ngôn ngữ lập trình Pascal Trong trình giảng dạy, nhận thấy Pascal môn học khó em học sinh khối 8, có số thuật toán em chưa học môn Toán, thêm vào em phải sử dụng câu lệnh Tiếng Anh để thể lập trình Do việc học tập học sinh mang tính mơ hồ, bị ép buộc, có nhiều học sinh sợ môn Tin học tính chất khô khan, khó hiểu môn học Và đặc biệt, bước đầu, học sinh biết đến lập trình ngôn ngữ lập trình, nên việc vận dụng câu lệnh, cấu trúc điều khiển để từ thuật toán xây dựng chương trình đa phần học sinh gặp không khó khăn, đặc biệt việc vận dụng cấu trúc điều khiển như: cấu trúc điều khiển rẽ nhánh, cấu trúc điều khiển lặp Từ thực tế đó, không ngừng học hỏi để tìm biện pháp khắc phục Và kinh nghiệm, đưa tóm lược câu lệnh lặp while…do (câu lệnh lặp với số lần chưa biết trước) đưa số ví dụ để học sinh vận dụng cấu trúc câu lệnh lặp để giải tập có hiệu quả, nhằm giúp học sinh tiếp thu nhanh, nhớ kiến thức lâu cảm thấy hứng thú học tập Cùng với công tác giảng dạy qua tiết hội giảng, với giúp đỡ ban giám hiệu đồng nghiệp với vốn kiến thức, kinh nghiệm mình, đúc kết vài kinh nghiệm để viết sáng kiến giải pháp: “Một số ví dụ giúp học sinh vận dụng giải tập câu lệnh lặp while tin học 8” Với thời gian hạn chế, sáng kiến nhiều thiếu sót Kính mong quý đồng nghiệp có thêm nhiều ý kiến đóng góp để báo cáo hoàn chỉnh đạt hiệu sử dụng 1.2 Mục tiêu giải pháp - Trang bị kiến thức giúp học sinh ham học môn tin học đặc biệt lập trình Pascal hơn, không lo sợ học môn đặc biệt dùng câu lệnh lặp while…do để giải tập - Giáo dục ý thức, xây dựng tính cẩn thận, ưa tìm tòi, khắc sâu kiến thức học - Giúp HS nhận thức kiến thức có ý chí vươn lên học tập, em hứng thú say mê không mệt mỏi để phát triển trí tuệ thân - Từ giúp HS nhận thức học tập tốt, nhanh nhẹn, tư duy, sáng tạo tìm tòi kiến thức - Hình thành cho học sinh số phẩm chất lực cần thiết cho người lao động đại - Góp phần hình thành phát triển tư việc tiếp nhận công nghệ - Có ý thức thói quen sử dụng máy tính hoạt động học tập, lao động xã hội đại - Biết đa dạng phong phú thiết bị thời đại bùng nổ công nghệ thông tin - 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, giúp cho nâng cao trình độ chuyên môn tốt 1.3 Các đề xuất giải pháp 1.3.1 Căn lý luận - Thực có hiệu Nghị số 29-NQ/TW ngày 04/11/2013-Hội nghị lần /BCHTW Khóa XI “Đổi bản, toàn diện giáo dục đào tạo đáp ứng yêu cầu công nghiệp hóa, đại hóa điều kiện kinh tế thị trường định hướng xã hội chủ nghĩa hội nhập quốc tế” Tiếp tục thực có hiệu quả, sáng tạo việc học tập làm theo gương đạo đức Hồ Chí Minh theo Chỉ thị số 03-CT/TW ngày 14/5/2011 Bộ Chính trị; chương trình hành động Sở GDĐT, Tỉnh ủy UBND Tỉnh Các vận động, phong trào thi đua ngành việc làm thiết thực, hiệu quả, phù hợp điều kiện của nhà trường, tổ chuyên môn - Thực phong trào thi đua viết sáng kiến kinh nghiệm phòng giáo dục đào tạo huyện Châu Đức - tỉnh Bà Rịa Vũng Tàu Đặc trưng môn Tin học khoa học gắn liền với công nghệ, mặt trang bị cho học sinh kiến thức khoa học Tin học, phát triển tư thuật toán, rèn luyện kĩ giải vấn đề, mặt khác phải trọng đến rèn luyện kĩ thực hành, ứng dụng, tạo điều kiện để học sinh thực hành, nắm bắt tiếp cận công nghệ Tin học phục vụ học tập đời sống Nội dung chương môn Tin học hành trường phổ thông đáp ứng yêu cầu - Qua giảng dạy thấy môn tin học, chương trình lớp học sinh bắt đầu làm quen với ngôn ngữ lập trình (Pascal) ngôn ngữ lập trình có tính cấu trúc chặt chẽ từ cấu trúc liệu, cấu trúc câu lệnh đến cấu trúc chương trình, học sinh học cách làm ứng dụng cho máy tính, trải nghiệm rèn luyện tính tư logic lập trình thông qua ngôn ngữ bậc cao đơn giản, gần gũi Tuy nhiên bước đầu học sinh biết đến lập trình ngôn ngữ lập trình, đa phần học sinh gặp không khó khăn, đặc biệt việc vận dụng cấu trúc điều khiển lặp… Xuất phát từ lý trên, nghiên cứu viết lên suy nghĩ mình, trình bày số ý kiến nhỏ nội dung: “Một số ví dụ giúp học sinh vận dụng giải tập câu lệnh lặp while…do tin học 8” 1.3.2 Căn vào tình hình thực tiễn Nhà trường trang bị cho phòng máy tính, máy chiếu, học, học sinh có điều kiện tiếp cận với công nghệ thông tin, thể nghiệm thao tác trực tiếp máy nên dễ dàng nắm bắt nội dung học Đối với giáo viên giáo viên trẻ có điều kiện tiếp cận với tiến công nghệ thông tin, hỗ trợ lớn cho công tác giảng dạy Qua chương trình tin học lớp 6,7 em trang bị kĩ định việc sử dụng máy tính Tuy trang bị cho phòng máy tính hệ thống phòng thực hành tin học chưa thực đáp ứng yêu cầu giảng dạy, thiếu thiết bị máy móc để học sinh thực hành, máy sử dụng lâu xuống cấp, hỏng hóc Do đặc thù môn, nên nhiều học sinh chưa thực say mê với môn học, thờ coi nhẹ việc học tin học Đa phần học sinh nhà trường khó khăn nên 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 tin học lớp 8, nội dung khó đa số học sinh, phần lớn học sinh thực khó khăn việc nắm bắt ý nghĩa câu lệnh cách vận dụng chúng việc lập trình, nhiều học sinh sau xác định yêu cầu toán thường dừng lại việc xây dựng biểu diễn thuật toán cho toán (dưới dạng sơ đồ liệt kê bước) chưa biết sử dụng câu lệnh để mô tả thao tác thành chương trình, nên kết học sinh bế tắc việc giải toán lập trình dẫn đến kết giảng dạy chưa cao Đặc biêt, em học đến cấu trúc câu lệnh lặp, học sinh khó phân biệt lặp, cần lặp kết thúc việc lặp, gặp toán cần sử dụng cấu trúc lặp để giải đa số học sinh cách làm, tìm cách làm làm để 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 công tác giảng dạy nên việc truyền đạt cho học sinh hiểu chất cách vận dụng cấu trúc câu lệnh gặp không khó khăn, lúng túng tâm nhiều vào lí thuyết mà 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 tìm hiểu thực tiễn trường, thấy nhiều học sinh chưa nắm vững kiến thức lập trình, mà tin học nội dung nhiều khó hiểu nên chất lượng môn chưa tốt, em hứng thú học môn học mang tính chất thuật giải khó hiểu Vì vậy, trăn trở: Làm để nâng cao chất lượng môn? Làm để học sinh hứng thú, say mê học? Có biện pháp để tạo hứng thú say mê tìm tòi sáng tạo, vận dụng học vào thực tiễn?… Với mong muốn tìm đáp án đó, thúc đẩy chọn nghiên cứu sáng kiến giải pháp: “Một số ví dụ giúp học sinh vận dụng giải tập câu lệnh lặp while…do tin học 8”, nhằm góp phần đưa chất lượng môn tin học lên, giúp em có vốn kiến thức lập trình, đặc biệt câu lệnh lặp với số lần chưa biết trước vững vàng không sợ học lập trình Pascal 1.4 Phương pháp thực hiện: 1.4.1 Phương pháp nghiên cứu tài liệu - Sưu tầm nghiên cứu tài liệu có liên quan: Sách giáo khoa, sách giáo viên - Phương pháp quan sát - Phương pháp tổng kết kinh nghiệm - Phương pháp thực nghiệm - Phương pháp đàm thoại nghiên cứu vấn đề 1.4.2 Phương pháp kiểm tra Giáo viên lồng ghép giảng để đưa số câu hỏi, tập để kiểm tra thông qua hoạt động nhóm, phiếu học tập, tổ chức cho học sinh trò chơi,… 1.5 Đối tượng áp dụng Áp dụng cho học sinh khối 8, giáo viên môn tin học 1.6 Phạm vi áp dụng Đề tài nghiên cứu qua thực tế giảng dạy trường THCS Quang Trung nói chung, tổ Tin học nói riêng Thông qua giáo viên giảng dạy môn tin học năm vừa qua Do điều kiện thời gian thực nghiệm ngắn, nên phạm vi nghiên cứu sáng kiến kinh nghiệm thực môn tin học lớp QUÁ TRÌNH HÌNH THÀNH VÀ NỘI DUNG GIẢI PHÁP 2.1 Giải pháp biết Từ năm học 2015- 2016, đến năm học 2016- 2017, huyện Châu Đức, trường THCS Quang Trung áp dụng mô hình trường học lớp 6, lớp với mô hình học phần lớn đòi hỏi học sinh phải tự giác học tập Trong trình giảng dạy, nhận thấy đa số học sinh trường chưa ý thức cao việc tự học, tự đọc tài liệu trước đến lớp để lĩnh hội, tiếp thu kiến thức dễ dàng dễ hiểu Và đặc biệt học sinh lớp 8, bắt đầu học ngôn ngữ lập trình Pascal, gặp nhiều khó khăn sử dụng câu lệnh, hay chương trình viết nào, chạy theo yêu cầu tập Mà đa số em nhút nhát, sợ hỏi thầy cô giáo nội dung chưa hiểu Và đặc biệt học sinh lẫn lộn câu lệnh lặp for…do với while do, hai câu lệnh khó áp dụng để giải tập cho phù hợp với hai câu lệnh đó, nên nhiều em sợ học môn lập trình Pascal 8, dù em có khả năng, gặp rắc rối, khó tập mẫu em làm không được, phần em chưa có kĩ lập trình trình tự bước nên khó giải vấn đề đặt 2.2 Nội dung giải pháp 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 từ thực tiễn việc học sinh hiểu vận dụng cấu trúc câu lệnh lặp lập trình, đưa giải pháp đem lại hiệu việc giảng dạy, hướng dẫn học sinh giải số toán có vận dụng câu lệnh lặp while 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, biết số lỗi thường gặp, biết cách khắc phục lỗi đơn giản đó, từ em biết cách vận dụng vào giải tập, tăng hứng thú với môn học nâng cao chất lượng giáo dục Giải pháp cụ thể sau: * Cấu trúc câu lệnh lặp với số lần chưa biết trước while do: - Tác dụng: Dùng để xây dựng chu trình với số lần lặp chưa xác định trước - Cú pháp: While ; Trong đó: + while, từ khóa + Điều kiện trả giá trị sai + Câu lệnh: Có thể câu lệnh đơn câu lệnh ghép (đặt cặp từ khóa begin end;) - Nguyên lý hoạt động: Bước 1: Kiểm tra điều kiện Bước 2: - Nếu điều kiện sai, câu lệnh bị bỏ qua việc thực lệnh lặp kết thúc - Nếu điều kiện đúng, thực câu lệnh quay lại bước Nhận xét: - Câu lệnh thực lặp lặp lại nhận giá trị sai Câu lệnh không thực lần nhận giá trị sai từ bắt đầu vào chương trình * Chú ý: + Trong thân chương trình phải có câu lệnh làm thay đổi giá trị để tránh xảy vòng lặp vô hạn + Chương trình lớp 8: Điều kiện biểu thức quan hệ (hay gọi phép so sánh) biểu thức logic Biểu thức quan hệ như: Các phép quan hệ Mô tả Ví dụ = Bằng 5=5 < Nhỏ 4 Lớn 7+x>5 Khác a+10 = Nhỏ Lớn 4=2 10 Công việc lặp lại tăng n lần đơn vị cộng vào S tìm n lớn nhất, phải đảm bảo yêu cầu S