Chương 6: Lập trình Hàm
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Chương 6: Lập trình Hàm Chương6:LậptrìnhHàm (Phần2)02/2012 Nộidung 1 Tổng quan về đệ quy 2 Các vấn đề đệ quy thông dụng 3 Các bài toán kinh điển 4 Phân tích giải thuật & khử đệ quy Kỹthuậtlậptrìnhđệquy02/2012 2 Bàitoán • ChoS(n)=1+2+3+…+n =>S(10)?S(11)? S(10) = 1 + 2 + … + 10 = 55 S(11) = 1 + 2 + … + 10 + 11 = 66 = S(10) + 11 = 55 + 11 = 66 Kỹthuậtlậptrìnhđệquy02/2012 3 2bướcgiảibàitoán Bước2.Thếngược ác định kết quả bài toán đồng = S(n1) + n S(n) dạng từ đơn giản đến phức tạp Kếtquảcuốicùng. = S(n2) + n1 S(n1) = +… … … Bước1.Phântích = +1 S(1) S(0) hân tích thành bài toán đồng =0 S(0) dạngnhưngđơngiảnhơn. ừng lại ở bài toán đồng dạng đơn giản nhất có thể xác định ngaykếtquả. Kỹthuậtlậptrìnhđệquy02/2012 4 Kháiniệmđệquy Kháiniệm Vấnđềđệquylàvấnđềđược địnhnghĩabằngchínhnó. Vídụ TổngS(n)đượctínhthôngqua tổngS(n1). 2điềukiệnquantrọng Tồntạibướcđệquy. Điềukiệndừng. Kỹthuậtlậptrìnhđệquy02/2012 5 HàmđệquytrongNNLTC • Kháiniệm – Mộthàmđượcgọilàđệquynếubêntrongthân củahàmđócólờigọihàmlạichínhnómộtcách trựctiếphaygiántiếp. … Hàm(…) … Hàm1(…) … Hàm2(…) { { { … … … … … … Lời gọi Hàm Lời gọi Hàm2 Lời gọi Hàm1 … … … … … … … … … } } } ĐQtrựctiếp ĐQgiántiếp Kỹthuậtlậptrìnhđệquy02/2012 6 Cấutrúchàmđệquy (TS)ừng { Phầnd if()(Basestep) • Phầnkhởitínhtoánhoặcđiểm { kếtthúccủathuậttoán … • Khôngchứaphầnđangđược return; nhnghĩa đị } Phầnđệquy … (Recursionstep) …LờigọiHàm Cósửdụngthuậttoánđangđược • địnhnghĩa. … } Kỹthuậtlậptrìnhđệquy02/2012 7 Phânloại Trong thân hàm có duy nhất một lời gọi hàm gọi lại chính nó một 1 TUYẾN TÍNH ...
Tìm kiếm theo từ khóa liên quan:
Ngôn ngữ lập trình hàm hàm toán học dạng hàm bản chất của lập trình hàm Ngôn ngữ LISPGợi ý tài liệu liên quan:
-
Bài giảng Nguyên lý ngôn ngữ lập trình - Chương 7: Ngôn ngữ lập trình hàm
49 trang 22 0 0 -
Bài giảng Tin học căn bản (Phần 3): Chương 6 - Ngô Văn Linh
51 trang 19 0 0 -
Bài giảng học phần Tin học ứng dụng - Chương 1: Các hàm thông dụng trong excel
42 trang 19 0 0 -
Bài giảng Chứng chỉ A: Buổi 3 - GV. Nguyễn Duy Sang
16 trang 18 0 0 -
Giáo trình kế toán ứng dụng - Chương 1: MỘT SỐ HÀM THÔNG DỤNG
58 trang 18 0 0 -
Giáo trình Tin học kế toán (Nghề: Kế toán doanh nghiệp - Cao đẳng) - Trường Cao đẳng Cơ giới (2019)
68 trang 18 0 0 -
Bài giảng Kinh tế lượng: Chương 4 - ThS. Trần Quang Cảnh
6 trang 17 0 0 -
Bài giảng Kinh tế lượng - Chương 4: Dạng hàm (2019)
32 trang 17 0 0 -
Bài giảng môn học Tin đại cương: Bài 3 - Lý Anh Tuấn
28 trang 17 0 0 -
Bài giảng Tin học đại cương: Bài 3 - Bùi Thị Thu Cúc
18 trang 16 0 0 -
Bài giảng Tin học ứng dụng: Chương 4 - Nguyễn Đình Hoa Cương
40 trang 16 0 0 -
Bài giảng Lập trình hướng đối tượng - Bài 5: Một số kỹ thuật Java nâng cao
47 trang 15 0 0 -
Bài giảng Tin học văn phòng: Bài 9&10 - Bùi Thị Thu Cúc
25 trang 15 0 0 -
Bài giảng Tin học văn phòng: Bài 9+10 - Vũ Thương Huyền
56 trang 15 0 0 -
Bài giảng Lập trình viên mã nguồn mở (Module 1) - Bài 4: Sử dụng hàm của PHP
7 trang 15 0 0 -
Bài giảng Ngôn ngữ lập trình - Chương 6: Lập trình hàm
11 trang 15 0 0 -
Bài giảng Kinh tế lượng: Chương 4 - ĐH Bách khoa Hà Nội
32 trang 15 0 0 -
24 trang 13 0 0
-
Bài giảng Mô phỏng hệ thống truyền thông: Chương 2 - TS. Nguyễn Đức Nhân
59 trang 13 0 0 -
Bài giảng Tin học chuyên ngành: Chương 3 - Hoàng Xuân Dương
36 trang 10 0 0