SKKN Tạo hứng thú học tập cho học sinh trường THPT Thường Xuân 2 khi dạy bài “Cấu trúc lặp” (SGK – Tin học 11) bằng việc lựa chọn bài toán phù hợp và được mô phỏng bởi phần mềm Crocodile 1 I MỞ ĐẦU 1[.]
I MỞ ĐẦU Lí chọn đề tài Tạo hứng thú cho người học vấn đề quan trọng hoạt động dạy - học Bởi vì, biết, dạy - học hoạt động phức tạp, chất lượng, hiệu phụ thuộc vào người học Và điều lại phụ thuộc vào nhiều yếu tố, như: lực nhận thức, động học tập, tâm ; cịn phụ thuộc vào: mơi trường học tập, người tổ chức trình dạy học, hứng thú học tập Các nhà nghiên cứu tâm lý học cho rằng, hứng thú thái độ đặc biệt cá nhân đối tượng đó, có ý nghĩa sống có khả mang lại khối cảm cá nhân q trình hoạt động Sự hứng thú biểu trước hết tập trung ý cao độ, say mê chủ thể hoạt động Sự hứng thú gắn liền với tình cảm người Trong cơng việc gì, có hứng thú làm việc, người có cảm giác dễ chịu với hoạt động, làm nẩy sinh khát vọng hành động cách có sáng tạo Ngược lại, khơng có hứng thú, dù hoạt động không đem lại hiệu cao Đối với hoạt động nhận thức, sáng tạo, hoạt động học tập, khơng có hứng thú, kết khơng hết, chí xuất cảm xúc tiêu cực Việc học có tính chất đối phó, miễn cưỡng, người học may tiếp thu lượng kiến thức ít, khơng sâu, khơng chất Vì dễ quên Khi có hứng thú, say mê nghiên cứu, học tập việc lĩnh hội tri thức trở nên dễ dàng hơn; ngược lại, nắm bắt vấn đề, tức hiểu người học lại có thêm hứng thú Trên thực tế, người khơng thích, khơng hứng thú học mơn học thường người khơng học tốt mơn học Chính vậy, việc tạo hứng thú cho người học xem yêu cầu bắt buộc làm công tác giảng dạy, môn khoa học Trên thực tế mơn Tin học THPT thường học sinh quan tâm, u thích khơng thuộc tổ hợp môn thi đại học Nhất Tin học lớp 11, nội dung kiến thức cần nhiều tư sâu khả sáng tạo Mặt khác học sinh dễ nhận thấy tin học 10, 12 thường chương trình ứng dụng, dễ hiểu, dễ vận dụng, dễ hình dung, cịn Tin học 11 thường ứng dụng dễ thấy, khó tiếp cận, khó gần gũi em học sinh Trong nhiều năm giảng dạy, thấy việc tạo hứng thú cho học sinh u thích mơn tin học, đặc biệt Tin học 11 việc làm cần thiết cần đầu tư Đối với nội dung Tin học 11, học sinh làm quen với ngôn ngữ lập trình bậc cao Thơng qua học sinh lập trình cho tốn cụ thể Khi học ngơn ngữ lập trình, học sinh học ba cấu trúc lệnh: tuần tự, rẽ nhánh lặp Trong lệnh lặp lệnh hoạt động phong phú cho kết tuyệt vời nhất, đồng thời lệnh khó học sinh lệnh áp dụng nhiều để giải toán Tin học Muốn hiểu câu lệnh lặp đòi hỏi học sinh phải có tư logic tốt Đối với học sinh giỏi lệnh khó, cịn học sinh trung bình yếu, giáo viên khơng có phương pháp phù hợp để em hiểu thực mê cung emew SangKienKinhNghiem.net Trên thực tế, trường THPT Thường Xuân 2, học sinh trung bình, yếu, chiếm tỉ lệ cao (khoảng 80%) nên câu lệnh lặp kiến thức thực khó với em Khi dạy này, giáo viên cần áp dụng số phương pháp phù hợp với đối tượng học sinh để giúp em nắm kiến thức cần thiết theo chuẩn kiến thức kĩ năng, đồng thời tạo hứng thú học lập trình cho em Từ vấn đề dẫn trên, xuất phát từ thực tiễn giảng dạy trường THPT THƯỜNG XUÂN 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 đó, học sinh thích thú với kiến thức mới, 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 vào công việc thực tiễn đời sống xã hội Chính tơi chọn đề tài Tạo hứng thú học tập cho học sinh trường THPT Thường Xuân dạy “Cấu trúc lặp” (SGK – Tin học 11) việc lựa chọn tốn phù hợp mơ phần mềm Crocodile Mục đích nghiên cứu - Nâng cao chất lượng dạy học môn Tin học trường phổ thơng, đặc biệt dạy học lập trình Tin học lớp 11 - Góp phần đổi phương pháp dạy học trường phổ thơng nói chung mơn Tin học nói riêng - Góp phần khơi dậy lịng đam mê, u thích hứng thú học môn Tin học học sinh Đặc biệt giúp em nhìn thấy ứng dụng đơn giản, cụ thể, gần gũi, thiết thực lập trình mơi trường học tập thân Đối tượng nghiên cứu - Bài cấu trúc lặp (SGK – Tin học 11) Phương pháp nghiên cứu - Dựa sở lý thuyết mơn Tốn, mơn học sở cho phát triển tư lập trình Tin học - Dựa sở lý thuyết Ngơn ngữ lập trình Pascal Sự hoạt động bước máy tính thực chương trình - Phân tích đánh giá mức độ học sinh hiểu vận dụng, giải toán Tin học, từ xây dựng, giới thiệu tốn phù hợp với đối tượng học sinh II Nội dung sáng kiến kinh nghiệm Cơ sở lí luận sáng kiến kinh nghiệm Từ xu hướng chung giới nhu cầu xã hội đòi hỏi giáo dục cần phải đổi toàn diện Nhà trường phải thay đổi nhiều hệ thống, mục tiêu, nội dung, phương pháp, hình thức tổ chức dạy học kiểm tra đánh giá mơn học để có sản phẩm đào tạo với chất lượng ngày cao, cung cấp cho thị trường biến đổi xã hội phát triển Vì giáo dục tiến hành đổi phương pháp dạy học trọng đến việc phát huy tính tích cực chủ động học sinh Coi học sinh chủ thể trình dạy học xác định phương hướng cải cách giáo dục phổ thông Việt Nam SangKienKinhNghiem.net Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm Trong lập trình, điều thú vị vận dụng câu lệnh để máy tính thực đưa kết theo mong muốn người lập trình Các ngơn ngữ lập trình bậc cao đưa ba cấu trúc lệnh: tuần tự, rẽ nhánh, lặp Như nêu phần lí do, lệnh lặp lệnh hoạt động phong phú cho kết tuyệt vời nhất, đồng thời lệnh khó học sinh, lệnh áp dụng nhiều để giải toán Tin học Nếu học sinh khơng nắm lệnh thì: + Đa số tốn em khơng viết chương trình + Các kiểu liệu có cấu trúc kiểu mảng, kiểu xâu học sinh không vận dụng Nếu sử dụng ngơn ngữ lập trình Pascal để mơ tả chất cấu trúc lặp, học sinh khó hình dung Vì cần sử dụng phần mềm Crocodile để hỗ trợ học sinh rèn luyện kĩ lập trình tư giải thuật cấu trúc lặp để đạt hiệu Bởi Crocodile phần mềm mơ hay, cơng cụ lập trình phi ngơn ngữ hiệu điêu luyện, đem lại nhiều lợi ích cho việc rèn luyện kĩ lập trình tư giải thuật cho học sinh 11 Crocodile có giao diện đẹp mắt, thân thiện dễ sử dụng Vì tạo hứng thú cho học sinh học lập trình Để giải mâu thuẫn yêu cầu dạy “Cấu trúc lặp” với tình hình thực tế dạy nội dung trường THPT THƯỜNG XUÂN 2, chọn đề tài: “Tạo hứng thú học tập cho học sinh trường THPT Thường Xuân dạy “Cấu trúc lặp” (SGK – Tin học 11) việc lựa chọn tốn phù hợp mơ phần mềm Crocodile” Các sáng kiến kinh nghiệm giải pháp sử dụng để giải vấn đề Để giảng dạy “Cấu trúc lặp” có hiệu học sinh mình, tơi xin đưa số giải pháp sau: 3.1 Sử dụng phương pháp dạy học tích cực để nâng cao hiệu cho học - Sử dụng phương tiện trực quan dạy học Trực quan giảng dạy huy động tất giác quan tham gia vào trình nhận thức Nghiên cứu phương pháp lĩnh hội ghi nhớ kiến thức học sinh, ta nhận thấy: Nếu nghe lĩnh hội 20% lượng thơng tin, nhìn lĩnh hội 30% lượng thơng tin Nếu dùng phối hợp nghe – nhìn hành động lượng thông tin tiếp thu 70% Trong dạy học Tin Học, nguyên tắc trực quan quan trọng khơng có ý nghĩa to lớn q trình nhận thức mà cịn có nhiều điều kiện thuận lợi để thực (máy tính, máy chiếu, thiết bị truyền thông) Để làm rõ cấu trúc lặp thuật tốn tính n! cần minh họa phần mềm Crocodile Giáo viên giới thiệu thuật toán phần mềm Crocodile; đưa giá trị cụ thể, u cầu học sinh dự đốn q trình hoạt động thuật toán ứng với giá trị đưa vào, trực tiếp thực thuật toán Thơng qua đó, học sinh thấy rõ chất cấu trúc lặp tốn, từ áp dụng để giải toán sau nhanh chóng xác SangKienKinhNghiem.net - Sử dụng phương pháp dạy học phát – giải vấn đề Dạy học phát – giải vấn đề hình thức dạy học giáo viên (hay học sinh) tạo hay nhiều tình gợi vấn đề, tổ chức, điều khiển học sinh phát vấn đề hoạt động giải vấn đề, qua giúp học sinh lĩnh hội kiến thức, rèn luyện kĩ Dạy học phát – giải vấn đề khơng có mục đích làm cho học sinh giải vấn đề đặt lĩnh hội kiến thức kết trình giải vấn đề, mà giúp học sinh phát triển khả khác: khả phát vấn đề, khả tìm kiếm cách giải vấn đề, khả tổ chức trình giải vấn đề, khả kiểm tra đánh giá kết Đối với dạy Cấu trúc lặp, phần kiểm tra cũ, học sinh vận dụng kiến thức học để viết chương trình đưa hình 10 dịng thơng báo “chao cac ban” Chương trình học sinh viết khơng có khó khăn, lên viết bảng học sinh phải viết đầy đủ lệnh nên dễ dàng rút nhận xét: chương trình viết lặp lại nhiều lần nên thời gian cho người lập trình Qua ví dụ này, giáo viên đặt vấn đề cho học sinh: Một công việc yêu cầu lặp lại nhiều lần, sử dụng cách viết thời gian gây nhàm chán, có cách để chương trình viết ngắn gọn thực u cầu đề Thơng qua học sinh phát giải vấn đề, đồng thời lĩnh hội kiến thức - Sử dụng phương pháp thảo luận nhóm Thảo luận nhóm phương pháp dạy học phát huy tính tích cực, chủ động sáng tạo người học Thảo luận nhóm tạo hội tiếp xúc xã hội học sinh, giúp cho việc phát triển kĩ tương tác cá nhân nghe, nói, tranh luận quan hệ lãnh đạo Khi giao nhiệm vụ cho nhóm học sinh thảo luận phải tạo bình tĩnh khơng khí tích cực tham gia giải vấn đề, gây hứng thú khích thích học sinh Như dạy Cấu trúc lặp áp dụng phương pháp thảo luận nhóm cho phép học sinh tham gia tích cực vào q trình dạy học Như từ việc thảo luận nhóm, thơng qua nhiệm vụ học tập (trình bày phần giáo án) học sinh chủ động hăng say học tập phát đột phá Do kích thích ham học kĩ tự học, tự nghiên cứu Ngồi q trình dạy học, giáo viên cần kết hợp thêm phương pháp dạy học truyền thống để nâng cao hiệu dạy học Giáo viên phải sử dụng cách linh hoạt phương pháp dạy học cho phù hợp để đạt mục đích dạy học nhằm tạo hứng thú học tập cho học sinh 3.2 Lựa chọn tốn phù hợp * Để phù hợp với trình độ học sinh nhà trường, “Cấu trúc lặp” phần tốn ví dụ mở đầu khó, cần phải chọn tốn làm ví dụ mở đầu phù hợp với trình độ học sinh SangKienKinhNghiem.net Đây vấn đề mà giáo viên quan tâm nhiều nhất, tốn mở đầu quan trọng, vừa mang kiến thức cũ vừa đặt vấn đề cho nội dung cần tìm hiểu Bài tốn mở đầu khó q gây áp lực ban đầu cho học sinh, em thấy khó q thối chí, khơng hứng thú tìm hiểu Bài tốn mở đầu dễ q khơng kích thích tính tị mị, ham học hỏi học sinh Vì vậy, giáo viên phải chọn tốn mở đầu vừa phù hợp với trình độ học sinh vừa đặt vấn đề cho tốn cần tìm hiểu mà gây y, kích thích tính khám phá tìm hiểu kiến thức cho em Trong sách giáo khoa Tin học 11 (trang 42) có đưa tốn làm ví dụ mở đầu giới thiệu cấu trúc lặp: Ví dụ 1: Tính đưa kết hình tổng: 1 1 (Với a số nguyên lớn 2) S a a 1 a a 100 Ví dụ 2: Tính đưa kết hình tổng: 1 1 S a a 1 a aN Cho đến a 500 Qua chương trình này, làm rõ chất cấu trúc lặp cơng việc tính tích t=t*I lặp lại số lần (mà ta chưa biết trước), đến T>500 dừng lại (học sinh nhận thấy giá trị t lần thực thay đổi thực chương trình) Từ chương trình này, giáo viên dùng để minh họa cho sơ đồ hoạt động câu lệnh lặp while-do Như qua cách chọn ví dụ mở đầu trên, cách đưa toán thực tế, cách minh họa phần mềm crocodile nhận thấy phù hợp với đối tượng học sinh mình, học sinh hiểu cấu trúc lặp câu lệnh lặp SangKienKinhNghiem.net dạng; phân biệt khác hai dạng, hứng thú tìm hiểu cú pháp, ý nghĩa câu lệnh lặp để viết chương trình cho toán nêu 3.4 Thiết kế giáo án cho ”Cấu trúc lặp” Bài học gồm tiết: + Tiết 1: Gồm mục 1, mục + Tiết 2: Gồm mục (viết chương trình cho toán ứng dụng) + Tiết 3: Gồm mục 3.4.1 Quá trình chuẩn bị: * Chuẩn bị HS: - Chuẩn bị bài: + Xem trước nội dung “Cấu trúc lặp” + Xem lại kiến thức toán học, cho biết kết 5!?, n!? - Chuẩn bị đồ dùng học tập: + Giấy lôki để ghi ý kiến cá nhân, bút lông * Chuẩn bị GV: - Thiết kế giáo án mẫu theo hướng đổi phương pháp dạy học - Chuẩn bị số phương tiện dạy học như: Máy chiếu, máy vi tính (có cài sẵn phần mềm Turbo Pascal, phần mềm Crocodile), sơ đồ thuật tốn tính n! (bằng phần mềm Crocodile), sơ đồ hoạt động câu lệnh while - do; chương trình tính n! (bằng phần mềm Turbo Pascal) - Phiếu học tập, bảng phụ 3.4.2 Cách thức tiến hành: 1, Ổn định tổ chức Kiểm tra sĩ số, nhắc nhở Học Sinh 2, Tiến trình học TIẾT A HOẠT ĐỘNG KHỞI ĐỘNG Hoạt động 1: Kiểm tra cũ (5 phút) (1) Mục tiêu: HS nhớ câu lệnh đưa liệu hình để viết chương trình (2) Phương pháp/Kĩ thuật: Vấn đáp (3) Hình thức tổ chức hoạt động: Cá nhân (4) Phương tiện dạy học: SGK, máy chiếu, máy tính (5) Kết quả: HS viết chương trình đơn giản Câu hỏi: Hãy viết chương trình đưa hình 10 dịng thơng báo ”chao cac ban”? Đặt vấn đề: Trong chương trình trên, câu lệnh đưa hình thơng báo ”chao cac ban” viết viết lại 10 lần Nếu mở rộng tốn lên đưa 100 dịng thơng báo thời gian viết chương trình nào, chương trình hiệu chỉnh khơng? Có nên viết chương trình theo câu lệnh khơng? NNLT Pascal cung cấp cấu trúc để giải vấn đề B HÌNH THÀNH KIẾN THỨC VÀ LUYỆN TẬP HOẠT ĐỘNG Tìm hiểu cơng việc lặp (5 phút) SangKienKinhNghiem.net (1) Mục tiêu: Học sinh biết khái niệm lặp, có hai dạng lặp: lặp với số lần biết trước lặp với số lần chưa biết trước (2) Phương pháp/Kĩ thuật dạy hoc: Trực quan, Vấn đáp (3) Hình thức tổ chức hoạt động: Cá nhân (4) Phương tiện dạy học: Máy tính, máy chiếu (5) Sản phẩm: HS nêu khái niệm lặp, biết hai dạng lặp Nội dung Hoạt động GV HS Lặp: - GV: Đưa ví dụ: * Ví dụ: + Ví dụ 1: Đem trang tài liệu để phơ-tơ Ví dụ 1: Đem trang tài liệu để phô-tô copy thành 10 thành 10 Công việc phô tô trang tài liệu thành máy phô tô thực Ví dụ 2: Tài khoản điện thoại lần? người 100.000 đồng Người => HS: Trả lời thực gọi để hỏi thăm sức + Ví dụ 2: Tài khoản điện thoại khỏe bạn bè người 100.000 đồng Người thực gọi để hỏi thăm sức khỏe bạn bè Chúng ta có biết trước người gọi điện thoại không? Hoạt động gọi điện thoại người ngừng nào? => HS: Không biết trước số lần gọi điện thoại người Hoạt động gọi điện thoại ngừng tài khoản khơng cịn đủ tiền * Khái niệm: Công việc lặp công - GV: Một công việc mà ta thực việc thực thực lại thực lại nhiều lần gọi gì? nhiều lần => HS: Trả lời * Phân loại: Lặp thường có loại: - GV: Có loại lặp? - Lặp với số lần biết trước; => HS: Trả lời câu hỏi - Lặp với số lần chưa biết trước HOẠT ĐỘNG Tìm hiểu câu lệnh For - (15 phút) (1) Mục tiêu: - Kiến thức: Học sinh biết cú pháp, ý nghĩa câu lệnh for-do - Kỹ năng: (Mục chưa đòi hỏi việc hình thành kĩ năng) (2) Phương pháp/Kĩ thuật dạy hoc: Trực quan, Vấn đáp (3) Hình thức tổ chức hoạt động: Cá nhân (4) Phương tiện dạy học: Máy tính, máy chiếu (5) Sản phẩm: HS nêu ý nghĩa câu lệnh for-do, viết câu lệnh fordo để giải ví dụ đơn giản SangKienKinhNghiem.net Nội dung Hoạt động GV HS Lặp với số lần biết trước câu - GV: Đưa cú pháp câu lệnh for-do lệnh for-do: dạng tiến dạng lùi a, Câu lệnh for-do: - GV: Yêu cầu HS cho biết ý nghĩa * Cú pháp: cấu trúc lặp for-do? (Gợi ý: Dạng tiến: + - Dạng tiến: biến đếm tự động tăng hay phải tác động For := vào? Biến đếm tăng lần? To Do ; + Số lần lặp câu lệnh bao - Dạng lùi: nhiêu? ) For := => HS: Rút ý nghĩa cấu trúc lặp Downto Do - GV: Nhận xét, bổ sung thêm (nếu có) ; => HS: Ghi nhận * Ý nghĩa: - GV: Giải thích cách hoạt động cấu - Dạng tiến: Câu lệnh lặp trúc lặp for-do dạng tiến dạng lùi số lần biếm đếm tăng dần lần => HS: Ghi nhận lượt từ giá trị đầu đến giá trị cuối - Dạng lùi: Câu lệnh lặp số lần biến đếm giảm dần từ giá trị cuối đến giá trị đầu * Ví dụ: - GV: Đưa VD áp dụng Đối với ví dụ - Ví dụ 1: Viết CL for-do dạng tiến thể 2, minh họa phần mềm Crocodile, việc in hình 10 dịng rõ số lần lặp cơng việc lặp thơng báo “chao cac ban” Sau u cầu HS hồn thành ví dụ - Ví dụ 2: Viết CL for-do dạng lùi thể việc in hình 10 chữ số giảm dần từ 101 HOẠT ĐỘNG Tìm hiểu tốn lặp với số lần biết trước (18 phút) (1) Mục tiêu: - Kiến thức: Học sinh biết cách giải toán lặp với số lần biết trước - Kỹ năng: Giải vấn đề (2) Phương pháp/Kĩ thuật dạy hoc: Trực quan, Vấn đáp (3) Hình thức tổ chức hoạt động: Nhóm (4) Phương tiện dạy học: Máy tính, máy chiếu, phiếu học tập (5) Sản phẩm: HS nêu thuật toán cho toán lặp với số lần biết trước Nội dung Hoạt động GV HS Lặp với số lần biết trước câu - GV: Đưa toán Yêu cầu HS xác lệnh for-do: định toán? b, Ứng dụng: => HS: Trả lời * Bài toán1: Nhập vào số nguyên n, tính đưa kết T hình: - GV: (Gợi ý để HS đưa ý tưởng giải toán) Trước hết yêu cầu HS T=1*2*3*…*n SangKienKinhNghiem.net - Thuật toán Tich_T1 B1: Nhập số nguyên n; B2: Gán T=1; B3: Cho i nhận giá trị nguyên từ đến n để thực lặp lặp lại cơng việc tính T=T*i; B4: Đưa T kết thúc - Thuật toán Tich_T2 B1: Nhập số nguyên n; B2: Gán T=1; i=n; B3: Cho i nhận giá trị nguyên từ n xuống đến để thực lặp lặp lại cơng việc tính T=T*i; B4: Đưa T kết thúc tính 5! => HS: Đưa cách giải - GV: Nhận xét đưa cách giải cho BT theo cách giải theo cấu trúc => HS: Lắng nghe - GV: Hãy nhận xét với việc giải BT theo cách đó? => HS: BT1 lặp n lần thực CV tính tích T - GV: BT tính T1=1*2*…*n BT tính T2=n*…*2*1 có giống khơng? => HS: có - GV: Chia lớp thành nhóm: + Nhóm 1: Hãy xây dựng thuật tốn tính T1? + Nhóm 2: Hãy xây dựng thuật tốn tính T2? => HS: nhóm nhận nhiệm vụ - GV: Tổ chức cho học sinh thảo luận, tranh luận kết nhóm => HS: HS nhóm khác đặt câu hỏi phát vấn bổ sung kiến thức nhóm trình bày - GV: Tiểu kết cho hoạt động cách bổ sung xác tập học sinh => HS: Ghi nhận kết - GV: Sử dụng phần mềm crocodile để minh họa hoạt động sơ đồ khối cho BT (nhập giá trị n=5, n=20 để học sinh kiểm chứng kết BT nhỏ) Khẳng định lại cơng việc tính tích T lặp lại, thể viết lần, so với việc giải toán theo câu lệnh phải viết nhều lần - GV: Để giải cho công việc lặp lại với số lần biết trước, NNLT Pascal cung cấp cho người lập trình câu lệnh for-do C CỦNG CỐ, MỞ RỘNG (2 phút) (1) Củng cố: 10 SangKienKinhNghiem.net GV: Yêu cầu HS nêu lại khái niệm lặp, trình bày cú pháp ý nghĩa câu lệnh For-do HS: Nhắc lại khái niệm lặp; cú pháp, ý nghĩa câu lệnh for-do (2) Mở rộng: Bài tập: Phát lỗi sửa lỗi cho đoạn chương trình sau Var i,T: integer; Begin T:=0; For i:=1.5 to 10 do; T:=T+i; Write (‘gia tri T la:’, T); End TIẾT A HOẠT ĐỘNG KHỞI ĐỘNG Hoạt động 1: Kiểm tra cũ (5 phút) (1) Mục tiêu: HS nhớ cú pháp câu lệnh for-do (2) Phương pháp/Kĩ thuật: Vấn đáp (3) Hình thức tổ chức hoạt động: Cá nhân (4) Phương tiện dạy học: SGK, máy chiếu, máy tính (5) Kết quả: HS viết cú pháp câu lệnh for-do Câu hỏi: Hãy viết cú pháp câu lệnh for-do dạng tiên lùi? B HÌNH THÀNH KIẾN THỨC VÀ LUYỆN TẬP HOẠT ĐỘNG Viết chương trình đơn giản có sử dụng câu lệnh For - (20 phút) 1) Mục tiêu: HS sử dụng câu lệnh for-do để viết chương trình - Kiến thức: Học sinh hiểu hoạt động câu lệnh for-do, vận dụng để giải cho toán tiết - Kỹ năng: Viết chương trình cho tốn đơn giản (2) Phương pháp/Kĩ thuật: Trực quan, thảo luận nhóm (3) Hình thức tổ chức hoạt động: Nhóm (4) Phương tiện dạy học: Máy chiếu, máy tính (5) Kết quả: HS viết chương trình giải tốn Nội dung Hoạt động GV HS Lặp với số lần biết trước câu - GV: Trình chiếu lại thuật tốn tích lệnh lặp For - Do T1và tích T2 hai nhóm hồn thiện b, Ứng dụng: mục trước Chia học sinh thành hai * Chương trình Tich-T1: nhóm để viết chương trình cho hai thuật Program Tich_T1; toán (Gợi ý: Var i: byte; + Biến đếm đại lượng nào? T: longint; Begin + Giá trị đầu bao nhiêu? Giá trị cuối Write (‘Nhap so nguyen n:’); bao nhiêu? Readln(n); Write (‘Gia tri cua n giai thua + Câu lệnh lặp gì? 11 SangKienKinhNghiem.net + Chú ý biến đếm tự động tăng từ giá trị đầu giá trị cuối, giảm từ giá trị cuối giá trị đầu, nên câu lệnh for-do khơng có câu lệnh tác động làm thay đổi giá trị biến đếm) => HS: nhóm nhận nhiệm vụ - GV: Tổ chức cho học sinh thảo luận, tranh luận kết nhóm => HS: HS nhóm khác đặt câu hỏi phát vấn bổ sung kiến thức nhóm trình bày - GV: Tiểu kết cho hoạt động cách bổ sung xác tập học sinh => HS: Ghi nhận kết - GV: Trình chiếu chương trình chuẩn Pascal giải thích câu lệnh => HS: Quan sát ý lắng nghe - GV: Yêu cầu HS dự đoán kết Sau chạy chương trình để HS kiểm chứng kết => HS: Thông báo kết HOẠT ĐỘNG la:’); T:=1; For i:= to n T: = T * i; Writeln(T); Readln; End * Chương trình Tich-T2: Program Tich_T2; Var i: byte; T: longint; Begin Write (‘Nhap so nguyen n:’); Readln(n); Write (‘Gia tri cua n giai thua la:’); T:=1; For i:= n downto T:=T* i; Writeln(T); Readln; End Viết chương trình có sử dụng câu lệnh For – Do cho toán phức tạp (18 phút) (1) Mục tiêu: - Kiến thức: Học sinh hiểu hoạt động câu lệnh for-do, vận dụng để giải cho toán phức tạp - Kỹ năng: Viết chương trình cho tốn lặp với số lần biết trước (2) Phương pháp/Kĩ thuật dạy hoc: Trực quan, thảo luận nhóm (3) Hình thức tổ chức hoạt động: Nhóm (4) Phương tiện dạy học: Máy tính, máy chiếu (5) Sản phẩm: HS hoàn thành phiếu học tập Nội dung Hoạt động GV HS Lặp với số lần biết trước câu lệnh lặp For - Do b Ứng dụng: - GV: Đưa toán Yêu cầu học sinh Bài toán 2: Viết chương trình tính tổng số chia hết cho xác định toán => HS: Xác định Input, Output đoạn [m n] 12 SangKienKinhNghiem.net * Xác định toán Input: số nguyên n,m (m HS: Đưa thuật toán BT - GV: Chia học sinh thành hai nhóm để hồn thiện chương trình cho toán + Nhiệm vụ 1: Phát sửa lỗi cho chương trình sau: Program vi_du_2; Var m, n, i: integer; T: longint; Begin Write (‘Nhap so M nho hon N:’); Readln (m,n); T:=1; For i:= n to m do; If (I mod = 0) or (I mod = 0) then t:= t+ 1; Writeln (‘ket qua:’, t); Readln End + Nhiệm vụ 2: Phát sửa lỗi cho chương trình sau: Program vi_du_2; Var m, n, i: integer; T: longint; Begin Write (‘Nhap so M nho hon N:’); Readln (m,n); T:=2; For i:= m downto n do; If (I mod = 0) or (I mod = 0) then t:= t+ 2; Writeln (‘ket qua:’, t); Readln End => HS: nhóm nhận nhiệm vụ 14 SangKienKinhNghiem.net - GV: Tổ chức cho học sinh thảo luận, tranh luận kết nhóm => HS: HS nhóm khác đặt câu hỏi phát vấn bổ sung kiến thức nhóm trình bày - GV: Tiểu kết cho hoạt động cách bổ sung xác tập học sinh => HS: Ghi nhận kết - GV: Trình chiếu chương trình chuẩn Pascal giải thích câu lệnh => HS: Quan sát ý lắng nghe - GV: Yêu cầu HS dự đoán kết Sau chạy chương trình để HS kiểm chứng kết C CỦNG CỐ, MỞ RỘNG (2 phút) (1) Củng cố: GV: Yêu cầu HS nêu lại cú pháp, ý nghĩa câu lệnh for-do dạng lùi? HS: Nhắc lại cú pháp, ý nghĩa câu lệnh for-do dạng lùi (2) Mở rộng: Bài tập: Viết chương trình cho tốn: Tính đưa kết hình tổng: S 1 1 a a 1 a a 100 TIẾT A HOẠT ĐỘNG KHỞI ĐỘNG Hoạt động 1: Kiểm tra cũ (5 phút) (1) Mục tiêu: HS nhớ cú pháp, hiểu cách hoạt động câu lệnh for-do (2) Phương pháp/Kĩ thuật: Vấn đáp (3) Hình thức tổ chức hoạt động: Cá nhân (4) Phương tiện dạy học: SGK, máy chiếu, máy tính (5) Kết quả: HS sửa lỗi cho đoạn chương trình Câu hỏi: Hãy phát sửa lỗi cho đoạn chương trình sau: Var i,T: integer; Begin T:=0; For i:=1 downto 10 do; T:=T+i; Write (‘gia tri T la:’, T); Readln End B HÌNH THÀNH KIẾN THỨC VÀ LUYỆN TẬP HOẠT ĐỘNG Tìm hiểu câu lệnh lặp While - Do (8 phút) 1) Mục tiêu: Học sinh biết cú pháp, ý nghĩa câu lệnh While-do 15 SangKienKinhNghiem.net (2) Phương pháp/Kĩ thuật: Trực quan, vấn đáp (3) Hình thức tổ chức hoạt động: Cá thể (4) Phương tiện dạy học: Máy chiếu, máy tính (5) Kết quả: HS nêu ý nghĩa câu lệnh while-do Nội dung Hoạt động GV HS Lặp với số lần chưa biết trước câu lệnh while – - GV: Đưa cú pháp câu lệnh while a, Câu lệnh While –do => HS: Chú ý lắng nghe * Cú pháp While Do ; - GV: Yêu cầu HS cho biết ý nghĩa cấu trúc lặp while-do? Trong - Điều kiện biểu thức quan hệ => HS: Rút ý nghĩa cấu trúc lặp while-do logic - Câu lệnh câu lệnh - GV: Nhận xét, bổ sung thêm (nếu có) Pascal => HS: Ghi nhận * Ý nghĩa : Khi điều kiện cịn cịn thực câu lệnh, sau quay lại kiểm tra điều kiện * Sơ đồ hoạt động: - GV: Giải thích sơ đồ hoạt động cấu trúc lặp while-do S => HS: Ghi nhận Điều kiện Đ Câu lệnhh HOẠT ĐỘNG Tìm hiểu công việc lặp với số lần chưa biết trước (15 phút) 1) Mục tiêu: - Kiến thức: Học sinh biết toán đơn giản dạng lặp với số lần chưa biết trước - Kỹ năng: Xây dựng thuật tốn viết chương trình cho tốn (2) Phương pháp/Kĩ thuật: Trực quan, thảo luận nhóm (3) Hình thức tổ chức hoạt động: Nhóm (4) Phương tiện dạy học: Máy chiếu, máy tính (5) Kết quả: HS hoàn thành phiếu học tập Nội dung Hoạt động GV HS Lặp với số lần chưa biết trước - GV: Chia lớp thành nhóm: câu lệnh while – + Nhóm 1: Xây dựng thuật toán cho b Ứng dụng toán sơ đồ khối Bài tốn 1: Tính T=1*2*3*…*n cho + Nhóm 2: Xây dựng thuật toán T>5000 toán liệt kê bước * Thuật toán => HS: nhóm nhận nhiệm vụ 16 SangKienKinhNghiem.net B1: Gán T=1; i=1; - GV: Tổ chức cho học sinh thảo luận, B2: Chừng T HS: HS nhóm khác đặt câu tích T=T*i; tăng i=i+1; hỏi phát vấn bổ sung kiến thức B3: Đưa T kết thúc nhóm trình bày * Chương trình - GV: Tiểu kết cho hoạt động Program Tich_T1; cách bổ sung xác tập học Var i: integer; sinh T: longint; => HS: Ghi nhận kết Begin - GV: Sử dụng phần mềm crocodile để Write (‘Gia tri cua T la:’); minh họa hoạt động sơ đồ khối cho T:=1; i:=1; tốn (việc tính tích T=T*I, While T< =5000 lặp lặp lại nhiều lần mà chưa Begin biết trước số lần lặp, đến T: = T * i; T>50000 công việc dừng i:=i+1; lại) End; => HS: Kiểm chứng kết Writeln(T); toán Readln; - GV: Yêu cầu học sinh vận dụng câu End lệnh while-do để viết chương trình => HS: Nhận nhiệm vụ - GV: Minh họa phần mềm Pascal => HS: Quan sát ghi nhận kết HOẠT ĐỘNG Tìm hiểu cơng việc lặp với số lần chưa biết trước (15 phút) 1) Mục tiêu: - Kiến thức: Học sinh biết toán thực tế dạng lặp với số lần chưa biết trước - Kỹ năng: Xây dựng thuật tốn viết chương trình cho toán thực tế (2) Phương pháp/Kĩ thuật: Trực quan, thảo luận nhóm (3) Hình thức tổ chức hoạt động: Nhóm (4) Phương tiện dạy học: Máy chiếu, máy tính (5) Kết quả: HS hoàn thành phiếu học tập Nội dung Hoạt động GV HS Lặp với số lần chưa biết trước câu lệnh while – b Ứng dụng - GV: Đưa toán, yêu cầu HS xác Bài toán 2: Giả sử có tài khoản định tốn Face book Laptrinh11@Gmail.com => HS: Xác định Input Output bảo mật mật số - GV: Cho biết công việc lặp nguyên dương có chữ số lại? (12345678) Một người mật => HS: Gõ mật 17 SangKienKinhNghiem.net muốn đăng nhập vào tài khoản phải thực việc gõ mật lần để vào đăng nhập được? * Xác định toán: input: Nhập mật output: số lần gõ mật * Thuật toán: B1: Gán đếm=0; KT=False; B2: Chừng KT=False cịn thực lặp lặp lại công việc: + Nhập mật khẩu; + Tăng đếm=đếm+1; + Kiểm tra mật nhập =12345678 gán lại KT= true; B3: Đưa số lần gõ mật đếm kết thúc * Chương trình Program Go_Mat_Khau; Var n:longint; dem:integer; KT:Boolean; Begin j:=1; KT:=False; While KT=False Begin Write (‘nhap mat khau:’); Readln (n); Dem:=dem+1; If n=12345678 then KT=true; End; Write (‘so lan nhap mat khau la:’, dem); Readln End - GV: Việc gõ mật thực lần? Khi kết thúc? =>HS: Khơng biết trước số lần gõ Khi mật dừng lại - GV: Yêu cầu HS đưa thuật toán cho toán => HS: Xây dựng thuật toán - GV: Hình thành nhóm với nhiệm vụ + Nhiệm vụ 1: Phát lỗi sai sửa lỗi cho chương trình sau: Program Go_Mat_Khau; Var n:longint; j:integer; KT:Boolean; Begin j:=1; KT:=False; While KT=true do; Begin Write (‘nhap mat khau:’); Readln (n); j:=j+1; If n=12345678 then KT=true; End Write (‘so lan nhap mat khau la:’,n); Readln End + Nhiệm vụ 2: Phát lỗi sai sửa lỗi cho chương trình sau: Program Go_Mat_Khau; Var n:longint; j:integer; KT:Boolean; Begin j:=0; KT:=true; While KT=true do; Begin Write (‘nhap mat khau:’); Readln (n); j:=j+2; If n=12345678 then KT=true; End Write (‘so lan nhap mat khau la:’,j); Readln 18 SangKienKinhNghiem.net End => HS: nhóm nhận nhiệm vụ - GV: Tổ chức cho học sinh thảo luận, tranh luận kết nhóm => HS: HS nhóm khác đặt câu hỏi phát vấn bổ sung kiến thức nhóm trình bày - GV: Tiểu kết cho hoạt động cách bổ sung xác tập học sinh => HS: Ghi nhận kết C CỦNG CỐ, MỞ RỘNG (2 phút) (1) Củng cố: GV: Yêu cầu HS nêu lại cú pháp ý nghĩa câu lệnh while-do HS: Nhắc lại cú pháp ý nghĩa câu lệnh while-do (2) Mở rộng: Bài tập: Viết chương trình cho tốn tìm ước chung lớn số nguyên dương m,n IV.2.4 Tổ chức kiểm tra, đánh giá hiệu dạy học: Tổ chức cho HS viết thu hoạch hai hình thức: trắc nghiệm tập tự luận Sau tụi xin đưa hệ thống câu hỏi để kiểm tra kh hiểu HS: Phn câu hỏi trắc nghiệm (3 điểm) Câu 1: Cú pháp biểu diễn câu lệnh for-do dạng tiến A, For = To Do ; B, For = To Do C, For : To Do ; D, For := To Do ; Câu 2: Cú pháp biểu diễn câu lệnh for-do dạng lùi A, For = downto Do ; B, For = downto Do C, For : downto Do ; D, For := downto Do ; Câu 3: Cú pháp biểu diễn câu lệnh while-do A, while ; B, while C, while D, while - ; Câu 4: Muốn in cac số nguyên liên tiếp từ 120 ta viết câu lệnh cho đúng? A, for i:=1 to 20 write(I,’ ‘); C, for i:=1 to 20 write(’ ‘); B, for i:=20 to write(I,’ ‘); D, for i:=20 to 20 write(I,’ ‘); Câu 5: Muốn in 20 chữ ‘a’ ta viết câu lệnh cho đúng? A, for i:=1 to 20 write(‘i‘); C, for i:=20 downto write(i); 19 SangKienKinhNghiem.net B, for i:=20 downto write(‘a’); D, for i:=1 to 20 write(i); Câu 6: Xét chương trình sau: Var s,i:integer; Begin S:=0; for i:=1 to s:=s+i; write (s); End Kết chương trình là: A, 15 B, C, D, Phần tự luận (7 điểm) Câu 7: Hãy viết chương trình tính đưa hình tổng số nguyên chẵn đoạn [1 100] Câu 8: Hãy viết chương trình tính đưa hình tổng số nguyên lẻ tổng lớn 20000 dừng * Sau hướng dẫn trả lời cho phần kiểm tra đánh giá: - Trắc nghiệm: Câu C D C C C B - Tự luận: Chương trình viết ngơn ngữ lập trình Pascal sau: Câu 7: Chương trình Pascal Var s,i:integer; Begin S:=0; for i:=1 to 100 if I mod = then s:=s+i; write (s); End Câu 8: Chương trình Pascal Var s,i:integer; Begin S:=0; i:=1; While s