a) Lựa chọn thuật toán:
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
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
H. Xác định bài toán?
Đ.
Input: M, N nguyên dương Output: UCLN(M,N).
H. Nhắc lại t/c của ƯCLN?
Đ. ( , ) ( , ) ( , ) ( , ) ( , ) M neáu M N ÖCLN M N ÖCLN M N M neáuM N ÖCLN M N N neáu M N = = − < − >
• 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ác nhóm thảo luận rồi đưa ra câu trả lời.
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 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. Hãy nêu các ngôn ngữ lập trình mà em biết?
Đ. Pascal, C, …
• GV hướng dẫn HS kiểm thử thông qua việc mô phỏng thuật toán trên
• Cho một nhóm mô phỏng thuật toán, một nhóm tìm theo cách đã học, rồi đối chiếu kết quả.
Tìm UCLN(25,35), UCLN(17,5) *UCLN(25,35) = 5
UCLN(17,5) = 1
• Sau khi viết chương trình đã hoàn thiện công việc còn lại là viết tài liệu mô tả thuật toán, chương trình và hướng dẫn sử dụng chương trình.