6. GIẢI BÀI TOÁN TRÊN MÁY TÍNH
2. Lựa chọn hoặc thiết kế thuật toán
2. Lựa chọn hoặc thiết kế thuật toán:
a. Lựa chọn thuật toán:
Một thuật toán giải được bao nhiêu bài toán?
Một thuật toán chỉ giải được một bài toán.
Mỗi thuật toán chỉ giải 1 bt, song một bt có thể có nhiều thuật toán để giải. Vì vậy, cần phải thiết kế hoặc lựa chọn một thuật toán phù hợp nhất để giải một bài toán.
Vậy giải một bài toán thì có bao nhiêu thuật toán?
Giải một bài toán thì có thể có nhiều thuật toán để giải.
Khi giải một bài toán ta cần lựa chọn một thuật toán tối uu: ít tốn thời gian, ít tốn ô nhớ, ít phức tập
Giải một bài toán thì có
Hoạt động của giáo viên Họat động của học sinh Nội dung thể có nhiều thuật toán để
giải.
Như vậy, ta cần phải thiết kế hoặc lựa chọn một thuật toán phù hợp nhất để giải một bài toán.
Khi thiết kế hoặc lựa chọn người ta thường quan tâm đến các tài nguyên nào?
Các tài nguyên mhư: thời gian thực hiện, số lượng ô nhớ, …
Yêu cầu học sinh thảo luận nhóm và trả lời câu hỏi sau: Trong các tài nguyên đó thì tài nguyên nào được quan tâm nhiều nhất? Vì sao?
Thảo luận nhóm và đại diện nhóm trình bày.
Tài nguyên thời gian là tài nguyên được quan tâm nhiều nhất .Vì đó là dạng tài nguyên không tái tạo được
Xét bài toán tìm kiếm tuần tự và tìm kiếm nhị phân,đối với dãy số là dãy đã sắp xếp thì thời gian thực hiện cho bài toán tìm kiếm nào là ít hơn?
Thuật toán tìm kiếm nhị phân sẽ tốn ít thời gian hơn.
Bài toán tìm kiếm nhị phân cần ít thao tác hơn vì sau mỗi sau mỗi lần
Hoạt động của giáo viên Họat động của học sinh Nội dung duyệt thì phạm vi tìm
kiếm được thu hẹp một nữa. Vì thế cần ít thời gian thực hiện hơn.
Khi thiết kế thuật toán ngoài thời gian thực hiện, số lượng ô nhớ, . . . người ta còn quan tâm đến vấn đề gì?
Người ta còn quan tâm đến việc lựa chọn hoặc thiết kế thuật toán sao cho việc viết chương trình cho thuật toán ít phức tạp hơn.
Người ta còn quan tâm đến độ phức tạp của chương trình khi lựa chọn thuật toán.
Khi lựa chọn xong thuật toán ta tiến hành thiết kế thuật toán . Có mấy cách thiết kế thuật toán ?
Có 2 cách: liệt kê các bước hay vẽ sơ đồ khối
Có 2 cách thiết kế thuật toán : liệt kê các bước hay vẽ sơ đồ khối và người ta gọi là diễn tả thuật toán.
Tìm ước số chung lớn nhất của hai số nguyên dương M và N. Vậy để diễn tả thuật toán ta thực hiện các bước nào?
Nhận xét và trình bày
Tham khảo sgk, đứng tại chỗ trả lời
b. Diễn tả thuật toán:
Cho biết cách xác định bài toán trên?
+ Input: hai số nguyên dương M và N.
+ Output:
- Xác định bài toán:
+ Input: hai số nguyên dương M và N.
Hoạt động của giáo viên Họat động của học sinh Nội dung
UCLN(M,N) + Output: UCLN(M,N)
Nêu ý tưởng bài toán trên?
Trình bày - Ý tưởng bài toán : (SGK)
Nhận xét và giải thích Thảo luận nhóm xây dựng thuật toán bằng cách liệt kê ?
Thảo luận nhóm - Thuật toán : +Cách liệt kê
Nhận xét và đưa ra thuật toán bằng cách liệt kê
xem SGK-T48,49 +Sơ đồ khối (SGK-T48,49)
Thảo luận nhóm từ việc xây dựng thuật toán bằng cách liệt kê. Hãy xây dựng thuật toán bằng sơ đồ khối
Thảo luận nhóm
Hướng dẫn họ sinh làm ví dụ mô phỏng tìm UCLN(10, 25)
Yêu cầu học sinh tìm UCLN(17, 13)
Tìm UCLN(10, 25)
Tìm UCLN(17, 13)
Ta đã có được thuật toán của bài toán, để máy tính có thể thực hiện được ta phải chuyển đổi thuật toán sang ct.
Hoạt động 4: Tìm hiểu về cách viết chương trình (Hình thành và phát triển năng lực sử dụng ngôn ngữ)
Viết chương trình là lựa chọn ngôn ngữ lập trình để thể hiện lại thuật toán mà ta đã xây dựng, khi