Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 51 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
51
Dung lượng
247,41 KB
Nội dung
1 Bài 2: quyvàGT quy 2.1. quyvà gii thut quy 2.2. Thit k gii thut quy 2.3. Mt s dng bài toán in hình 2.4. Bài tp 2 2.1. quyvà gii thut quy 3 quy Khái nim: Mt i tng là quy nu nó c nh ngha qua chính nó hoc mt i tng khác cùng dng vi chính nó bng quy np. Phân loi: Có 2 loi i tng quy. quy tr c ti p: i t ng A c mô t tr c ti p qua chính i t ng A. quy gián ti p: i t ng A c mô t gián ti p qua i t ng A. !∀ # ∃!∀ 4 Minh ho quy 1) quy trc tip 2) quy gián tip A B C A A A C E B D 5 Mô t quy im mnh ca quy: Cho phép mô t 1 tp ln các i tng bng 1 s ít các mnh hoc mô t 1 GT phc tp bng 1 s ít các thao tác (1 chng trình con quy). Mô t quy: gm 2 phn Ph n neo: Mô t các tr ng h p suy bi n c a i t ng (gi i thu t) qua 1 c u trúc (thao tác) c th xác nh. Ph n quy: Mô t i t ng (gi i thu t) trong tr ng h p ph bi n thông qua chính i t ng (gi i thu t) ó 1 cách tr c ti p ( quy tr c ti p) ho c gián ti p ( quy gián ti p). Chú ý: N u không có ph n neo thì i t ng c mô t có c u trúc l n vô h n (gi i thu t l p không d ng)! 6 Mt s mô t quy thng gp 1. Tp s t nhiên N: 0 là s t nhiên. {ph n neo} X là s t nhiên n u X – 1 là s t nhiên. {ph n quy} 2. Giai tha ca 1 s t nhiên N: 0! = 1 {ph n neo} N u N > 0 thì N! = N * (N – 1)! {ph n quy} 3. c s chung ln nht (USCLN) ca 2 s t nhiên A và B không ng thi bng 0 (A 2 + B 2 > 0) USCLN(A, 0) = A {ph n neo} USCLN(A, B) = USCLN(B, A mod B) {ph n quy} 7 Câu hi kim tra nhn thc Câu hi 1: Gii thích mô t quy USCLN(A, B). Minh ho quá trình thc hin vi: 1. A = 126 và B = 72. 2. A = 72 và B = 126. áp án: Gii thích: %&∋( ) ∗+,%−.∋ %& ≠ ( ) / 01/ 01 234564738 )93: ∗+,%−.∋∗+,%−. 8 Câu hi kim tra nhn thc Minh ho 1: ∗+,%−;<=><. ∋∗+,%−><?≅. ΑΑ∋>< ≠ ( ∋∗+,%−?≅;Β. ΑΑ ∋?≅≠ ( ∋∗+,%−;Β(. ΑΑ ∋;Β≠ ( ∋;Β ΑΑ ∋( Minh ho 2: ∗+,%−><;<=. ∋∗+,%−;<=><. ΑΑ ∋;<=≠ ( ∋∗+,%−><?≅. ΑΑ ∋><≠ ( ∋∗+,%−?≅;Β. ΑΑ ∋?≅≠ ( ∋∗+,%−;Β(. ΑΑ ∋;Β≠ ( ∋;Β ΑΑ ∋( 9 Mt s bài toán quy in hình Bài toán tìm nghim gn úng: ca phng trình f(x)=0 trên on [a, b] vi sai s c, bit f(x) liên tc trên [a, b]. Bài toán “Tháp Hà Ni”: Chuyn mt chng a N a vi kích thc khác nhau t ct A sang ct C theo cách: M i l n ch chuy n 1 a . Khi chuy n có th dùng c t trung gian B. Trong su t quá trình chuy n, các ch ng a các c t luôn c x p úng ( a có kích th c bé t trên a có kích th c l n). Bài toán “N quân Hu”: Xp N quân hu trên bàn c hình vuông kích thc N x N sao cho trên mi ng chéo, ng ngang, ng dc ch có úng 1 quân Hu. 10 c im hàm quy Khái nim: mt chng trình con mô t gii thut quy gi là chng trình con quy, hay hàm quy. Pascal (hàm, th t c), C/C++ (hàm có ki u, hàm void). c im: mt hàm quy có 3 c im sau 1. Có l i g i n chính nó: trong thân hàm quy có ch a l i g i hàm t i chính hàm quy ó. 2. Kích th c bài toán gi m d n: m i l n có l i g i hàm quy thì kích th c c a bài toán ã thu nh h n tr c. 3. Có tr ng h p suy bi n: là tr ng h p c bi t mà khi x y ra thì bài toán s c gi i quy t theo 1 cách khác h n và quá trình g i hàm quy c ! ng k t thúc. Χ∆0∀383Ε 0 Φ 6Γ/03&Η [...]... hàm quy ó 2 Kích th c bài toán gi m d n: mi l n có li gi hàm quy thì kích th c ca bài toán ã thu nh hn tr c 3 Có tr ng h p suy bi n: là tr ng h p c bi t mà khi x y ra thì bài toán s c gi i quy t theo 1 cách khác quy c!ng k t thúc h n và quá trình gi hàm Χ ∆ 0∀3 8 3 Ε 0 Φ 6 Γ
/ 03&Η 10 c i
m hàm Phân lo i: Có 2 loi hàm mô t quy quy quy, t ng ng vi 2 loi quy. .. X =2 X=1 //X ch∀n X = 10 / 2 //X l# X=5*3+1 //X ch∀n X = 16 / 2 //X ch∀n X=8 /2 //X ch∀n X=4 /2 //X ch∀n X =2/ 2 //K t thúc 12 quy gián tip: Gi thit Collatz Bài toán (da trên khng nh gi thuy t Collatz là úng): “Cho tr c s 1 cùng vi hai phép toán * 2và / 3, hãy s dng mt cách hp lý hai phép toán ó bi n s 1 thành mt s nguyên d ng X cho tr c.” Ví d: X = 10 ta có biu di∃n 1 * 2 * 2 * 2. .. 2 / 3 * 2 = 10 Gi i thu t: biu di∃n X chia 2 tr ng h p: N u X ch∀n, thì tìm cách biu di∃n s X / 2và vi t thêm phép toán * 2 vào cu i N u X l#, thì tìm cách biu di∃n s X * 3 + 1 và vi t thêm phép toán / 3 vào cu i 13 quy gián tip: Gi thit Collatz void XuLySoLe(int X) { XuLySo(X * 3 + 1); printf(“ / 3”); } //khi X l void XuLySoChan(int X) { XuLySo(X / 2) ; printf(“ * 2 ); } //khi X ch n 14 quy. .. = A USCLN(A, B) = USCLN(B, A mod B) {ph n neo} {ph n quy} 6 Câu hi ki
m tra nh n thc Câu hi 1: Gii thích mô t quy USCLN(A, B) Minh ho quá trình thc hi n vi: 1 A = 126 và B = 72 2 A = 72 và B = 126 áp án: Gi i thích: %& ∋ ( ) ∗+,%− ∋ %& ≠ ( ) / 01 / 01 23 456 473 8 ) 9 3: ∗+,%− ∋ ∗+,%− 7 Câu hi ki
m tra nh n thc Minh ho 1: ∗+,%−;< ∋... không d ng)! 5 M t s mô t quy th ng gp 1 T p s t nhiên N: 0 là s t nhiên {ph n neo} X là s t nhiên n u X – 1 là s t nhiên {ph n quy} 2 Giai th
a ca 1 s t nhiên N: 0! = 1 N u N > 0 thì N! = N * (N – 1)! {ph n neo} {ph n quy} 3 c s chung ln nht (USCLN) ca 2 s t nhiên A và B không ng thi bng 0 (A2 + B2 > 0) USCLN(A, 0) = A USCLN(A, B) = USCLN(B, A mod B) {ph n neo} {ph n quy} 6 Câu hi ki
m tra... t trên a có kích th c ln) Bài toán “N quân H u”: X p N quân hu trên bàn c hình vuông kích th c N x N sao cho trên mi ng chéo, ng ngang, ng dc ch có úng 1 quân Hu 9 c i
m hàm quy Khái ni m: m t ch ng trình con mô t gii thut quy gi là ch ng trình con quy, hay hàm quy Pascal (hàm, th tc), C/C++ (hàm có kiu, hàm void) c i m: m t hàm quy có 3 c im sau quy có cha 1 Có li gi n chính...p bng 1 s ít các thao tác (1 ch ng trình con quy) Mô t quy: gm 2 phn Ph n neo: Mô t các tr ng h p suy bi n ca i t ng (gi i thu t) qua 1 c
u trúc (thao tác) c th xác nh Ph n quy: Mô t i t ng (gi i thu t) trong tr ng h p ph bi n thông qua chính i t ng (gi i thu t) ó 1 cách tr c ti p ( quy tr c ti p) hoc gián ti p ( quy gián ti p) Chú ý: N u không có ph n neo thì i t ng c mô t... ( ∋ ∋ ∋ ∋ ∋ ∗+,%−;< ∗+,%−> . 1 Bài 2: quy và GT quy 2. 1. quy và gii thut quy 2. 2. Thit k gii thut quy 2. 3. Mt s dng bài toán in hình 2. 4. Bài tp 2 2.1. quy và gii thut quy 3 quy . XuLySoChan(X); } 16 2. 2. Thit k gii thut quy 2. 2.1. Hàm N! 2. 2 .2. Dãy s Fibonacci 2. 2.3. Chú ý 17 2. 2.1. Hàm N! Mô t quy: 1 n u N = 0 (ph n neo) N! = N * (N - 1)! n u N > 0 (ph n. B) {ph n quy} 7 Câu hi kim tra nhn thc Câu hi 1: Gii thích mô t quy USCLN(A, B). Minh ho quá trình thc hin vi: 1. A = 126 và B = 72. 2. A = 72 và B = 126 . áp án: