Một bài toán có thể có nhiều thuật toán để giải nhưng thuật toán chỉ có thể giải 1 bài toán ta cần chọn hoặc thiết kế thuật toán tốt nhất.... Lựa chọn hoặc thiết kế thuật toán Đây là b[r]
(1)Trình bày: Nhóm 2015-2016 (2) Các bước giải bài toán trên giấy Các bước giải bài toán trên máy tính Xác định giả thiết, kết luận Lựa chọn thiết kế cách giải Xác định bài toán Viết lời giải Chỉnh sửa sai sót Viết chương trình Hiệu chỉnh Nộp bài Viết tài liệu Lựa chọn thiết kế thuật toán (3) Xác định bài toán -Xác định Input -Xác định Output -Xác định mối quan hệ Input và Output Ví dụ: Tìm UCLN hai số nguyên dương M và N Input: Số nguyên dương M,N Output: UCLN M và N Mối quan hệ: UCLN là số nguyên dương lớn mà M và N cùng chia hết (4) Có thể có nhiều Bài toán thuật toán để giải Chỉ giải bài toán Một bài toán có thể có nhiều thuật toán để giải thuật toán có thể giải bài toán ta cần chọn thiết kế thuật toán tốt (5) Lựa chọn thiết kế thuật toán Đây là bước quan trọng để giải bài toán a Lựa chọn thiết kế thuật toán Lựa chọn thuật toán - Khi có từ thuật toán trở lên Thiết kế thuật toán chưa có thuật toán (6) Tiêu chí lựa chọn thuật toán + Thời gian + Hiệu không gian + Tính khả thi cài đặt thuật toán (7) b Diễn tả thuật toán Ví dụ: Tìm ƯCLN hai số nguyên dương M và N Bước 1: Nhập M, N; Bước 2: Nếu M =N thì xuất N kết thúc; Bước 3: Nếu M<N thì N ←N-M, quay lại bước 2; Bước 4: M ←M –N,rồi quay lại bước 2; Nhập hai số M và N Đ Xuất M và kết thúc M=N S N←N-M M>N Đ S M←M-N Liệt kê Sơ đồ khối (8) Ví dụ mô N = 15 N = 25 N←N-M M= 10 Lần duyệt thứ N=5 N←N-M M = 10 Lần duyệt thứ N=5 M←M-N M=5 M = 10 (9) Viết chương trình •Lựa chọn cấu trúc liệu và NNLT để mô tả các thao tác thuật toán Khi viết chương trình ta nên chọn ngôn ngữ lập trình phần mềm chuyên dụng thích hợp với thuật toán •Viết chương trình NNLT nào ta cần phải tuân theo đúng quy định ngữ pháp NNLT đó Chương trình dịch có thể phát và thông báo các lỗi mặt ngữ pháp (10) Ví dụ: Kiểm tra tính nguyên tố số nguyên dương N Hãy đưa các test tiêu biểu Test Trường hợp N=1 Input : N=1 Output: không là số nguyên tố Input: N=2 Test Trường hợp N=2 Output: Là số nguyên tố Test Trường hợp N=3 Input: N=3 Output: Là số nguyên tố Test Trường hợp N>4 và N là số nguyên tố Input: N=11 Output: là số nguyên tố Test Trường hợp N>4 và N không là số nguyên tố Input: N=12 Output: không là số nguyên tố (11) 4) Hiệu chỉnh Sau viết xong, chương trình cần phải thử số Input tiêu biểu Nếu phát sai sót thì phải sửa chương trình thử lại (12) 5) Viết tài liệu • Tài liệu phải mô tả thuật toán, bài toán, thiết kế chương trình, kết thử nghiệm và hướng dẫn sử dụng • Có ích cho người sử dụng chương trình, và từ đó có thể đề xuất các khả hoàn thiện thêm • Có thể lặp lặp lại nhiều lần nào ta cho chương trình làm việc đúng đắn và hiệu (13) Các bước giải bài toán trên máy tính Xác định bài toán Lựa chọn thiết kế thuật toán Viết chương trình Hiệu chỉnh Viết tài liệu (14) CÂU HỎI TRẮC NGHIỆM (15) C©u hái 1) Giải bài toán trên máy tính gồm có bước A bước B bước §¸p ¸n C bước D bước HÕt giê 123456789 10s Home (16) CÂU HỎI TRẮC NGHIỆM (17) C©u hái Tiêu chí lựa chọn thiết kế thuật toán là? A Hiệu thời gian B Hiệu không gian §¸p ¸n C Khả thi cài đặt D Cả A, B, C đúng HÕt giê 123456789 10s Home (18) CÂU HỎI TRẮC NGHIỆM (19) C©u hái Viết chương trình là? A Biểu diễn thuật toán B Dùng NNLT để diễn đạt bài toán §¸p ¸n C Dùng NNLT và cấu trúc liệu thích hợp để diễn tả thuật toán D Tất đúng HÕt giê 123456789 10s Home (20) CÂU HỎI TRẮC NGHIỆM (21) C©u hái Chọn câu đúng: A Chương trình dịch có thể phát và thông báo các lỗi mặt ngữ pháp thuật toán B Mỗi bài toán giải thuật toán §¸p ¸n C Việc thiết kế lựa chọn thuật toán không cần vào các yếu tố khác D Một bài toán không thiết phải có Output HÕt giê 123456789 10s Home (22) (23)