1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hướng dẫn học sinh sử dụng cấu trúc lặp giải các bài toán trong lập trình

25 128 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 279,5 KB

Nội dung

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓA TRƯỜNG THPT YÊN ĐỊNH I SÁNG KIẾN KINH NGHIỆM HƯỚNG DẪN HỌC SINH SỬ DỤNG CẤU TRÚC LẶP GIẢI CÁC BÀI TOÁN TRONG LẬP TRÌNH Người thực hiện: Lê Chí Cường Chức vụ: Giáo viên SKKN thuộc môn: Tin Học THANH HÓA NĂM 2019 MỤC LỤC I MỞ ĐẦU 1.1 Lý chọn đề tài 1.2 Mục đích nghiên cứu 1.3 Đối tượng phạm vi nghiên cứu 1.4 Phương pháp nghiên cứu 1.5 Những điểm SKKN II NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lý luận sáng kiến kinh nghiệm .4 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm 2.3 Giải pháp sử dụng giải vấn đề 2.4 Hiệu sáng kiến kinh nghiệm 17 III KẾT LUẬN VÀ KIẾN NGHỊ .21 3.1 Kết luận 21 3.2 Kiến nghị 21 I MỞ ĐẦU 1.1 Lý chọn đề tài Với phát triển vũ bão công nghệ thơng tin, kiến thức khơng tài sản riêng Học sinh tiếp nhận thơng tin từ nhiều kênh, nhiều nguồn khác Các nguồn thông tin phong phú, đa chiều mà người học tiếp nhận đặt giáo dục trước yêu cầu cấp bách cần phải đổi cách dạy học Công nghệ thơng tin khơng có chức cung cấp thơng tin mà cơng cụ hỗ trợ tích cực dạy học; phương tiện dạy học đại, hữu ích hiệu Cơng nghệ thông tin giúp cho người học mở rộng hiểu biết với tầm nhìn xa, trơng rộng qua hệ thống mạng kết nối nước toàn giới Vấn đề đặt với nhà trường làm để học sinh tự lực chiếm lĩnh kiến thức, tích cực, chủ động, sáng tạo, có kĩ giải vấn đề nảy sinh sống Đó thực thách thức lớn ngành giáo dục nói chung, nhà trường giáo viên nói riêng Giáo viên không người mang kiến thức đến cho học sinh mà cần dạy cho học sinh cách tìm kiếm, chiếm lĩnh kiến thức để đảm bảo cho việc tự học suốt đời Trước vấn đề đặt nêu mạnh dạn lựa chọn đề tài “Hướng dẫn học sinh sử dụng cấu trúc lặp giải tốn lập trình” Thơng qua hướng dẫn em học sinh phát huy tốt khả tự học, chủ động, sáng tạo trình học ngơn ngữ lập trình nói chung, cấu trúc lặp nói riêng 1.2 Mục đích nghiên cứu - Sáng kiến kinh nghiệm tơi nhằm mục đích: Nâng cao hiệu học tập học sinh học môn Tin học 11; Giúp học sinh chủ động, tích cực chiếm lĩnh tri thức cấu trúc lặp Giúp học sinh nhanh chóng xác định cơng việc lặp toán Giúp học sinh dễ dàng diễn đạt cấu trúc lặp ngơn ngữ lập trình cụ thể Giúp học sinh khơng e ngại học cấu trúc lặp nói riêng ngơn ngữ lập trình nói chung, tạo ham muốn, hứng thú học Tin học Rèn luyện khả giao tiếp, diễn đạt học sinh Nâng cao lực chuyên môn, nghiệp vụ sư phạm người giáo viên 1.3 Đối tượng phạm vi nghiên cứu - Chương trình tin học 11; - Học sinh khối 11 năm học 2018-2019 trường THPT Yên Định 1.4 Phương pháp nghiên cứu - Qua thực tiễn giảng dạy trường THPT Yên Định 1; - Qua việc tham khảo tài liệu, sách giáo khoa, sách giáo viên, viết tư liệu mạng internet, đặc biệt viết tài liệu đổi phương pháp dạy học môn Tin học; - Tham khảo ý kiến đồng nghiệp, lấy ý kiến từ phía học sinh; - Vận dụng sáng kiến vào giảng dạy lớp, đánh giá, rút kinh nghiệm sau dạy có vận dụng sáng kiến để có điều chỉnh phù hợp Trong tiết dạy giáo viên tiến hành đặt vấn đề, hướng dẫn gợi mở để học sinh tích cực, chủ động phát giải vấn đề đặt thông qua câu hỏi, thảo luận, hình ảnh, video minh họa 1.5 Những điểm SKKN - Sáng kiến kinh nghiệm phân tích tất tốn cấu trúc lặp có SGK Tin học 11, từ toán phần ví dụ đến tốn phần tập Sau số tốn có nhận xét tình lặp tốn - Sáng kiến kinh nghiệm có tốn điển hình (khơng có SGK) để làm rõ hai dạng cấu trúc lặp lặp với số lần lặp biết lặp với số lần lặp chưa biết trước - Ngồi việc sử dụng ngơn ngữ lập trình Pascal để diễn đạt, tơi dùng ngơn ngữ lập trình C++ (một ngơn ngữ lập phổ biến nay) để diễn đạt, coi tư liệu cho học sinh khá, giỏi giáo viên khác tham khảo II NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lý luận sáng kiến kinh nghiệm - Đả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 nhà trường phổ thông môn khoa học khác năm học 2006-2007 - Chỉ thị số 55/2008/CT - BGDĐT ngày 30/9/2008 Bộ trưởng Bộ GDĐT tăng cường giảng dạy, đào tạo ứng dụng công nghệ thông tin ngành giáo dục giai đoạn 2008-2011 - 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” Như vậy, thấy định hướng đổi phương pháp dạy học khẳng định, khơng vấn đề tranh luận Cốt lõi việc đổi phương pháp dạy học trường phổ thông giúp học sinh hướng tới việc học tập chủ động, chống lại thói quen học tập thụ động - Dạy theo định hướng lực cho phép cá nhân hóa việc học: Trên sở mơ hình lực, người học bổ sung thiếu hụt cá nhân để thực nhiệm vụ cụ thể - Dạy theo định hướng lực trọng vào kết đầu - Dạy theo định hướng lực có khả cho việc xác định cách rõ ràng cần đạt tiêu chuẩn cho việc đo lường kết + Sau hoàn thành chuyên đề học sinh tự học, tự rèn luyện chủ động làm tập có liên quan đến cấu trúc lặp 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm Qua thực tế giảng dạy trường THPT Yên Định năm qua (từ năm 2006 đến nay), nhận thấy học đến chương trình Tin học lớp 11 đa số học sinh kêu khó, khơ khan, cứng nhắc Học sinh thường ngại đến tiết Tin học 11 Qua năm dạy Tin học 11 nhận thấy học sinh gặp nhiều khó khăn học cấu trúc lặp Học sinh khó xác định công việc lặp lặp lại nhiều lần tốn, học sinh gặp khó khăn việc diễn đạt cấu trúc lặp vào NNLT cụ thể Tuy nhiên có số học sinh u thích mơn Tin học, thích tìm hiểu tốn khó nằm ngồi phạm vi sách giáo khoa Đây sở, tảng để cá nhân lựa chọn ôn luyện đội tuyển HSG Tin học cho trường năm qua Cấu trúc lặp cấu trúc bản, thường gặp thường dùng Hầu hết toán thực tiễn hàng ngày có xuất cấu trúc lặp Nếu học sinh tiếp thu tốt, nắm vững, khắc sâu kiến thức cấu trúc lặp sở, tảng vững cho việc học tập, tiếp thu kiến thức tiếp theo, đặc biệt tiếp thu kiến thức kiểu mảng, kiểu xâu, 2.3 Giải pháp sử dụng giải vấn đề Dưới hướng dẫn học sinh sử dụng cấu trúc lặp giải số tốn lập trình Bài tốn 1: Các em ngồi đây, em trãi qua bậc tiểu học, em thời học bảng cửu chương Và có em bị thầy giáo, cô giáo phạt không thuộc bảng cửu chương Có nhiều hình thức mà thầy giáo, giáo phạt em, hình thức phạt thông dụng nhất: Cách 1: Giáo viên phạt học sinh viết lại bảng cửu chương 100 lần Cách 2: Giáo viên yêu cầu học sinh viết viết lại bảng cửu chương ghi nhớ thơi Hoạt động giáo viên Hoạt động học sinh - Giáo viên chiếu toán lên hình - Tiếp thu đề tốn đọc để học sinh nghe theo dõi - Hỏi: Hãy xác định công việc học sinh - Tiếp nhận câu hỏi, suy nghĩ tìm phải thực lặp lặp lại? câu trả lời + Gọi học sinh đứng dậy trả lời + Đứng dậy trả lời + Lấy ý kiến nhận xét, bổ sung + Nhận xét, bổ sung ý + Chính xác câu trả lời: Viết lại bảng + Tiếp thu câu trả lời cửu chương - Hỏi: Hãy cho biết bảng cửu chương - Tiếp nhận câu hỏi, suy nghĩ tìm viết lặp lặp lại bao nhiều lần câu trả lời cách phạt cách phạt 2? + Gọi học sinh đứng dậy trả lời + Đứng dậy trả lời + Lấy ý kiến nhận xét, bổ sung + Nhận xét, bổ sung ý + Chính xác câu trả lời: Trong cách + Tiếp thu câu trả lời phạt 100 lần, cách phạt chưa biết - Kết luận: Có dạng lặp: - Chú ý lắng nghe giáo viên giảng + Dạng 1: Lặp với số lần lặp biết khắc sâu hai dạng lặp + Dạng 2: Lặp với số lần lặp chưa thơng qua tốn biết trước Để diễn đạt tình lặp Tiếp thu kiến thức, ghi nhớ để biết lặp lại nhiều lần với số lần lặp biết trước dùng câu lệnh FOR, ta dùng câu lệnh FOR dùng câu lệnh WHILE Để diễn đạt tình lặp ngơn ngữ lập trình lặp lại nhiều lần với số lần lặp chưa biết ta dùng câu lệnh WHILE Nhận xét: Sau năm giảng dạy thấy toán toán quen thuộc học sinh, giúp học sinh thấy rõ hai dạng cấu trúc lặp a Bài toán (trang 42 SGK tin 11): Tính tổng S   Hoạt động giáo viên - Giáo viên chiếu tốn lên hình máy chiếu đọc cho học sinh nghe theo dõi - Hỏi: Hãy xác định công việc lặp lặp lại toán trên? Gợi ý: Ban đầu khởi tạo tổng S Mỗi lần ta cộng thêm phần tử vào tổng S Vậy ta phải cộng lần? + Gọi học sinh đứng dậy trả lời + Lấy ý kiến nhận xét, bổ sung + Chính xác câu trả lời: 101 lần Vậy công việc lặp lặp lại tốn gì? + Gọi học sinh đứng dậy trả lời + Lấy ý kiến nhận xét, bổ sung + Chính xác câu trả lời: Cộng thêm phần tử vào tổng S, tức S:=S+1/(a+i); với i=0, 1, 2, , 100 - Hỏi: Như số lần lặp toán biết Vậy ta dùng câu lệnh để diễn đạt toán này? + Gọi học sinh đứng dậy trả lời + Lấy ý kiến nhận xét, bổ sung + Chính xác câu trả lời: Lệnh FOR - u cầu: Hãy viết đoạn chương trình tính tổng S + Gọi học sinh lên bảng viết + Lấy ý kiến nhận xét, bổ sung + Chính xác đoạn chương trình Đoạn chương trình diễn đạt Pascal: 1    a 1 a  a  100 Hoạt động học sinh - Tiếp thu toán - Tiếp nhận câu hỏi, suy nghĩ tìm câu trả lời Tiếp nhận câu hỏi, suy nghĩ tìm câu trả lời + Đứng dậy trả lời + Nhận xét, bổ sung ý + Tiếp thu câu trả lời Tiếp nhận câu hỏi, suy nghĩ tìm câu trả lời + Đứng dậy trả lời + Nhận xét, bổ sung ý + Tiếp thu câu trả lời - Tiếp nhận câu hỏi, suy nghĩ tìm câu trả lời + Đứng dậy trả lời + Nhận xét, bổ sung ý + Tiếp thu câu trả lời - Vận dụng kiến thức câu lệnh FOR để viết đoạn chương trình + Lên bảng viết + Nhận xét, bổ sung ý + Tiếp thu đoạn chương trình S:=0; for i:=0 to 100 S:=S+1/(a+i); Đoạn chương trình diễn đạt C++: S=0; for (i=0; i=0.0001 begin S:=S+1/(a+i); i:=i+1; end; Đoạn chương trình diễn đạt C++: S=0; i=0; While (1/(a+i)>=0.0001) { S=S+1/(a+i); i=i+1; } Bài tốn (Ví dụ trang 45 SGK tin 11): Tính tổng số chia hết cho đoạn  M ; N  Hoạt động giáo viên Hoạt động học sinh - Giáo viên chiếu tốn lên hình - Tiếp thu toán máy chiếu đọc cho học sinh nghe theo dõi - Hỏi: Hãy xác định công việc lặp - Tiếp nhận câu hỏi, suy nghĩ tìm lặp lại tốn trên? câu trả lời Gợi ý: Giả sử M=4; N=10 Ta làm Chú ý lắng nghe, theo dõi để biết sau: cách làm + Khởi tạo tổng S:=0; + Kiểm tra số 4, thấy số không chia hết cho không chia hết bỏ qua + Kiểm tra số 5, thấy số chia hết cộng số vào tổng S + Kiểm tra số 6, thấy số chia hết cộng vào tổng S + Kiểm tra số 7, thấy số không chia hết cho không chia hết bỏ qua + Kiểm tra số 8, thấy số không chia hết cho không chia hết bỏ qua + Kiểm tra số 9, thấy số chia hết cộng vào tổng S + Kiểm tra số 10, thấy 10 chia hết cộng 10 vào tổng S Vậy công việc lặp lặp lại gì? Tiếp nhận câu hỏi, tìm câu trả lời + Gọi học sinh đứng dậy trả lời + Đứng dậy trả lời + Lấy ý kiến nhận xét, bổ sung + Nhận xét, bổ sung ý + Chính xác câu trả lời: Kiểm tra + Tiếp thu câu trả lời số đoạn [M;N] xem số có chia hết cho cho hay khơng? Nếu có cộng vào tổng S - Hỏi: Số lần lặp lần? - Tiếp nhận câu hỏi, tìm câu trả lời + Gọi học sinh đứng dậy trả lời + Đứng dậy trả lời + Lấy ý kiến nhận xét, bổ sung + Nhận xét, bổ sung ý + Chính xác câu trả lời: N-M+1 lần + Tiếp thu câu trả lời - Hỏi: Dùng câu lệnh để diễn đạt tình - Tiếp nhận câu hỏi, suy nghĩ tìm lặp tốn này? câu trả lời + Gọi học sinh đứng dậy trả lời + Đứng dậy trả lời + Lấy ý kiến nhận xét, bổ sung + Nhận xét, bổ sung ý + Chính xác câu trả lời: Lệnh FOR + Tiếp thu câu trả lời - Hỏi: Em viết đoạn chương - Tiếp nhận câu hỏi, suy nghĩ viết trình diễn đạt đoạn tính tổng số chia đoạn chương trình hết cho cho đoạn [M; N]? + Gọi học sinh lên bảng viết + Lên bảng viết + Lấy ý kiến nhận xét, bổ sung + Nhận xét, bổ sung ý + Chính xác hóa đoạn chương trình + Tiếp thu đoạn chương trình Đoạn chương trình diễn đạt Pascal: S:=0; For i:=M to N if (i mod 3=0) or (i mod 5=0) then S:=S+i; Đoạn chương trình diễn đạt C++: S=0; For (i=M; iN then M:=M-N Else N:=N-M; UCLN=M; Đoạn chương trình diễn đạt C++: While (M!=N) If (M>N) M=M-N; Else N=N-M; UCLN=M; - Giáo viên mở thực chương - Quan sát chương trình, xem giáo trình viết trước cho học sinh xem viên thực hiện, củng cố kiến thức 11 Nhận xét: Ta có UCLN a a Vì tìm UCLN hai số nguyên dương khác ta tìm cách biến đổi để số Cụ thể ta giữ lại số bé thay số lớn số dư số lớn chia cho số bé Ví dụ để tìm UCLN 54 12 ta làm sau: (54;12)=(6;12)=(6;0)=0 Khi dùng phép chia lấy dư thuật tốn tìm UCLN nhanh cho kết 50 n n 1 n  Bài toán (Câu 5a trang 51 SGK Tin 11) : Tính S  Hoạt động giáo viên Hoạt động học sinh - Giáo viên chiếu toán lên - Tiếp nhận tốn hình máy chiếu đọc cho học sinh nghe theo dõi Tổng S viết sau: Tiếp thu dạng viết khác tổng S 50 S     1 1 1 50  - Tương tự toán 2, em cho biết: + Công việc lặp lặp lại tốn gì? + Số lần lặp lặp lại toán lần? + Dùng câu lệnh để diễn đạt? - Gọi học sinh lên bảng viết đoạn chương trình tính tổng S Đoạn chương trình diễn đạt Pascal: - Dựa vào toán để trả lời câu hỏi mà giáo viên đưa - Vận dụng câu lệnh FOR để viết đoạn chương trình tính tổng S S:=0; for i:=1 to 50 S:=S+i/(i+1); Đoạn chương trình diễn đạt C++: S=0; for (i=1; i=2e-6 begin e:=e+1/p; n:=n+1; p:=p*n; end; Đoạn chương trình diễn đạt C++: e=1; p=1; n=1; While (1/p>=2e-6) { e=e+1/p; n=n+1; p=p*n; } 13 - Giáo viên mở thực chương - Quan sát chương trình, xem giáo trình chuẩn bị trước cho học sinh viên thực hiện, củng cố kiến thức quan sát Bài toán (Câu trang 51 SGK Tin 11) : Lập trình để giải tốn sau: Vừa gà vừa chó Bó lại cho tròn Ba mươi sáu Một trăm chân chẵn Hỏi có loại? Hoạt động giáo viên Hoạt động học sinh - Giáo viên chiếu toán lên - Tiếp nhận tốn hình máy chiếu đọc cho học sinh nghe theo dõi Bài có nhiều cách để lập luận Chú ý theo dõi, lắng nghe giáo viên cách giảng để xác định công việc lặp Gọi x số chó; lặp lại tốn, số lần lặp, Suy số gà 36-x Mỗi chó có chân, mà tổng số chân gà chó 100 Suy số chó nhiều 25 Vậy ta kiểm tra xem số cặp (1 chó, 35 gà), (2 chó 34 gà), (25 chó 11 gà) cặp có 100 chân thỏa mãn - Hỏi: Giáo viên đặt câu hỏi - Tiếp nhận câu hỏi, suy nghĩ, dựa + Công việc lặp lặp lại vào toán học cách phân tốn gì? tích để trả lời câu hỏi mà + Số lần lặp lần? giáo viên đưa + Dùng câu lệnh để diễn đạt? - Gọi học sinh lên bảng diễn đạt - Lên bảng viết đoạn chương trình ngơn ngữ lập trình cụ thể diễn đạt cách tìm số gà chó + Lấy ý kiến nhận xét, bổ sung + Nhận xét, bổ sung ý có + Chính xác đoạn chương trình + Tiếp thu đoạn chương trình Đoạn chương trình diễn đạt Pascal: For x:=1 to 25 If x*4+(36-x)*2=100 then Writeln(‘co’,x, ‘con cho va’,36-x, ‘con ga’); Đoạn chương trình diễn đạt C++: For (x=1;x

Ngày đăng: 12/07/2019, 13:48

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w