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