Mục tiêu nghiên cứu của sáng kiến kinh nghiệm là giáo viên có thể chuyển tải kiến thức lý thuyết trong số học dạng bài về ước chung lớn nhất, bội chung nhỏ nhất thành bài toán lập trình trong Pascal, phát triển vận dụng bài toán từ định nghĩa kết hợp với câu lệnh có cấu trúc, kiểu dữ liệu mảng để tạo thành những bài toán nâng cao đòi hỏi học sinh có kĩ năng vận dụng tổng hợp các kiến thức đã học để giải. Hình thành được cho học sinh phương pháp giải quyết các dạng bài toán ước chung lớn nhất, bội chung nhỏ nhất từ cơ bản đến phức tạp. Học sinh hình thành các kĩ năng vận dụng kiến thức để phân tích bài toán, giải bài toán một cách có hệ thống. Giải pháp mới này ngắn gọn và dễ hiểu, phù hợp với học sinh lớp 8 trở lên, có thể ứng dụng trong dạy học đại trà và bồi dưỡng học sinh giỏi Tin học của bậc học.
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc “PHƯƠNG PHÁP GIẢI CÁC BÀI TOÁN VỀ ƯỚC CHUNG LỚN NHẤT VÀ BỘI CHUNG NHỎ NHẤT TRONG BỒI DƯỠNG HỌC SINH GIỎI TIN HỌC LỚP 8, 9” Quảng Bình, tháng 11 năm 2017 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc “PHƯƠNG PHÁP GIẢI CÁC BÀI TOÁN VỀ ƯỚC CHUNG LỚN NHẤT VÀ BỘI CHUNG NHỎ NHẤT TRONG BỒI DƯỠNG HỌC SINH GIỎI TIN HỌC LỚP 8, 9” Họ tên: Vương Công Quang Chức vụ: Giáo viên Đơn vị công tác: Trường THCS Phú Thủy Quảng Bình, tháng 11 năm 2017 MỤC LỤC MỤC LỤC MỞ ĐẦU Lý chọn đề tài 2 Điểm sáng kiến 3 Phạm vi nghiên cứu NỘI DUNG Thực trạng nội dung cần nghiên cứu 1.1 Cơ sở khoa học ước chung lớn bội chung nhỏ nhất: 1.2 Thực trạng dạy học: Các giải pháp thực 2.1 Hướng dẫn cho học sinh nắm lại kiến thức ước chung, ước chung lớn nhất, bội chung nhỏ hai hay nhiều số 2.2 Giới thiệu thuật toán tìm ước chung lớn bội chung nhỏ cho học sinh 2.3 Ví dụ kết hợp câu lệnh lặp mảng chiều để giải số toán Ước chung lớn Bội chung nhỏ 2.4 Áp dụng giải số tốn tìm ước chung, ước chung lớn nhất, bội chung nhỏ 10 2.5 Hiệu đề tài: 14 KẾT LUẬN 17 Ý nghĩa thuật tốn tìm UCLN, BCNN 17 Kiến nghị 18 TÀI LIỆU THAM KHẢO 19 MỞ ĐẦU Lý chọn đề tài Ngày nay, với phát triển nhảy vọt công nghệ thông tin Tin học làm thay đổi mặt đời sống xã hội, thúc đẩy phát triển giáo dục, kinh tế, trị mặt đời sống xã hội Chính xác định tầm quan trọng nên mơn Tin học đưa vào giảng dạy tất lớp cấp học, đặc biệt việc dạy học lập trình trọng áp dụng cho học sinh khối trở lên Đây môn học mẻ rèn luyện cho học sinh tính tư duy, làm việc logic, có tính sáng tạo, biết phân tích, tổng hợp giúp giải nhiều công việc xuất phát từ thực tiễn sống Mặc dù vậy, qua thực tế chung học sinh học mơn Tin học nói chung BD HSG Tin học nói riêng cảm thấy khó khăn nắm bắt kiến thức khó khăn việc tư thuật tốn, giải vấn đề, cách giải số toán cịn rập khn chưa mang tính sáng tạo Ngun nhân vấn đề mơn học lập trình mẻ với em học sinh; thuật ngữ, câu lệnh mang tính kỹ thuật, từ khóa lập trình, giao diện phần mềm tiếng Anh nên việc tiếp xúc làm quen với học sinh cịn khó khăn bỡ ngỡ Đa số em chưa có kinh nghiệm việc thể thuật tốn, tìm hiểu chương trình nên việc viết chương trình cịn đơn giản khơng hiểu chương trình người khác viết khả nâng cao hiểu biết cách giải toán học hỏi thuật tốn cịn hạn chế Trong chương trình khung bồi dưỡng Tin học Phòng giáo dục, có tập số học gắn liền với Tốn học phần Đại số lớp 6, 7, 8, số tốn định nghĩa lại gắn liền với thực tiễn sống Để giải tốn xuất phát từ thực tiễn sống địi hỏi học sinh cần có kỹ phân tích toán, rút cách giải rèn luyện cách phân tích tổng hợp tư để đưa toán thực tiễn trở thành toán dạng số học đơn giải Vậy nên giáo viên cần dạy cho học sinh phát triển tư quy trình giải tốn, phát triển thuật toán áp dụng kiến thức tổng hợp câu lệnh có cấu trúc kiểu liệu để viết chương trình giải tốn Theo kinh nghiệm thân, nhận thấy dạng ước chung lớn nhất, bội chung nhỏ phù hợp để hướng dẫn học sinh hiểu cách chuyển từ kiến thức phần số học sang áp dụng giải tốn lập trình Pascal từ đến nâng cao, từ toán định nghĩa đơn giản đến vận dụng câu lệnh có cấu trúc kiểu liệu để giải khó nên tơi đúc rút lại thành sáng kiến kinh nghiệm áp dụng giảng dạy đơn vị, là: “Phương pháp giải toán Ước chung lớn Bội chung nhỏ bồi dưỡng học sinh giỏi Tin học lớp 8, 9” 2 Điểm sáng kiến - Giáo viên chuyển tải kiến thức lý thuyết số học dạng ước chung lớn nhất, bội chung nhỏ thành tốn lập trình Pascal, phát triển vận dụng tốn từ định nghĩa kết hợp với câu lệnh có cấu trúc, kiểu liệu mảng để tạo thành tốn nâng cao địi hỏi học sinh có kĩ vận dụng tổng hợp kiến thức học để giải - Hình thành cho học sinh phương pháp giải dạng toán ước chung lớn nhất, bội chung nhỏ từ đến phức tạp - Học sinh hình thành kĩ vận dụng kiến thức để phân tích tốn, giải tốn cách có hệ thống - Giải pháp ngắn gọn dễ hiểu, phù hợp với học sinh lớp trở lên, ứng dụng dạy học đại trà bồi dưỡng học sinh giỏi Tin học bậc học Phạm vi nghiên cứu Giải pháp ““Phương pháp giải toán Ước chung lớn Bội chung nhỏ bồi dưỡng học sinh giỏi Tin học lớp 8, 9” nghiên cứu đơn vị công tác năm học 2015 – 2016 áp dụng giảng dạy với đội tuyển HSG Tin học năm học 2016 – 2017 Qua áp dụng giải pháp này, học sinh hiểu nhiều cách tiếp cận tốn, hình thành cách giải dạng tập dãy số cho trước nhờ học sinh tự tin tìm hiểu đam mê khám phá học hỏi hơn, nhờ góp phần nâng cao chất lượng giảng dạy Bồi dưỡng HSG môn Tin học nói riêng Tin học nói chung NỘI DUNG Thực trạng nội dung cần nghiên cứu 1.1 Cơ sở khoa học ước chung lớn bội chung nhỏ nhất: 1.1.1 Tìm ước chung lớn Trong Tốn học, ước chung lớn hai số nguyên dương tính thuật tốn Euclid (thuật tốn Euclid nhà Toán học Euclid viết sách toán tiếng Elements từ khoảng năm 300 trước Công Nguyên) hai phương pháp: phương phương pháp trừ phương pháp chia lấy số dư Phương pháp trừ: Nguyên lý thuật tốn ước số chung lớn cặp số không thay đổi với hiệu hai số Ví dụ ƯSCLN 252 105 ƯSCLN 147 (= 252 − 105) 105 Vì số lớn cặp số bị giảm giá trị nên việc lặp lặp lại thuật toán giúp tạo số ngày nhỏ đến lúc q trình kết thúc — cặp số lại hai số (nếu trình thực thêm bước nữa, có hai số trở thành số 0) Phương pháp chia lấy số dư: Với hai số nguyên dương ban đầu tạo cặp số nguyên dương bao gồm số nhỏ phần dư phép chia hai số ban đầu Quá trình tiếp tục hai số cặp nhau, giá trị lúc trở thành ước số chung lớn cặp số ban đầu Ví dụ: Tính ước số chung lớn 91 287 Trước hết lấy 287 (số lớn số) chia cho 91: 287 = 91*3 + 14 (91 & 14 dùng cho vòng lặp kế) Nhận xét: số chia hết 287 91 chia hết 287 91*3 = 14 Tương tự, số chia hết 91 14 chia hết 91*3 + 14 = 287 Do đó, ƯSCLN(91,287) = ƯSCLN(91,14) Bài tốn trở thành tìm ƯSCLN(91,14) Lặp lại quy trình phép chia khơng cịn số dư sau: 91 = 14*6 + (14 & dùng cho vịng lặp kế) 14 = 7*2 (khơng cịn số dư, kết thúc, nhận làm kết quả) Cuối ta có: = ƯSCLN(7,0) = ƯSCLN(14,7) = ƯSCLN(91,14) = ƯSCLN(287,91) 1.1.2 Tìm bội chung nhỏ (BCNN) Tìm bội chung nhỏ hai số nguyên a b cơng thức: BCNN(a,b) = (a * b) div UCLN(a,b) Ví dụ: BCNN(4,6) = 4*6 div UCLN(4,6) = 24 div = 12 1.1.3 Tìm UCLN, BCNN nhiều số Để tìm ước chung lớn bội chung nhỏ hai hay nhiều số, ta sử dụng công thức truy hồi: UCLN(a,b,c) = UCLN(UCLN(a,b),c) BCNN(a,b,c) = BCNN(BCNN(a,b),c) Ví dụ: UCLN(4,6,10) = UCLN(UCLN(4,6),10) = UCLN(2,10)=2 BCNN(4,6,10)=BCNN(BCNN(4,6),10)=BCNN(12,10)=60 1.2 Thực trạng dạy học: Năm học 2015-2016 thân giao phần hành bồi dưỡng học sinh giỏi Tin học Qua trực tiếp giảng dạy khảo sát phần số học, kết cho thấy đa số học sinh lúng túng phân tích tốn, tìm thuật tốn, cách rút cơng thức viết chương trình chạy, số em viết chương trình giải tìm ước chung lớn hai số Đề khảo sát học sinh giỏi lớp sau dạy xong chuyên đề lý thuyết tập số học sau: Đề ra: Dùng ngơn ngữ lập trình Free Pascal Turbo Pascal để giải toán sau, thời gian làm 120 phút Câu (3 điểm): Nhập vào hai số nguyên dương a b (0 < a,b < 32000) Tính tổng ước chung hai số in hình tổng Câu (3 điểm): Nhập vào hai số nguyên a b (b≠ 0, 0