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

Ứng dụng phương pháp đệ quy quay lui trong bồi dưỡng học sinh giỏi tin học trung học phổ thông

86 2 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

BO GIAO DUC VA DAO TAO DAI HOC HUE TRUONG DAI HOC KHOA HOC TRA LE DONG HAI UNG DUNG PHUONG PHAP DE QUY QUAY LUI TRONG BOI DUONG HOC SINH GIOI TIN HOC TRUNG HOC PHO THONG LUAN VAN THAC SI KHOA HOC CONG NGHE THONG TIN Thira Thién Hué, 2020 BO GIAO DUC VA DAO TAO ĐẠI HỌC HUE TRƯỜNG ĐẠI HỌC KHOA HỌC TRA LE DONG HAI UNG DUNG PHUONG PHAP DE QUY QUAY LUI TRONG BOI DUONG HOC SINH GIOI TIN HOC TRUNG HOC PHO THONG CHUYEN NGANH: KHOA HOC MÁY TÍNH MA SO: 8480101 LUAN VAN THAC Si KHOA HOC DINH HUONG UNG DUNG NGƯỜI HƯỚNG DẪN KHOA HỌC PGS TS HOÀNG QUANG Thừa Thiên Huế, 2020 LOI CAM DOAN Tôi xin cam đoan luận van cơng trình nghiên cứu cá nhân hướng dẫn khoa học thầy PGS.TS Hoàng Quang, trường Đại học Khoa học — Đại học Huế Tất số liệu kết nghiên cứu luận văn trung thực, chưa cơng bố cơng trình nghiên cứu khác Mọi tài liệu luận văn trích dẫn rõ ràng trung thực tên tác giả, tên công trình, thời gian địa điểm cơng bố Nếu có chép không hợp lệ, vi phạm quy chế đảo tạo tơi xin chịu hồn tồn trách nhiệm Thừa Thiên Huế, tháng năm 2020 Tác giả Trà Lê Đông Hải LOI CAM ON Lời đầu tiên, xin gởi lời cảm ơn chân thành sâu sắc đến Quý thầy cô giáo Khoa Công nghệ thông tin - Trường Đại học Khoa học Huế tận tình hướng dẫn, truyền đạt kiến thức, tạo điều kiện thuận lợi trình học tập thực luận văn tốt nghiệp Tôi xin chân thành gửi lời biết ơn đến PGS.TS Hồng Quang, người thầy hướng dẫn tận tình có góp ý sâu sắc, hướng dẫn q báu cho tơi suốt q trình nghiên cứu, kịp thời cho nhiều lời động viên nhận xét đắn để tơi có thê hồn thành tốt đề tài Trong trình thực để tài, xin chân thành gửi lời cảm ơn đến giúp đỡ, lời động viên từ phía gia đình, đồng nghiệp, bạn bè động lực to lớn giúp tơi hồn thành tốt dé tài nghiên cứu Tơi gửi lời cảm ơn đến trường PTDTNT tỉnh Gia Lai, nơi công tác tạo điều kiện cho học thực đề tài nghiên cứu Bản thân cố gắng trình thực để tài chắn không tránh khỏi thiếu sót Kính mong q thầy bạn tận tình góp ý, bảo Xin chan cam on! Thừa Thiên Huế, tháng năm 2020 Tác giả Trà Lê Đông Hải il MUC LUC Trang LOT GAM DOAN ossssessssssssovcasansovsacasscnnsessstunsissarnevaasanvenansoreosasoreonaaseansnasenanrianannevienss i LOT CAM ON oscssssessssssssssseesscssssssssseeecsssssssssesssssssssssseessssssssssseesessssssssessssssssneessses ii „10/90050 iii DANH MUC CAC HINH VE cessessessssssessscsssssscsscsssssscsucssscsscssssssssucessssssssccassssesseenss v MO DAU wiseescsssssssessscsssssssseesssssssssseeeesssssssssseesssssssuseesssssssssnssesessssssneseeesssssssnsneessesssy Chương GIỚI THIỆU PHƯƠNG PHÁP LẬP TRÌNH ĐỆ QUY 1.1 Khái niệm đệ quy . 222 2222211221122112211211121112112122212 xe 1.1.1 Khái niệm hình thức đệ quy . -©2222222222221222122212212222 e6 1.1.2 (Dinhenghia: dE Quy: encesrecnersesernneseree mercer meem cesnremente semen 56 1.1.3 Các bước để giải toán đệ quy -5222222 2222221221222 xee 172; Giải Thu đẾ QUW sassszssisnristiiteisBsiEBBIBBIEIIGGAISENGDNNGEEISORENEERGHIESERGĐISSENBAĐSEtagni 1.21, Khai niémeiai thuatd€ Quy: scence neue nnn enensmnencemm cements! 1.2.2 Ví dụ đệ quy -©2-2222221221112111211121112112112112212212ee § 13, Chong trinh Ể'QUY seeszzrsetstrendssirteointytURODJGHORAGISRORSHGEORNHtRGNSiiiĐGg 12 1.3.1 Khái niém chuong trinh d€ qUy ccc cececeeeceeeeeeceeettetteteneenees 12 1.3.2 Cầu trúc chương trình đệ quy . 22s¿22z2zzsze2 12 1.4 Nguyên tắc hoạt động giải thuật đệ quy -22 2222221222122 cee 13 1.4.1 Khái niệm StacK - Q10 222111112111 1211 11111 1111101119111 kg ke 13 1.4.2 Nguyên tắc hoạt động giải thuật đệ quy . 52-+zzsze¿ 13 1.5 Ưu điểm hạn chế giải thuật đệ quy -222222 22212221221222 xe 14 bào 1.5.2 Ham 14 nh ố 15 1.6 Một số toán giải phương pháp đệ quy .-.- 2222222222222 15 1.6.1 Tính giai thừa số nguyên dương n 2-©2222z222Ec22xSze2 15 1.6.2 Tinh tổng S(n) = 1! +2! + 3! + +n! (n số nguyên đương) 17 1.6.3 Tính lãy thừa: a" với n số nguyên dương . -:-s¿ 18 1.6.4 Tìm số fibonaxi thứ n . 222222 20 11 1.6.5 Bài toán tháp Hà NỘI .S2 HH HH He 22 1.7 Tiểu kết chương Ì 22 222222222121122212221221121.21221 te Chương GIỚI THIỆU VẺ PHƯƠNG PHÁP ĐẸ QUY QUAY LU 2.1 Giải toán phương pháp đệ quy quay lui 52s22z+2zzcsze2 26 2.1.1 Khái niệm St SH HH Hà HH HH Hy 26 2.1.2 Ý tưởng 2.222 222222122112211211122112112111211221212222122221222 re 27 2.2 Phương pháp giải toán phương pháp quay lui -2¿ 30 22+]; JhươngPHD site n6i62lEEIGDIEEIGDNIIEEEDHIESEEGĐISSIRDMIEEIENNHEIVHSIRENSSSSANgE 30 2.2.2 Giải thuật tổng quát . 22 2222212211211121112211211121112212212222 xe 31 2.3 Một số toán quen thuộc giải phương pháp đệ quy quay lui 32 2.3.1 Bài toán liệt kê dãy nhị phân độ dài n ScScscccsrrrrerreee 32 2.3.2 Bài toán liệt kê tất hoán vị tập số {1, 2, ,N} 36 2.3.3 Bài tốn liệt kê tất tơ hợp chập k tập {1, 2, , N} 40 2.4 Tiểu kết chương .- 22-221 221122112112111211211211211211222222 re 44 Chương ÁP DỤNG PHƯƠNG PHÁP ĐẸ QUY QUAY LUI ĐỂ GIẢI CÁC :7.900197.0.N:/9:.68.)10)709)/0)277 7ô ốc 45 3.1 Nhận đạng toán giải phương pháp đệ quy quay lui 45 3.2 Giải số toán phương pháp đệ quy quay lui - 46 3.2.1 Bài tốn liệt kê chỉnh hợp khơng lặp .-.¿5c cccssss: 46 3.2.2 Liệt kê hoán vị xâu có độ đài n 2221122221122 esrsxg 49 3.2.3 Liệt kê cách đặt kí tự hình vng 4x4 53 3.2.4 Bài toán xếp n quân hậu bàn cờ nX .-2-2222222222222 2e 57 3.2.5 Vòng tròn nguyên tỐ 2: ©22222122112112112211211211221222222 re 63 3.3 Tiểu kết chương 22222 2212221221122112211222222222222222 are 68 KET LUAN VA HƯỚNG PHÁT TRIÊN CỦA ĐÈ TÀI . -. 69 'TẢTILIÊU THAM KHẢ ¿zzxzzzzeyzzs:gsnx0st0naig18id03100H1158T1SDSR0P-SREHĐSH00008808 70 PHỤ LỤC iv DANH MỤC CÁC HiNH VE Trang Hinh 1.1 Ứng dụng đệ quy tao hình 2s 2222222221221312111211.2112E xe Hinh 1.2 Sơ đồ thể chiến thuật tìm kiếm từ điền Hinh 1.3 Stack thể cách lưu trữ giải thuật đệ quy -5ss¿ 13 Hinh 2.1 Thuật toán quay lui thể theo sơ đồ tìm kiếm theo chiều sâu 26 Hinh 2.2 Cây tìm kiếm theo chiều sâu thể phương pháp quay lui 29 Hinh 2.3 Cây mô tả dãy nhị phân với N3 Hinh 2.4 Cây mơ tả hốn Vi VỚI ñ - n St snnhhrererreere 35 it SH nhà Ha tre 38 Hinh 2.5 Cây mô tả tổ hợp với N = 5, k=2 2222222121122 ee 43 MO DAU > Ly chon dé tai Trong thời đại ngày nay, giới điễn q 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 Xã hội chứng kiến cách mạng to lớn lĩnh vực công nghệ Những phát minh liên tục cập nhật Thường nguồn gốc phát minh từ chương trình gạo cội có khả phối thao túng xu hướng cơng nghệ diễn Trong số khơng thê khơng nói đến mã hóa thuật tốn, sử dụng để phát triển chương trình cạnh tranh Vì thế, chương trình thành cơng có tam ảnh hưởng, việc khai thác thuật tốn xác điều tất yếu Ý thức tầm quan trọng tin học nên xã hội 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 Đề đánh giá chất lượng đạy học trường phổ thông, tiêu chí ngành giáo dục đặc biệt coi trọng số lượng chất lượng học sinh giỏi đạt hàng năm trường Chính vậy, bên cạnh việc nâng cao chất lượng đại trà việc phát bồi dưỡng học sinh giỏi mối quan tâm hàng đầu tất trường phô thông Đối với môn Tin học, bồi đưỡng học sinh giỏi trung học phổ thơng địi hỏi giáo viên phải có khả biên soạn tài liệu, chương trình, nội dung bồi dưỡng rõ ràng, cụ thé, chi tiết cho mảng kiến thức, chuyên để Muốn làm đòi hỏi giáo viên phải có chun mơn vững vàng lập trình, có phương pháp giảng dạy tốt thuật toán Đối với học sinh muốn đạt kết cao kỳ thi học sinh giỏi cấp tỉnh cao em phải có lượng kiến thức sâu thuật tốn lập trình Những kiến thức chương trình phổ thơng hành khơng thể thực Nhiệm vụ giáo viên dạy thêm cho em kiến thức thuật toán phương pháp lập trình để học sinh đạt kết cao kỳ thi học sinh giỏi Các toán bồi dưỡng học sinh giỏi tin học thường đa dạng phức tạp, tố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 toán thành dạng toán tổng quát phương pháp giải cho đạng tốn Dạng tốn tìm nghiệm tối ưu hay tốn liệt kê lớp tốn khó, thường xuất đề thi học sinh giỏi cấp thành phố, cấp tỉnh hay cấp quốc gia Có nhiều phương pháp giải lớp toán phương pháp đệ quy quay lui phù hợp Tuy nhiên việc dạy cho học sinh sử dụng tốt phương pháp để giải toán vấn để dễ đàng Phương pháp quay lui kĩ thuật thiết kế giải thuật đựa đệ quy Ÿ tưởng quay lui tìm lời giải bước, bước chọn số lựa chọn đệ quy Người đề thuật ngữ (backtrack) nhà toán học người Mỹ D H Lehmer vào năm 1950 La giáo viên giảng đạy môn Tin học trường trung học phổ thông, việc bồi dưỡng học sinh giỏi nhiệm vụ vô quan trọng, nhận thấy việc ứng dụng phương pháp đệ quy quay lui thiết kế thuật toán mảng kiến thức thực cần thiết học sinh tham gia bồi dưỡng học sinh giỏi Vì vậy, tơi chon dé tài “Ứng dụng phương pháp đệ quy quay lui bơi dưỡng học sinh giỏi Tìn học Trung học phổ thông” để làm đề tài nghiên cứu nhằm nâng cao chất lượng hiệu bồi dưỡng học sinh giỏi, góp phần nâng cao tỷ lệ giải kỳ thi học sinh giỏi môn tin học cấp tỉnh, cấp quốc gia Mặc đù thân cố gắng trình thực để tài chắn không tránh khỏi thiếu sót, kính mong q thầy bạn tận tình góp ý, bảo > Tổng quan tài liệu Hiện có nhiều tài liệu phương pháp đệ quy quay lui nhiễu toán đệ quy quay lui phân tích cài đặt theo nhiều cách khác Song tài liệu thường trình bày một vài tốn, chưa có tính hệ thống Việc hệ thống nhận dạng tốn giải phương pháp đệ quy quay lui giúp em học sinh dễ tiếp thu phương pháp giáo viên có thêm tài liệu tham khảo giảng dạy nghiên cứu > Mục tiêu nghiên cứu Mục tiêu để tài nghiên cứu ứng dụng phương pháp đệ quy quay lui bồi đưỡng học sinh giỏi Tin học khối trung học phổ thông Đề tài "Ứng dụng phương pháp đệ quy quay lui bồi đưỡng học sinh giỏi Tin học trung học phô thông" thực nhằm nâng cao chất lượng hiệu công tác bồi đưỡng học sinh giỏi trường trung học phổ thông Đề tài giúp cho học sinh hiểu rõ kỹ thuật đệ quy, kỹ thuật đệ quy quay lui, ứng dụng phương pháp đệ quy quay lui để nhận dạng giải số toán Tin học Từ góp phần nâng cao khả tự học, tự lập trình thân giúp cho em tham gia kỳ thi học sinh giỏi Tin học khối trung học phô thông đạt kết ngày cao Tạo nguồn tài liệu tham khảo thuật toán cho học sinh giáo viên việc dạy bồi dưỡng học sinh giỏi Tin hoc trường trung học phô thông >_ Đối tượng phạm vi nghiên cứu Đề tài "Ứng dụng phương pháp đệ quy quay lui bồi đưỡng học sinh giỏi Tin học trung học phổ thơng" có đối tượng phạm vi nghiên cứu lý thuyết đệ quy, phương pháp đệ quy quay lui ứng dụng phương pháp đệ quy quay lui để giải số toán liệt kê Tin học > Phương pháp nghiên cứu Thu thập, phân tích tài liệu thơng tin liên quan đến lý thuyết đệ quy, phương pháp đệ quy quay lui Nhận dạng toán giải phương pháp đệ quy quay lui áp dụng phương pháp đệ quy quay lui để giải số tốn chương trình bồi dưỡng học sinh giỏi Tin học trung học phố thông * Ý tưởng: - Để giải tốn †a tìm số j đặt vào vòng tròn từ 2n - Vòng trịn số ln nên x[1]= Thử từ vịng số trở nghĩa tìm cách điền từ x[2] đến x[2*n] số j ( phạm vi từ 2*n) thỏa điều kiện j chưa chọn j+X[i-1] số nguyên tố (X[i-1] số vòng trước,j số vòng X[i-I]) đồng thời đánh dấu chọn j (b[j] = false) - Nếu tới vòng 2*n (¡ = 2*n) x[i]+x{[1] số nguyên tố in phương án, đồng thời đếm tăng thêm - Nếu khơng tìm tiếp tim(@+1), lần thoát quay lui phải trả lại trạng thái thử chọn trước cách hủy đánh dấu chon j (b[j]=true) * Tổ chức liệu: - Mảng chiều x[2 2*n] lưu cách đặt, x[ï] = j có nghĩa vịng trịn thứ ¡ đặt số j - Mang đánh dấu b[2 2*n] kiêu logic, b[i] = true có nghĩa số ¡ chưa đặt vào vòng tròn nào, b[1] = false có nghĩa số ¡ đặt vào vịng trịn * Thú tục quay lui để fìm cách đặt số vào vòng tròn Procedure Tim(k:byte); Var i:longint; Begin for 1:=2 to 2*n if b[i] and (SNT(i+x[k-1])) then begin x[k]:=1; b[i]:=false; 65 if (k=2*n) and (SNT(x[k]+x[1])) then print else tim(k+1); b[i]:=true; end; End; * Tha tuc in két qua Procedure print; Var i:byte; Begin for 1:= to 2*n write(f,x[i]:3);, writeln(f); dem:=dem+1; End; * Thủ tục khởi tao Procedure khoitao; Var i:byte; Begin dem:=0; for 1:= to 2*n bf[i]:=true; End; * Hàm kiểm tra số nguyên tố Function SNT(n:byte):boolean; Var i:byte; Begin 66 for i:= to trunc(sqrt(n)) ifn mod i1=0 then begin SNT:=false; exit; end; if n

Ngày đăng: 11/01/2024, 22:49

Xem thêm:

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

TÀI LIỆU LIÊN QUAN