Bài giảng Lập trình C++: Chương 1 - Trần Phước Tuấn
Số trang: 47
Loại file: pdf
Dung lượng: 527.19 KB
Lượt xem: 17
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 1 của bài giảng Lập trình C++ trình bày 6 nội dung cơ bản như sau: Vấn đề - bài toán, thuật toán - thuật giải, các phương pháp biểu diễn thuật toán, các bước để giải một bài toán trên máy tính, tổng quan về ngôn ngữ lập trình, thể hiện thuật toán bằng ngôn ngữ lập trình. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình C++: Chương 1 - Trần Phước Tuấn CHƯƠNG 01: GIẢI QUYẾT VẤN ĐỀ, BÀI TOÁN BẰNG MÁY TÍNHGV: Trần Phước TuấnEMAIL: tranphuoctuan.khoatoan.dhsp@gmail.comNội dung bài học1. Vấn đề - bài toán2. Thuật toán - thuật giải3. Các phương pháp biểu diễn thuật toán4. Các bước để giải một bài toán trên máy tính5. Tổng quan về ngôn ngữ lập trình6. Thể hiện thuật toán bằng ngôn ngữ lập trình Page 2 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Khái niệm • Vấn đề thường được dùng với nghĩa rộng hơn bài toán, bài toán là vấn đề mà để giải quyết nó phải liên quan ít nhiều đến tính toán • Pitago chia mọi vấn đề mà con người cần giải quyết thành hai loại: – Theorema: vấn đề cần khẳng định tính đúng – sai – Problema: vấn đề cần tìm giải pháp để để đạt được mục tiêu từ những điều kiện ban đầu nào đó Page 3 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Khái niệm • Theo nhiều kết quả nghiên cứu: việc giải quyết vấn đề - bài toán mà Pitago nêu ra đều có thể diễn ra theo một sơ đồ chung: AB • Ở đây: – A có thể là giả thiết, điều kiện ban đầu – B có thể là kết luận, mục tiêu cần đạt – là suy luận, giải pháp cần xác định Page 4 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Khái niệm • Ví dụ 1: Bài toán kiểm tra tính nguyên tố – Cho: Số nguyên dương N – Cần biết: N có là số nguyên tố hay không? • Ví dụ 2: Bài toán quản lý hồ sơ sinh viên – Cho: Hồ sơ gốc của các sinh viên trong trường – Cần biết: Bảng thống kê, phân loại sinh viên theo kết quả học tập Page 5 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Khái niệm • Cấu trúc một bài toán: – Thông tin đầu vào (input): cái cho trước – Thông tin đầu ra (output): cái cần tìm • Giải bài toán: là việc xác định tường minh output theo input bằng một quá trình có thể thực hiện một cách hiệu quả Page 6 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Một số phương pháp giải quyết vấn đề - bài toán bằng máy tính 1. KĨ THUẬT CHIA ÐỂ TRỊ 2. KĨ THUẬT “THAM LAM” 3. QUY HOẠCH ÐỘNG 4. KĨ THUẬT QUAY LUI 5. KĨ THUẬT TÌM KIẾM ÐỊA PHƯƠNG Page 7 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Chia để trị • Chia bài toán lớn thành những bài toán con (cơ bản) • Giải quyết các bài toán con (cơ bản) thu kết quả dễ dàng • Tổng hợp các kết quả này lại Page 8 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Tham lam (heuristic) • Ý tưởng: Trong bàn ăn có nhiều món ăn, ta sẽ chọn món ngon nhất để ăn và ăn cho đến khi nào hết thì chuyển sang món thứ hai và ăn hết món thứ hai, và cứ thế cho đến hết. • Ví dụ: Bài toán rút tiền ATM • Có 3 mệnh giá: 100.000đ,50.000đ, 10.000đ • Số tiền=100.000đ*X1 + 50.000đ*X2+10.000đ*X3 • Hãy chọn X1, X2, X3 tốt • Giải quyết • X1 lớn nhất sao cho X1*100.000đ1. Vấn đề - bài toán Quy hoạch động • Trong kỹ thuật chia để trị, ta chia bài toán lớn thành những bài toán con. Việc giải quyết các bài toán con có thể trùng nhau các bài toán con giải rồi phải giải lại • Kỹ thuật quy hoạch động đưa ra nhằm khắc phục tình trạng này bằng cách lưu lại các kết quả đã giải quyết và sau đó sử dụng lại khi cần mà không cần phải giải lại Page 10 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Kỹ thuật quay lui • Là quá trình phân tích đi xuống và quay lui trở lại theo con đường đã đi qua • Ví dụ: Tính n! =n*(n-1)! = … Page 11 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Tìm kiếm địa phương • Xuất phát từ một phương án nào đó • Áp dụng phép biến đổi trên phương án này để cho một phương án tốt hơn phương án ban đầu • Lặp lại việc biến đổi trên cho đến khi không còn có thể cải thiện được nữa thì dừng lại Page 12 T.P.Tuấn-Lập Trình C 9/16/20082. Thuật toán – thuật giảiThuật toán – khái niệm • Thuật toán là khái niệm cơ sở của toán học và tin học • Thuật toán là một dãy các chỉ thị rõ ràng và có thể thi hành được để hướng dẫn thực hiện hành động nhằm đạt được mục tiêu đặt ra • Thuật toán là sự thể hiện của một phương pháp để giải quyết vấn đề Page 13 T.P.Tuấn-Lập Trình C 9/16/20082. Thuật toán – thuật giảiThuật toán – đặc trưng• Nhập (input). Các thuật toán thường có giá trị đầu vào• Xuất (output). Từ giá trị vào thuật toán cho ra kết quả.• Tính xác định (definiteness). Các bước trong thuật toán phải chính xác rõ ràng.• Tính hữu hạn (finiteness). Thuật t ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình C++: Chương 1 - Trần Phước Tuấn CHƯƠNG 01: GIẢI QUYẾT VẤN ĐỀ, BÀI TOÁN BẰNG MÁY TÍNHGV: Trần Phước TuấnEMAIL: tranphuoctuan.khoatoan.dhsp@gmail.comNội dung bài học1. Vấn đề - bài toán2. Thuật toán - thuật giải3. Các phương pháp biểu diễn thuật toán4. Các bước để giải một bài toán trên máy tính5. Tổng quan về ngôn ngữ lập trình6. Thể hiện thuật toán bằng ngôn ngữ lập trình Page 2 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Khái niệm • Vấn đề thường được dùng với nghĩa rộng hơn bài toán, bài toán là vấn đề mà để giải quyết nó phải liên quan ít nhiều đến tính toán • Pitago chia mọi vấn đề mà con người cần giải quyết thành hai loại: – Theorema: vấn đề cần khẳng định tính đúng – sai – Problema: vấn đề cần tìm giải pháp để để đạt được mục tiêu từ những điều kiện ban đầu nào đó Page 3 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Khái niệm • Theo nhiều kết quả nghiên cứu: việc giải quyết vấn đề - bài toán mà Pitago nêu ra đều có thể diễn ra theo một sơ đồ chung: AB • Ở đây: – A có thể là giả thiết, điều kiện ban đầu – B có thể là kết luận, mục tiêu cần đạt – là suy luận, giải pháp cần xác định Page 4 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Khái niệm • Ví dụ 1: Bài toán kiểm tra tính nguyên tố – Cho: Số nguyên dương N – Cần biết: N có là số nguyên tố hay không? • Ví dụ 2: Bài toán quản lý hồ sơ sinh viên – Cho: Hồ sơ gốc của các sinh viên trong trường – Cần biết: Bảng thống kê, phân loại sinh viên theo kết quả học tập Page 5 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Khái niệm • Cấu trúc một bài toán: – Thông tin đầu vào (input): cái cho trước – Thông tin đầu ra (output): cái cần tìm • Giải bài toán: là việc xác định tường minh output theo input bằng một quá trình có thể thực hiện một cách hiệu quả Page 6 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Một số phương pháp giải quyết vấn đề - bài toán bằng máy tính 1. KĨ THUẬT CHIA ÐỂ TRỊ 2. KĨ THUẬT “THAM LAM” 3. QUY HOẠCH ÐỘNG 4. KĨ THUẬT QUAY LUI 5. KĨ THUẬT TÌM KIẾM ÐỊA PHƯƠNG Page 7 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Chia để trị • Chia bài toán lớn thành những bài toán con (cơ bản) • Giải quyết các bài toán con (cơ bản) thu kết quả dễ dàng • Tổng hợp các kết quả này lại Page 8 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Tham lam (heuristic) • Ý tưởng: Trong bàn ăn có nhiều món ăn, ta sẽ chọn món ngon nhất để ăn và ăn cho đến khi nào hết thì chuyển sang món thứ hai và ăn hết món thứ hai, và cứ thế cho đến hết. • Ví dụ: Bài toán rút tiền ATM • Có 3 mệnh giá: 100.000đ,50.000đ, 10.000đ • Số tiền=100.000đ*X1 + 50.000đ*X2+10.000đ*X3 • Hãy chọn X1, X2, X3 tốt • Giải quyết • X1 lớn nhất sao cho X1*100.000đ1. Vấn đề - bài toán Quy hoạch động • Trong kỹ thuật chia để trị, ta chia bài toán lớn thành những bài toán con. Việc giải quyết các bài toán con có thể trùng nhau các bài toán con giải rồi phải giải lại • Kỹ thuật quy hoạch động đưa ra nhằm khắc phục tình trạng này bằng cách lưu lại các kết quả đã giải quyết và sau đó sử dụng lại khi cần mà không cần phải giải lại Page 10 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Kỹ thuật quay lui • Là quá trình phân tích đi xuống và quay lui trở lại theo con đường đã đi qua • Ví dụ: Tính n! =n*(n-1)! = … Page 11 T.P.Tuấn-Lập Trình C 9/16/20081. Vấn đề - bài toán Tìm kiếm địa phương • Xuất phát từ một phương án nào đó • Áp dụng phép biến đổi trên phương án này để cho một phương án tốt hơn phương án ban đầu • Lặp lại việc biến đổi trên cho đến khi không còn có thể cải thiện được nữa thì dừng lại Page 12 T.P.Tuấn-Lập Trình C 9/16/20082. Thuật toán – thuật giảiThuật toán – khái niệm • Thuật toán là khái niệm cơ sở của toán học và tin học • Thuật toán là một dãy các chỉ thị rõ ràng và có thể thi hành được để hướng dẫn thực hiện hành động nhằm đạt được mục tiêu đặt ra • Thuật toán là sự thể hiện của một phương pháp để giải quyết vấn đề Page 13 T.P.Tuấn-Lập Trình C 9/16/20082. Thuật toán – thuật giảiThuật toán – đặc trưng• Nhập (input). Các thuật toán thường có giá trị đầu vào• Xuất (output). Từ giá trị vào thuật toán cho ra kết quả.• Tính xác định (definiteness). Các bước trong thuật toán phải chính xác rõ ràng.• Tính hữu hạn (finiteness). Thuật t ...
Tìm kiếm theo từ khóa liên quan:
Lập trình C++ Bài giảng Lập trình C++ Biểu diễn thuật toán Giải bài toán trên máy tính Ngôn ngữ lập trình Phương pháp biểu diễn thuật toánGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 275 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 265 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 265 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 232 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 226 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 217 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 207 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 184 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 170 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 166 0 0