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ó 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
Các tài nguyên mhư: thời gian thực hiện, số lượng ô
Hoạt động của giáo viên Họat động của học sinh Nội dung quan tâm đến các tài
nguyên nào?
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 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ọ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:
UCLN(M,N)
- Xác định bài toán:
+ Input: hai số nguyên dương M và 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 Tìm UCLN(10, 25)
Hoạt động của giáo viên Họat động của học sinh Nội dung 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(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 viết chương trình thì nên chọn ngôn ngữ lập trình thích hợp với thuật toán mà ta đã xây dựng, viết chương trình trên ngôn ngữ nào thì phải tuân theo cú pháp của ngôn ngữ đó.