giải? Vớ dụ: Xột bài toỏn
"Tỡm UCLN của 2 số nguyờn dương"
• Thuật toỏn tối ưu: Là thuật toỏn cú cỏc tiờu chớ sau : dễ hiểu, trỡnh bày dễ nhỡn, thời gian chạy nhanh, tốn ớt bộ nhớ.
• GV hướng dẫn HS thực hiện từng bước
? Xỏc định bài toỏn?
? Nhắc lại t/c của ƯCLN?
• Cho một nhúm lờn bảng viết thuật toỏn bằng cỏch liệt kờ.
• GV mụ tả thuật toỏn bằng sơ đồ khối
Đ. Cú thể cú nhiều
thuật toỏn để giải một bài toỏn. Tỡm UCLN cú nhiều thuật toỏn + dựng hiệu của 2 số + dựng thương của 2 số Đ. Input: M, N nguyờn dương Output: UCLN(M,N). Đ. ( , ) ( , ) ( , ) M neỏuM N ệCLN M N ệCLN M N M neỏuM N ệCLN M N N neỏuM N = = − < − > • Cỏc nhúm thảo luận rồi đưa ra cõu trả lời.
II. Lựa chọn và thiết kế thuật toỏn thuật toỏn
a) Lựa chọn thuật toỏn:
Mỗi thuật toỏn chỉ giải 1 bài toỏn, song một bài toỏn cú thể cú nhiều thuật toỏn để giải. Vậy ta phải chọn thuật toỏn phự hợp nhất trong những thuật toỏn đưa ra.
b) Diễn tả thuật toỏn:
Ta cú thể diễn tả thuật toỏn bằng cỏch liệt kờ hoặc bằng sơ đồ khối.
Vớ dụ: Tỡm UCLN (M, N)
* Xỏc định bài toỏn.
Input: M, N nguyờn dương Output: UCLN(M,N). * í tưởng: Sử dụng t/c đó biết; * Thuật toỏn: B1: Nhập M, N; B2: Nếu M = N thỡ UCLN = M; chuyển đến B5; B3: Nếu M > N thỡ M = M – N, quay lại B2 B4: Nếu M<N thỡ N = N – M, quay lại B2; B5: Đưa ra kết quả UCLN rồi kết thỳc.
Hoạt động 2: Cỏch viết chương trỡnh, Hiệu chỉnh chương trỡnh,Viết tài liệu liệu
Hoạt động của Giỏo viờn Hoạt động của HS Nội dung
Đặt vấn đề: Ta đó cú được
thuật toỏn của bài toỏn, cụng việc tiếp theo là phải chuyển đổi thuật toỏn đú sang chương trỡnh.
? Hóy nờu cỏc ngụn ngữ lập trỡnh mà em biết?
Đ. Pascal, C, …
Đ. Pascal, C, …
• Khi viết chương trỡnh cần chọn ngụn ngữ thớch hợp