Tìm ớc số chung lớn nhất CLN của hai số nguyên d ơng M và N... Các b ớc thực hiệnB ớc 1: Xác định bài toán Xác định hai thành phần INPUT, OUTPUT... Lựa chọn thuật toán Lựa chọn một thuậ
Trang 1Bài toán đặt vấn đề
Với các giá trị:
M = 25; N = 5
M = 88; N = 121
M = 997; N = 29.
M = 2006; N=1998.
Tìm ớc số chung lớn nhất ( CLN) của hai số nguyên d ơng M và N.
Trang 2H·y chØ ra nh÷ng u ®iÓm
cña viÖc gi¶i bµi
to¸n b»ng m¸y
tÝnh so víi c¸ch
gi¶i to¸n th«ng
th êng?
Trang 3Bµi 6 Gi¶i bµi to¸n trªn m¸y tÝnh
Trang 4Các b ớc thực hiện
B ớc 1: Xác định bài toán
Xác định hai thành phần INPUT, OUTPUT.
INPUT: M , N là hai số nguyên d ơng.
OUTPUT: CLN(M, N).
Ví dụ:
Trang 5B ớc 2: Lựa chọn hoặc thiết kế thuật toán
Nếu M = N
- Đúng CLN = M (hoặc N) Kết thúc;
- Sai Xét: nếu M > N
- Đúng M = M – N;
- Sai N = N – M;
Quá trình này đ ợc lặp lại cho đến khi M = N.
a Lựa chọn thuật toán
Lựa chọn một thuật toán tối u.
Ví dụ:
Trang 6b Diễn tả thuật toán
T heo hai cách:
Cách 1: Liệt kê các b ớc
Cách 2: Vẽ sơ đồ khối.
Cách 1: Liệt kê các b ớc
B1: Nhập M, N;
B2: Nếu M = N lấy CLN = M (hoặc N), chuyển
đến B5;
B3: Nếu M >N thì M M - N rồi quay lại B2;
B4: N N – M rồi quay B2;
B5: Đ a ra kết quả CLN; Kết thúc
Trang 7Đ
S S
Cách 2: Diễn tả thuật toán bằng sơ
đồ khối
5 10
10
10
5 5
15
25
3 2
1
L ợt
Nhập M ,N
M =N ?
M > N ?
N N - M
M M - N
Đ a ra M ; Kết thúc
M= 25, N = 10
25 = 10 ?
25 >10 M 25 - 10
15 = 10 ?
15 >10 M 15 - 10
5 = 10 ?
5 > 10 ?
N = 10 - 5
5 = 5 ? ƯSLN (25,10) = 5
M N
Trang 8§
S S
M« pháng thuËt to¸n t×m ¦CLN
5 10
10
10
5 5
15
25
3 2
1
L ît
NhËp M ,N
M =N ?
M > N ?
N N - M
M M - N
§ a ra M ; KÕt thóc
M= 25 ,N = 10
25 = 10 ?
25 >10 M 25 - 10
15 = 10 ?
15 >10 M 15 - 10
5 = 10 ?
5 > 10 ?
N = 10 - 5
5 = 5 ? ¦CLN (25,10) = 5
M N
Trang 9B ớc 3: Viết ch ơng trình
Sử dụng ngôn ngữ lập trình để diễn đạt đúng thuật toán
Là tổng hợp giữa việc:
Lựa chọn cách tổ chức dữ liệu
Trang 10B ớc 4: Hiệu chỉnh
TEST:
M = 8; N = 8 CLN = 8
M = 25; N = 10 CLN = 5
M = 88; N = 121 CLN = 11
M = 17; N = 13 CLN = 1
Thử ch ơng trình bằng cách thực hiện nó với một số bộ INPUT tiêu biểu (TEST) để kiểm tra kết quả, nếu có sai sót thì hiệu chỉnh lại.
Trang 11B ớc 5: Viết tài liệu
Mô tả chi tiết về bài toán, thuật toán, ch ơng trình và kết quả thử nghiệm, h ớng dẫn cách sử dụng Từ tài liệu này, ng ời sử dụng đề xuất các khả năng hoàn thiện thêm.
Trang 12B ớc 2: Lựa chọn hoặc thiết kế thuật toán
B ớc 1: Xác định bài toán.
Các b ớc giải bài toán trên máy tính