Bài 4: Giải quyết bài toán
Số trang: 17
Loại file: pdf
Dung lượng: 729.12 KB
Lượt xem: 3
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Vấn đề có nghĩa rộng hơn bài toán – Bài toán là một loại vấn đề mà để giải quyết phải liên quan ít nhiều đến tính toán: bài toán trong vật lý, hóa học, xây dựng, kinh tế…
Nội dung trích xuất từ tài liệu:
Bài 4: Giải quyết bài toán TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNGTIN HỌC ĐẠI CƢƠNGBài 4: Giải quyết bài toánĐỗ Bá Lâmlamdb-fit@mail.hut.edu.vnNội dung4.1. Bài toán (problem)4.2. Giải quyết bài toán bằng máy tính4.3. Biểu diễn thuật toán4.4. Các phương pháp thiết kế thuật toán 2 1Nội dung4.1. Bài toán (problem)4.2. Giải quyết bài toán bằng máy tính4.3. Biểu diễn thuật toán 34.1. Bài toán (problem)• “Bài toán” hay “Vấn đề” – Vấn đề có nghĩa rộng hơn bài toán – Bài toán là một loại vấn đề mà để giải quyết phải liên quan ít nhiều đến tính toán: bài toán trong vật lý, hóa học, xây dựng, kinh tế…• Hai loại vấn đề – Theorema: là vấn đề cần được khẳng định tính đúng sai. – Problema: là vấn đề cần tìm được giải pháp để đạt được một mục tiêu xác định từ những điều kiện ban đầu nào đó. 4 24.1. Bài toán (2)• Biểu diễn vấn đề-bài toán –A→ B • A: Giả thiết, điều kiện ban đầu • B: Kết luận, mục tiêu cần đạt• Giải quyết vấn đề-bài toán – Từ A dùng một số hữu hạn các bước suy luận có lý hoặc hành động thích hợp để đạt được B – Trong Tin học, A là đầu vào, B là đầu ra 5Nội dung4.1. Bài toán (problem)4.2. Giải quyết bài toán bằng máy tính4.3. Biểu diễn thuật toán 6 34.2. Giải quyết bài toán bằng máy tính• Máy tính không thể dùng để giải quyết các vấn đề liên quan đến hành động vật lý hoặc biểu thị cảm xúc• Máy tính chỉ làm được những gì mà nó được bảo phải làm. Máy tính không thông minh, nó không thể tự phân tích vấn đề và đưa ra giải pháp.• Lập trình viên là người phân tích vấn đề, tạo ra các chỉ dẫn để giải quyết vấn đề (chương trình), và máy tính sẽ thực hiện các chỉ dẫn đó 74.2. Giải quyết bài toán bằng máy tính (2)• Phương án giải quyết bài toán được gọi là thuật toán/giải thuật trong tính toán• Một thuật toán là: – một dãy hữu hạn các thao tác và trình tự thực hiện các thao tác đó sao cho sau khi thực hiện dãy thao tác này theo trình tự đã chỉ ra, với đầu vào (input) ta thu được kết quả đầu ra (output) mong muốn. 8 44.2. Giải quyết bài toán bằng máy tính (3)• Không chỉ đơn giản là lập trình• Phức tạp, gồm nhiều giai đoạn phát triển• Các giai đoạn quan trọng – Bước 1. Xác định yêu cầu bài toán – Bước 2. Phân tích và thiết kế bài toán • Lựa chọn phương án giải quyết (thuật toán) • Xây dựng thuật toán – Bước 3. Lập trình – Bước 4. Kiểm thử và hiệu chỉnh chương trình – Bước 5. Triển khai và bảo trì 9Hai giai đoạn chính để hiện thực hóa bài toán Giai đoạn giải quyết vấn đề Giai đoạn thực hiện 10 5Nội dung4.1. Bài toán (problem)4.2. Giải quyết bài toán bằng máy tính4.3. Biểu diễn thuật toán 114.2. Biểu diễn thuật toán• Cách 1: Ngôn ngữ tự nhiên• Cách 2: Ngôn ngữ lưu đồ (lưu đồ/sơ đồ khối)• Cách 3: Mã giả (pseudocode) gọi là ngôn ngữ mô phỏng chương trình PDL (Programming Description Language).• Cách 4: Các ngôn ngữ lập trình như Pascal, C/C++ hay Java. Tuy nhiên, không nhất thiết phải sử dụng đúng ký pháp của các ngôn ngữ đó mà có thể được bỏ một số ràng buộc. 12 64.2.1. Ngôn ngữ tự nhiên• Sử dụng một loại ngôn ngữ tự nhiên để liệt kê các bước của thuật toán• Ƣu điểm – Đơn giản – Không yêu cầu người viết và người đọc phải có kiến thức nền tảng• Nhược điểm – Dài dòng – Không làm nổi bật cấu trúc của thuật toán – Khó biểu diễn với những bài toán phức tạp 13Ví dụ 1• Bài toán: Đưa ra kết luận về tương quan của hai số a và b (>, < hay =). – Đầu vào: Hai số a và b – Đầu ra: Kết luận a>b hay aVD1 - Ngôn ngữ tự nhiên (tuần tự các bước)• B1: Nhập số a và số b.• B2: Nếu a> b, hiển thị “a>b” và kết thúc• B3: Nếu a=b, hiển thị “a=b” và kết thúc• B4: (a Ví dụ 1 - Mô tả bằng lưu đồ thuật toán Thể hiện thao tác bắt Nhập a, b đầu hoặc kết thúc Đ a>b Hiển thị “a>b”Biểu diễn thao Stác so sánh Đ a=b Hiển thị “a=b” S Hiển thị “a4.3. Mã giả (pseudocode)• Ngôn ngữ tựa (gần giống) với ngôn ngữ lập trình được gọi là mã giả – Mệnh đề có cấu trúc – Ngôn ngữ tự nhiên• Ƣu điểm – Tiện lợi, đơn giản – Dễ hiểu, dễ diễn đạt• Giới thiệu chi tiết trong bài sau 19Ví dụ 2• Bài toán: Đưa ra tổng, tích, hiệu, thương của hai số a và b. – Đầu vào: Hai số a và b – Đầu ra: Tổng, tích, hiệu và thương của a và b.• Ý tưởng: – Tính tổng, tích, hiệu của a và b – Nếu b khác 0, đưa ra thương – Nếu b bằng 0, đưa ra thông báo không thực hiện được phép chia 20 ...
Nội dung trích xuất từ tài liệu:
Bài 4: Giải quyết bài toán TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNGTIN HỌC ĐẠI CƢƠNGBài 4: Giải quyết bài toánĐỗ Bá Lâmlamdb-fit@mail.hut.edu.vnNội dung4.1. Bài toán (problem)4.2. Giải quyết bài toán bằng máy tính4.3. Biểu diễn thuật toán4.4. Các phương pháp thiết kế thuật toán 2 1Nội dung4.1. Bài toán (problem)4.2. Giải quyết bài toán bằng máy tính4.3. Biểu diễn thuật toán 34.1. Bài toán (problem)• “Bài toán” hay “Vấn đề” – Vấn đề có nghĩa rộng hơn bài toán – Bài toán là một loại vấn đề mà để giải quyết phải liên quan ít nhiều đến tính toán: bài toán trong vật lý, hóa học, xây dựng, kinh tế…• Hai loại vấn đề – Theorema: là vấn đề cần được khẳng định tính đúng sai. – Problema: là vấn đề cần tìm được giải pháp để đạt được một mục tiêu xác định từ những điều kiện ban đầu nào đó. 4 24.1. Bài toán (2)• Biểu diễn vấn đề-bài toán –A→ B • A: Giả thiết, điều kiện ban đầu • B: Kết luận, mục tiêu cần đạt• Giải quyết vấn đề-bài toán – Từ A dùng một số hữu hạn các bước suy luận có lý hoặc hành động thích hợp để đạt được B – Trong Tin học, A là đầu vào, B là đầu ra 5Nội dung4.1. Bài toán (problem)4.2. Giải quyết bài toán bằng máy tính4.3. Biểu diễn thuật toán 6 34.2. Giải quyết bài toán bằng máy tính• Máy tính không thể dùng để giải quyết các vấn đề liên quan đến hành động vật lý hoặc biểu thị cảm xúc• Máy tính chỉ làm được những gì mà nó được bảo phải làm. Máy tính không thông minh, nó không thể tự phân tích vấn đề và đưa ra giải pháp.• Lập trình viên là người phân tích vấn đề, tạo ra các chỉ dẫn để giải quyết vấn đề (chương trình), và máy tính sẽ thực hiện các chỉ dẫn đó 74.2. Giải quyết bài toán bằng máy tính (2)• Phương án giải quyết bài toán được gọi là thuật toán/giải thuật trong tính toán• Một thuật toán là: – một dãy hữu hạn các thao tác và trình tự thực hiện các thao tác đó sao cho sau khi thực hiện dãy thao tác này theo trình tự đã chỉ ra, với đầu vào (input) ta thu được kết quả đầu ra (output) mong muốn. 8 44.2. Giải quyết bài toán bằng máy tính (3)• Không chỉ đơn giản là lập trình• Phức tạp, gồm nhiều giai đoạn phát triển• Các giai đoạn quan trọng – Bước 1. Xác định yêu cầu bài toán – Bước 2. Phân tích và thiết kế bài toán • Lựa chọn phương án giải quyết (thuật toán) • Xây dựng thuật toán – Bước 3. Lập trình – Bước 4. Kiểm thử và hiệu chỉnh chương trình – Bước 5. Triển khai và bảo trì 9Hai giai đoạn chính để hiện thực hóa bài toán Giai đoạn giải quyết vấn đề Giai đoạn thực hiện 10 5Nội dung4.1. Bài toán (problem)4.2. Giải quyết bài toán bằng máy tính4.3. Biểu diễn thuật toán 114.2. Biểu diễn thuật toán• Cách 1: Ngôn ngữ tự nhiên• Cách 2: Ngôn ngữ lưu đồ (lưu đồ/sơ đồ khối)• Cách 3: Mã giả (pseudocode) gọi là ngôn ngữ mô phỏng chương trình PDL (Programming Description Language).• Cách 4: Các ngôn ngữ lập trình như Pascal, C/C++ hay Java. Tuy nhiên, không nhất thiết phải sử dụng đúng ký pháp của các ngôn ngữ đó mà có thể được bỏ một số ràng buộc. 12 64.2.1. Ngôn ngữ tự nhiên• Sử dụng một loại ngôn ngữ tự nhiên để liệt kê các bước của thuật toán• Ƣu điểm – Đơn giản – Không yêu cầu người viết và người đọc phải có kiến thức nền tảng• Nhược điểm – Dài dòng – Không làm nổi bật cấu trúc của thuật toán – Khó biểu diễn với những bài toán phức tạp 13Ví dụ 1• Bài toán: Đưa ra kết luận về tương quan của hai số a và b (>, < hay =). – Đầu vào: Hai số a và b – Đầu ra: Kết luận a>b hay aVD1 - Ngôn ngữ tự nhiên (tuần tự các bước)• B1: Nhập số a và số b.• B2: Nếu a> b, hiển thị “a>b” và kết thúc• B3: Nếu a=b, hiển thị “a=b” và kết thúc• B4: (a Ví dụ 1 - Mô tả bằng lưu đồ thuật toán Thể hiện thao tác bắt Nhập a, b đầu hoặc kết thúc Đ a>b Hiển thị “a>b”Biểu diễn thao Stác so sánh Đ a=b Hiển thị “a=b” S Hiển thị “a4.3. Mã giả (pseudocode)• Ngôn ngữ tựa (gần giống) với ngôn ngữ lập trình được gọi là mã giả – Mệnh đề có cấu trúc – Ngôn ngữ tự nhiên• Ƣu điểm – Tiện lợi, đơn giản – Dễ hiểu, dễ diễn đạt• Giới thiệu chi tiết trong bài sau 19Ví dụ 2• Bài toán: Đưa ra tổng, tích, hiệu, thương của hai số a và b. – Đầu vào: Hai số a và b – Đầu ra: Tổng, tích, hiệu và thương của a và b.• Ý tưởng: – Tính tổng, tích, hiệu của a và b – Nếu b khác 0, đưa ra thương – Nếu b bằng 0, đưa ra thông báo không thực hiện được phép chia 20 ...
Tìm kiếm theo từ khóa liên quan:
Giải quyết bài toán bằng máy tính Biểu diễn thuật toán phƣơng pháp thiết kế thuật toán bài toán trong vật lý bài toán trong hóa họcTài liệu có liên quan:
-
Đề cương ôn tập học kì 2 môn Tin học lớp 6 năm 2022-2023 - Trường THCS Lê Quang Cường
5 trang 52 0 0 -
CÁC KHÁI NIỆM CƠ BẢN VỀ LẬP TRÌNH
21 trang 36 0 0 -
Bài giảng Toán rời rạc: Chương 1.5 - Dr. Ngô Hữu Phúc
15 trang 35 0 0 -
CHƯƠNG 15: PHÂN TÍCH THUẬT TOÁN
21 trang 34 0 0 -
Giáo trình Toán rời rạc: Phần 2 - Vũ Đình Hòa
78 trang 33 0 0 -
285 trang 31 0 0
-
Bài giảng Nhập môn lập trình - Bài 1: Các khái niệm cơ bản về lập trình
21 trang 31 0 0 -
Bài giảng Tin học đại cương: Phần 2 - Trương Diệu Linh
100 trang 28 0 0 -
Bài giảng Thuật toán: Chương 4 - GV. Nguyễn Thanh Cẩm
42 trang 26 0 0 -
Bài giảng Tin học đại cương (Phần 2): Bài 4 - Giải quyết bài toán
31 trang 24 0 0