PHẦN MỞ ĐẦU MỤC LỤC I Sơ lược lý lịch tác giả 2 II Sơ lược đặc điểm tình hình đơn vị 2 III Mục đích yêu cầu của giải pháp 3 1 Thực trạng ban đầu trước khi áp dụng giải pháp 3 2 Sự cần thiết phải áp dụ[.]
MỤC LỤC I- Sơ lược lý lịch tác giả: .2 II Sơ lược đặc điểm tình hình đơn vị: III Mục đích yêu cầu giải pháp: Thực trạng ban đầu trước áp dụng giải pháp Sự cần thiết phải áp dụng giải pháp 3 Nội dung giải pháp .4 3.1 Tiến trình thực .4 3.2 Thời gian thực hiện: .4 3.3 Biện pháp tổ chức IV Hiệu giải pháp 18 V Mức độ ảnh hưởng: .18 VI Kết luận .18 Những học kinh nghiệm .18 Những kiến nghị, đề xuất 19 TÀI LIỆU THAM KHẢO 20 TIEU LUAN MOI downloadskkn : skknchat123@gmail.com SỞ GD&ĐT AN GIANG TRƯỜNG THPT AN PHÚ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc An Giang, ngày 24 tháng 12 năm 2018 BÁO CÁO Kết thực sáng kiến, cải tiến, giải pháp kỹ thuật, quản lý, tác nghiệp, ứng dụng tiến kỹ thuật nghiên cứu khoa học sư phạm ứng dụng I- Sơ lược lý lịch tác giả: - Họ tên: Nguyễn Phi Hùng Nam, nữ: Nam - Ngày tháng năm sinh: 19/09/1986 - Nơi thường trú: xã Vĩnh Hội Đông, huyện An Phú, tỉnh An Giang - Đơn vị công tác: Trường THPT An Phú - Chức vụ nay: Tổ phó chun mơn - Lĩnh vực cơng tác: giáo viên Tin học II Sơ lược đặc điểm tình hình đơn vị: * Thuận lợi Được sự quan tâm của Sở GD&ĐT An Giang, sự hỗ trợ tích cực của cấp ủy và chính quyền địa phương, sự đoàn kết, quyết tâm nâng cao chất lượng giáo dục của tập thể cán bộ, giáo viên, nhân viên học sinh trường THPT An Phú Ban Chấp hành Đảng bộ, Ban Thường vụ Đảng ủy đã thực hiện tốt công tác lãnh đạo đạt nhiều thành tích nổi bật Công tác chuyên môn lãnh đạo nhà trường quan tâm đạo: nâng cao chất lượng giáo viên, nâng cao trình độ chuyên môn; tiếp tục đổi mới phương pháp giảng dạy và phát huy khả tự học, trải nghiệm sáng tạo học sinh … * Khó khăn Nhà trường có kế hoạch bồi dưỡng học sinh giỏi từ đầu năm thời gian ôn tập không nhiều, phần lớn em tự học Tuy đào tạo chuyên ngành giáo viên giảng dạy tin học nhà trường phần lớn giáo viên trẻ, chưa có nhiều kinh nghiệm việc bồi dưỡng học sinh giỏi Tuy u thích mơn học tâm lý học sinh xem tin học mơn phụ chưa có vị trí quan trọng Bên cạnh phụ huynh học sinh chưa thấy xu tầm quan trọng công nghệ thông tin (CNTT) nên không đầu tư nhiều cho em vấn đề TIEU LUAN MOI downloadskkn : skknchat123@gmail.com * Tên báo cáo giải pháp: “Vận dụng phương pháp sinh để giải số toán liệt kê tổ hợp theo thứ tự từ điển” * Lĩnh vực: Chuyên môn III Mục đích yêu cầu giải pháp: Thực trạng ban đầu trước áp dụng giải pháp Trong thời đại ngày nay, giới diễn trình tin học hóa nhiều lĩnh vực hoạt động xã hội Tin học phát triển nhanh vũ bão trở thành ngành khoa học đóng vai trị quan trọng khơng thể thiếu phát triển xã hội Trong năm gần đây, em học sinh từ cấp tiểu học phổ thông trang bị hiểu biết ban đầu máy tính, biết lợi ích máy tính đời sống học tập.Việc học sinh tiếp cận với tin học tạo tảng sở ban đầu để định hướng cho em có sở thích khiếu nghiên cứu khoa học theo ngành khoa học công nghệ cao Môn tin 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 Tin học có ý nghĩa to lớn phát triển trí tuệ, tư thuật tốn, góp phần hình thành học vấn phổ thơng cho học sinh Qua thực tế giảng dạy môn Tin học trường THPT An Phú, công tác bồi dưỡng học sinh giỏi, thân suy nghĩ làm để em tiếp cận cách tốt nhất, dễ hiểu với thuật tốn Chính tơi ln trọng đến việc phân tích hướng dẫn giải thuật để em vận dụng giải toán theo phương pháp hiệu Sự cần thiết phải áp dụng giải pháp Nhiều quốc gia ý thức tầm quan trọng tin học có đầu tư lớn vào lĩnh vực đặc biệt lĩnh vực giáo dục nhằm đào tạo đội ngũ tri thức trẻ có tảng tin học vững vàng nhằm đáp ứng nhu cầu ngày cao xã hội Việc đưa tin học vào giảng dạy trường từ cấp Tiểu Học đến THPT nhằm mục đích phổ cập kiến thức Tin học, ngồi cịn giúp học sinh có khả phân tích, tổng hợp, trừu tượng hóa, khái quát hóa vấn đề, đặc biệt phát triển khả tư Muốn việc dạy đại trà, hướng nghiệp dạy nghề cần tạo điều kiện cho học sinh có khiếu tin học phát triển khả lập trình để giải tốt tốn Để phát huy tài tin học thông qua ôn luyện đội tuyển học sinh giỏi, đòi hỏi người dạy phải tiếp cận với nhiều dạng tốn khó nắm vững phương pháp giải tốn Bài tốn tin học thường đa dạng phức tạp, toán có nhiều phương pháp giải khác Để lựa chọn phương pháp thích hợp cho tốn, phân chia tốn thành dạng toán tổng quan phương pháp giải phù hợp TIEU LUAN MOI downloadskkn : skknchat123@gmail.com Bài toán liệt kê lớp tốn khó, có nhiều phương pháp giải lớp toán cách giải hiệu phù hợp sử dụng Phương pháp sinh Chính nên tơi chọn đề tài: “Vận dụng phương pháp sinh để giải số toán liệt kê tổ hợp theo thứ tự từ điển” ôn luyện học sinh giỏi môn Tin học Nội dung giải pháp 3.1 Tiến trình thực Thơng thường, để giải toán theo phương pháp bất kì, tơi thường hướng dẫn học sinh tiếp cận theo quy trình sau: Đọc phân tích đề Viết chương trình Thiết kế thuật tốn Kiểm thử 3.2 Thời gian thực hiện: Giải pháp áp dụng trình bồi dưỡng học sinh giỏi từ năm 20172018 đến 3.3 Biện pháp tổ chức Trong trình giải tập, để giải toán dạng liệt kê tổ hợp theo thứ tự từ điển Phương pháp sinh phải thỏa mãn hai điều kiện sau: - Từ yêu cầu đề bài, ta phải xác định cấu hình cấu hình cuối cùng; - Từ cấu hình có, chưa phải cấu hình cuối ta phải xây dựng thuật tốn để sinh cấu hình Phương pháp sinh mô tả sau: TIEU LUAN MOI downloadskkn : skknchat123@gmail.com * Một số ký hiệu dùng lưu đồ thuật tốn: Trong đề tài này, tơi xin trình ba dạng tốn sử dụng Phương pháp sinh để xử lí: Dạng 1: Liệt kê dãy nhị phân có độ dài n Input: nhập từ file văn NHIPHAN.INP chứa số nguyên dương n (3 0) thì: + A[i]:=1;// Vị trí vừa tìm + Gán phần tử từ vị trí i+1 sau Until i = 0; Thuật toán chi tiết: Sai Đúng Đúng Sai TIEU LUAN MOI downloadskkn : skknchat123@gmail.com Chương trình tham khảo const fi= ‘NHIPHAN.INP'; fo= ‘NHIPHAN.OUT'; var n: integer; A: array[1 30] of integer; procedure Nhap; begin read(n); end; procedure xuli; var i,j: integer; begin //Sinh cấu hình đầu for i:=1 to n A[i]:=0; repeat //Xuất cấu hình for i:=1 to n write(A[i]); writeln; //Tìm vị trí A[i] =0 i:=n; while (i>0) and (A[i]=1) dec(i); //Nếu chưa cấu hình cuối sinh cấu hình //tiếp theo if i>0 then begin A[i]:=1; for j:=i+1 to n A[j]:=0; end; until i=0; end; begin assign(input, fi); reset(input); assign(output, fo); rewrite(output); nhap; xuli; close(input); close(output); end Dạng 2: Liệt kê tổ hợp chập k n phần tử Input: file văn TOHOP.INP chứa hai số nguyên dương n, k (1 < k < n < 30) cách dấu cách Output: file văn TOHOP.OUT tập k phần tử tập {1, 2, …, n}, tập dịng Ví dụ: TOHOP.INP TOHOP.OUT 53 123 124 125 134 135 145 234 235 345 TIEU LUAN MOI downloadskkn : skknchat123@gmail.com Ta dễ dàng xác định cấu hình cấu hình cuối cùng: + Cấu hình đầu: {1, 2, …,k} + Cấu hình cuối: {n-k+1, n-k+2, …,n}.Giá trị lớn phần tử thứ i là: n-k+i ( i : 0) and (A[i]= n-k+i) dec(i); if i>0 then begin A[i]:=A[i]+1; for j:=i+1 to n A[j]:= A[j-1]+1; end; until i=0; end; begin TIEU LUAN MOI downloadskkn : skknchat123@gmail.com assign(input, fi); reset(input); assign(output, fo); rewrite(output); nhap; xuli; close(input);close(output); end Dạng 3: Liệt kê hoán vị n phần tử Input: file văn HV.INP chứa số nguyên dương n < 12 Ví dụ: HV.INP HV.OUT 123 132 213 231 312 321 Output: file văn HV.OUT hoán vị dãy (1, 2, , n), hốn vị dịng Ở dạng tốn này, ta dễ dàng xác định cấu hình cấu hình cuối nó: - Cấu hình đầu: {1, 2, …,n} - Cấu hình cuối: {n, n-1, n-2,…, n} Nhận xét: ta có dãy A đại diện cho tập con, A cấu hình kết thúc có nghĩa tất phần tử A phải có giá trị giảm dần, khơng ta phải sinh dãy A thỏa mãn vừa đủ lớn dãy cũ theo nghĩa khơng có tập A* (A* hoán vị tập A) chen chúng thứ tự từ điển Giả sử hoán vị A = (3, 2, 6, 5, 4, 1), xét phần tử cuối cùng, ta thấy chúng xếp giảm dần, điều có nghĩa cho dù ta có hốn vị phần tử nào, ta hoán vị bé hoán vị Như ta phải xét đến x2 = 2, thay giá trị khác Ta thay giá trị nào? hốn vị nhỏ hơn, khơng thể có A = (phần tử sau không chọn vào giá trị mà phần tử trước chọn) Còn lại giá trị 4, 5, Vì cần hốn vị vừa đủ lớn nên ta chọn A = Còn giá trị (A 3, A4, A5, A6) lấy tập {6, 5, 2, 1} Cũng tính vừa đủ lớn nên ta tìm biểu diễn nhỏ số gán cho A3, A4, A5, A6 tức (1, 2, 5, 6) Vậy hoán vị (3, 4, 1, 2, 5, 6), nghĩa là: Giá trị tăng dần Cấu hình A 2 5 Ta cấu hình kế tiếp: có 10 TIEU LUAN MOI downloadskkn : skknchat123@gmail.com - Tại vị trí A2 khơng hợp quy luật tăng dần tính từ sau trước nên cần đổi: tìm từ vị trí cuối trước, gặp phần tử vừa lớn A đổi chỗ với A2, ta tìm A5 Vậy cần đổi chỗ A2 A5 Ta được: 5 - Để đảm bảo thứ tự từ điển, phần tử từ A3 đến A6 phải tăng dần cần phải đảo ngược giá trị phần tử (Vì đoạn từ A3 đến A6 giảm dần) x 123456346521 y - Vị trí phần tử cần đảo vị trí từ đến (gọi vị trí x, y) Ta cần đổi chỗ Ax Ay với x tăng dần, y giảm dần trình kết thúc x>=y Đổi chổ A3, A6 Đổi chổ A4, A5 4 x 5 y x y 5 6 6 Phương pháp sinh mơ tả sau: Sinh cấu hình đầu {Gán A[i]:=i với i tăng từ đến n} Repeat Xuất cấu hình {Xuất A[i] với i tăng từ đến n} Tìm từ cuối trước- vị trí A[i] khơng thỏa tính chất tăng dần Nếu chưa hết dãy (i > 0) thì: + Tìm từ cuối dãy trước – vị trí A[k] >A[i] đổi chỗ A[k] A[i] + Đảo ngược đoạn cuối từ vị trí i+1 đến n Until i = 0; Thuật toán chi tiết: 11 TIEU LUAN MOI downloadskkn : skknchat123@gmail.com Sai Sai Sai Chương trình tham khảo const fi='HV.INP; fo='HV.OUT'; Var n: integer; A: array[1 20] of integer; procedure nhap; begin read(n); end; procedure doicho(var x, y: integer); var tam: integer; begin tam:=x; x:=y; y:=tam; end; procedure xuli; var i, k, x, y: integer; begin for i:=1 to n A[i]:=i; repeat for i:=1 to n write(A[i]); writeln; i:=n-1; while (i>0) and (A[i]>A[i+1]) dec(i); if i>0 then begin k:=n; while A[k] 0) thì: + Tìm từ cuối dãy trước – vị trí k, cho S[k] >S[i] đổi chỗ S[k] S[i] + Đảo ngược đoạn cuối xâu S từ vị trí i+1 đến n (length(s)) Until i = 0; Bài tập 4: Cho số nguyên dương n (n1 (i=2), giảm A[2] đơn vị, A[2] = - = 3; - Tổng= k – i + 1= – + = 8; - chia tối đa phần tử có giá trị A[2]: thương = tổng div A[i] div = Gán giá trị phần tử A[3], A[4] = Phần dư gán cho phần tử A[5] ( A[5] = 2); - Cập nhật lại k Phương pháp sinh mơ tả sau: A[1]:=n; K:=1// số phần tử có cấu hình Repeat Xuất cấu hình tại; Tìm từ sau trước, vị trí A[i]>1; 16 TIEU LUAN MOI downloadskkn : skknchat123@gmail.com Giảm A[i] đơn vị Nếu chưa phải cấu hình cuối (i>0) + Tổng := k – i +1; Thương := k div A[i]; Dư := thương mod A[i]; + Gán phần tử phía sau A[i] có giá trị với A[i] (A[i+j] := A[i], với j:1thương) + Cập nhật lại k: k := i + thương + Nếu phần dư (Dư > 0) gán phần dư cho phần tử A[k+1] K:=k+1 A[k]:=Dư Until i = 0; Bài tập 5: Một cửa hàng nhỏ có N loại bánh khác nhau, loại bánh có số lượng lớn Có người mua hàng cần mua k bánh Giả sử người quan tâm đến loại bánh mà không quan tâm tới bánh cụ thể thứ tự chọn chúng Hãy liệt kê cách khác mà khách hàng lựa chọn để mua bánh Input: file văn MHANG.INP gồm dòng ghi hai số nguyên dương N K Giữ hai số cách khoảng cách Output: file văn MHANG.OUT gồm nhiều dòng, dòng phương án mua hàng khách hàng Ví dụ: MHANG.INP MHANG.OUT 23 111 112 122 222 Hướng dẫn: - Cấu hình đầu: {1, 1, ,1} - Chọn k bánh loại - Cấu hình cuối: {n, n, , n}- Chọn k bánh loại n - Sinh cấu hình kế tiếp: xét ví dụ n =3 k = Ta có cấu hình: {1, 1, 1, 1, 1} {1, 1, 1, 1, 2} {1, 1, 1, 1, 3} {1, 1, 1, 2, 2} {1, 1, 1, 2, 3} {1, 1, 1, 3, 3} {1, 1, 2, 2, 2} 10 11 12 13 14 {1, 1, 2, 2, 3} {1, 1, 2, 3, 3} {1, 1, 3, 3, 3} {1, 2, 2, 2, 2} {1, 2, 2, 2, 3} {1, 2, 2, 3, 3} {1, 2, 3, 3, 3} 15 16 17 18 19 20 21 {1, 3, 3, 3, 3} {2, 2, 2, 2, 2} {2, 2, 2, 2, 3} {2, 2, 2, 3, 3} {2, 2, 3, 3, 3} {2, 3, 3, 3, 3} {3, 3, 3, 3, 3} Phương pháp sinh mơ tả sau: 17 TIEU LUAN MOI downloadskkn : skknchat123@gmail.com Sinh cấu hình đầu {Các phần tử – lấy k bánh loại 1} Repeat Xuất cấu hình Tìm từ sau trước, vị trí A[i]n Nếu chưa phải cấu hình cuối (i>0) + Tăng A[i] lên đơn vị + Các phần tử sau A[i] A[i]( A[j] := A[i] với (j: i+1 k)) Until i = 0; Trên đây, số dạng tốn dùng phương pháp sinh để xử lý Tuy nhiên, phương pháp lập trình có ưu nhược điểm riêng Phương pháp sinh có ưu điểm trường hợp liệt kê tồn số lượng nhỏ cấu hình, liệu lớn hạn chế trình duyệt IV Hiệu giải pháp Giải pháp giúp học sinh tiếp cận với kỹ thuật lập trình mới, rèn luyện học sinh kỹ lập trình, xử lí tốn, phát huy tính tích cực, sáng tạo học sinh Áp dụng giải pháp “Vận dụng Phương pháp sinh giải số toán liệt kê tổ hợp theo thứ tự từ điển” góp phần không nhỏ vào hiệu quả, chất lượng bồi dưỡng học sinh giỏi đơn vị năm gần Một số kết đạt từ vận dụng giải pháp (năm học 2017-2018): Được dự thi học sinh giỏi cấp Tin học trẻ 2019 Quốc gia 2019 Học sinh giỏi cấp tỉnh 2018 Tin học trẻ 2018 01 giải nhì, 01 giải ba 01 giải ba, 01 giải khuyến khích 01 học sinh 02 giải ba V Mức độ ảnh hưởng: Giải pháp góp phần mang lại hiệu định công tác bồi dưỡng học sinh giỏi đơn vị áp dụng số đơn vị khác VI Kết luận Những học kinh nghiệm Quá trình tuyển chọn, bồi dưỡng học sinh giỏi môn Tin học trình giáo dục nâng cao, biến học sinh có tiềm thành học sinh có khả năng, học sinh chưa bộc lộ niềm say mê, hứng thú với môn tin học thành học sinh say mê, hứng thú với mơn Tin học Trong q trình vai trò người giáo 18 TIEU LUAN MOI downloadskkn : skknchat123@gmail.com viên quan trọng Quan trọng từ khâu tuyển chọn, dẫn dắt, truyền dạy, uốn nắn đến việc khích lệ cố gắng, tích cực khả tự học, tự sáng tạo học sinh Phẩm chất, uy tín, lực người giáo viên có ảnh hưởng trực tiếp, quan trọng, chí có tính định trình học tập rèn luyện học sinh Do vậy, giáo viên phải tự đào tạo, tự cố gắng hoàn thiện phẩm chất lực chuyên môn; tâm huyết với công việc, yêu thương học trò giúp đỡ đồng nghiệp Giáo viên không truyền dạy kiến thức mà cao là, dạy cho học sinh cách tìm kiến thức, chân lý từ giảng Đặc biệt lĩnh vực thay đổi phát triển liên tục Giáo viên phải cập nhật kiến thức kịp thời đáp ứng yêu cầu phát triển môn học đặc thù Cùng với truyền dạy kiến thức, người giáo viên phải truyền cảm hứng say mê, yêu mến môn học cho học sinh, đặc biệt học sinh giỏi Khơng có niềm say mê, dù có kiến thức sáng tạo khó đạt kết tốt, khó đạt đỉnh cao học tập thi cử, đặc biệt lĩnh vực CNTT Những kiến nghị, đề xuất Ban giám hiệu nhà trường phụ huynh học sinh cần tạo điều kiện tốt cho đội ngủ học sinh giỏi trường Giáo viên bồi dưỡng cần quản lí kiểm tra việc học tập học sinh cách nghiêm túc Trên vài kinh nghiệm nhỏ tơi q trình bồi dưỡng học sinh giỏi, mong góp ý đồng nghiệp để đề tài nhân rộng đạt kết cao Tôi cam đoan nội dung báo cáo thật Xin chân thành cảm ơn Xác nhận đơn vị áp dụng giải pháp Người viết giải pháp Nguyễn Phi Hùng 19 TIEU LUAN MOI downloadskkn : skknchat123@gmail.com TÀI LIỆU THAM KHẢO Sách Giáo Khoa Tin Học 11 – Hồ Sĩ Đàm (Chủ biên) Tài Liệu Sách Giáo Khoa Chuyên Tin Học Quyển 1, – Hồ Sĩ Đàm (Chủ biên) 150 Bài Tập Toán Tin – Lê Minh Hồng Giải Thuật & Lập Trình – Lê Minh Hoàng Wedsite: http://ntucoder.net 20 TIEU LUAN MOI downloadskkn : skknchat123@gmail.com ... toán liệt kê lớp tốn khó, có nhiều phương pháp giải lớp toán cách giải hiệu phù hợp sử dụng Phương pháp sinh Chính nên tơi chọn đề tài: ? ?Vận dụng phương pháp sinh để giải số toán liệt kê tổ hợp theo. .. hiện: Giải pháp áp dụng trình bồi dưỡng học sinh giỏi từ năm 20172018 đến 3.3 Biện pháp tổ chức Trong q trình giải tập, để giải tốn dạng liệt kê tổ hợp theo thứ tự từ điển Phương pháp sinh phải... dụng Phương pháp sinh giải số toán liệt kê tổ hợp theo thứ tự từ điển? ?? góp phần khơng nhỏ vào hiệu quả, chất lượng bồi dưỡng học sinh giỏi đơn vị năm gần Một số kết đạt từ vận dụng giải pháp (năm