Xác định bài toánLựa chọn hoặc thiết kế thuật toán Viết chương trình Hiệu chỉnh Viết tài liệu... Lựa chọn thuật toánCó thể có nhiều cách giải thuật toán BÀI TOÁN Cách 1 Cách 2 Cách 3 K
Trang 1Company Logo
Trang 2Xác định bài toán
Lựa chọn hoặc thiết kế thuật toán Viết chương trình
Hiệu chỉnh
Viết tài liệu
Trang 3Ví dụ : Tìm ước chung lớn nhất (UCLN) của hai số nguyên dương M và N
Input : M,N
Output : UCLN(M,N)
Xác định bài toán là xác định rõ hai thành phần:
- Input - Output
a.xác định bài toán ?
Trang 4a Lựa chọn thuật toán
Có thể có nhiều cách giải ( thuật toán )
BÀI TOÁN
Cách 1 Cách 2 Cách 3
KẾT QUẢ
- Ít phức tạp ít thời gian thực hiện.
- Chiếm ít ô nhớ.
- Thực hiện ít phép toán, dễ hiểu
Trang 5b) Diễn tả thuật toán
Ví dụ :Tìm ước chung lớn nhất
(ƯCLN) của hai số nguyên dương
M và N.
Input: Nhập M , N;
Output: ƯCLN(M , N).
Trang 6 Ý tưởng
Sử dụng những điều đã biết sau:
Nếu M = N thì giá trị chung đó là ƯCLN
của M và N;
Nếu M > N thì ƯCLN(M, N) = ƯCLN(M
– N,N)
Nếu M < N thì ƯCLN(M, N) =
ƯCLN(M,N- M);
Trang 7 Thuật toán
a) Thuật toán diễn tả bằng cách liệt kê
Bước 1: Nhập M, N;
Bước 2: Nếu M = N đưa ra
ƯCLN(M,N)=M ; Kết thúc
Bước 3: Nếu M > N thì M M - N rồi
quay lại bước 2;
Bước 4: N N - M rồi quay lại bước
2;
Trang 8Nhập M và N
M = N ?
Đưa ra M; Kết thúc
M > N ?
M M - N
N N - M
b) Thuật toán diễn tả bằng sơ đồ
khối
Trang 9c) Mô tả bằng số liệu cụ thể
1 Cho hai số: N = 25 và M = 10 tìm ƯCLN
N=25
M=10
N=15
M=10
N <- N-M
N=5
M=10
M <- M-N
N=5
M=5
Lần duyệt
thứ 1
N <- N-M
Lần duyệt thứ 2
Lần duyệt thứ 3
KẾT QUẢ
Trang 10Ngôn ngữ lập trình + Thuật toán = Chương trình
• Khi viết chương trình ta nên chọn một ngôn ngữ lập trình hoặc một phần mềm chuyên dụng thích hợp vơi thuật
toán
• Viết chương trình trong ngôn ngữ nào thì phải tuân theo ngôn ngữ đó
• Chương trình dịch chỉ có thể phát hiện và thông báo
về mặt ngữ phát
Trang 11Ví dụ : Viết Chương Trình
Trang 12Một chương trình đã viết xong có thể có nhiều lỗi và
sẽ cho kết quả không đúng
Ta cần thử chương trình bằng vài bộ số Input để phát
chỉnh (test)
Trang 13• Tài liệu phải mô tả bài toán, thuật toán , thiết kế chương trình, kết quả nghiệm và hương dẫn sử
dụng
• Tài liệu này rất có ích cho người sử dụng chương trình và cho việc đề xuất những khả năng hoàn
thiện thêm
• Các bước có thể lập đi lặp lại nhiều lần cho đến khi ta cho rằng chương trình đã làm việc
đúng đắn và hiệu quả.
Trang 14Lựa chọn thuật toán tối ưu nhất (thời gian
và bộ nhớ)
Diễn tả thuật toán (Sơ đồ và liệt kê)
Lựa chọn hoặc thiết
kế thuật toan
GIẢI BÀI TOÁN
TRÊN MÁY
TÍNH
Xác định bài toán
Viết chương trình
Hiệu chỉnh
Viết tài liệu
Input
Output
Chọn ngôn ngữ lập trình phù
hợp.
Tổ chức dữ liệu
Test và sửa sai sót.
Mô tả chương trình Hướng dẫn sử dụng