Upload
indochinasp
View
192
Download
2
Embed Size (px)
Citation preview
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 1
Con người đã phải làm gì để máytính có thể giải quyết những công
việc của con người?
6.GIẢI BÀI TOÁN TRÊN
MÁY TÍNH (1,0,0)
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 2
5 bước
1. Xác định bài toán
2. Lựa chọn và thiết kế thuật toán
3. Viết chương trình
4. Hiệu chỉnh
5. Viết tài liệu
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 3
1. Xác định bài toán
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 4
INPUT
Mối liên hệ: INPUT, OUTPUT
OUTPUT
Xác định
Ví dụ: Tìm UCLN (M,N) (M,N>0)
Bước 1: Xác định bài toán
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 5
INPUT: M, N
OUTPUT: UCLN(M,N)
Mối liên hệ:
M % UCLN(M,N) = 0
N % UCLN(M,N) = 0
2. Lựa chọn hoặc thiết kế thuật toán
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 6
Để giải một bài toán có thể có nhiều cách giải
Tiêu chuẩn chọn thuật toán tối ưu:
Lựa chọn cách giải tối ưu nhất
Thời gian thực hiện nhanh.
Ít tốn bộ nhớ.
Trình bày dễ hiểu, dễ nhìn.
Bước 2: Lựa chọn hoặc thiết kếthuật toán
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 7
Ví dụ: Tìm UCLN (M,N) (M,N>0)
Cách 1:
B1: Nhập M,N
B2: nếu M = N
UCLN(M,N) = M B5
B3: Nếu M > N
M = M- N B2
B4: Nếu M < N
N = N – M B2
B5: Xuất UCLN(M,N)
Kết thúc
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 8
Ví dụ: Tìm UCLN (M,N) (M,N>0)
M,N
N=N-MM=N
UCLN(M,N)=M
M>N
M=M-N
Đ
SS
Đ
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 9
Ví dụ: Tìm UCLN (M,N) (M,N>0)
Cách 2:
B1: Nhập M,NB2: nếu M % N = 0 UCLN(M,N) = N B6
B3: nếu N % M = 0 UCLN(M,N) = M B6
B4: Nếu M > NM = M % N B2
B5: Nếu M < N N = N % M B2
B6: Xuất UCLN(M,N) Kết thúc
M,N
UCLN=NM%N=0
N%M=0
M>NM=M%N
N=N%M
UCLN=M
UCLN
Đ
S
Đ
S
S
Đ
Tìm UCLN (49, 14)
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 10
Ví dụ: Tìm UCLN (M,N) (M,N>0)
Cách 1:
B1: Nhập M,N
B2: nếu M = N
UCLN(M,N) = M B5
B3: Nếu M > N
M = M- N B2
B4: Nếu M < N
N = N – M B2
B5: Xuất UCLN(M,N)
Kết thúc
Lần M N
0 49 14
1 35 14
2 21 14
3 7 14
4 7 7
UCLN (49, 14) = 7
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 11
Tìm UCLN (49, 14)
Ví dụ: Tìm UCLN (M,N) (M,N>0)
Lần M N
0 49 14
1 7 14
Cách 2:
B1: Nhập M,NB2: nếu M % N = 0 UCLN(M,N) = N B6
B3: nếu N % M = 0 UCLN(M,N) = M B6
B4: Nếu M > NM = M % N B2
B5: Nếu M < N N = N % M B2
B6: Xuất UCLN(M,N) Kết thúc
UCLN (49, 14) = 7
Cách 2:
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 12
Ví dụ: Tìm UCLN (M,N) (M,N>0)
Tìm UCLN (580, 105)
Lần M N
0 580 105
1 55 105
2 55 50
3 5 50
UCLN (580, 105) = 5
Cách 1:Lần M N
0 580 105
1 475 105
2 370 105
3 265 105
4 160 105
5 55 105
6 55 50
7 5 50
8 … …
3. Viết chương trình
Lựa chọn ngôn ngữ lập trình
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 13
Tổ chức dữ liệu
Tiến hành cài đặt bằng ngôn ngữ đã chọn
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 14
Ví dụ: Tìm UCLN (M,N) (M,N>0)
Tìm UCLN (580, 0)Cách 2:
Lần M N
0 580 0
Phát sinh lỗi
Cách 1:Lần M N
0 580 0
1 580 0
2 580 0
3 580 0
4 … …
Do Hacker hoặc lỗi người sử dụng
4. Hiệu chỉnh
Sau khi chương trình viết xong có thể cònnhững lỗi chữa được phát hiện và kết quả chạycòn chưa đúng
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 15
TESTchương trình bằng các bộ
INPUT, OUTPUT TIÊU BiỂU
Sửa chữahoặc thiết
kế lạithuậttoán
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 16
Ví dụ: Tìm UCLN (M,N) (M,N>0)
M,N
N=N-MM=N
UCLN(M,N)=M
M>N
M=M-N
Đ
SS
ĐNếuM=0 hoặc
N=0 báo lỗi
5. Viết tài liệu
• Tài liệu mô tả:
Bài toán,
Thuật toán
Thiết kế chương trình
Kết quả thử nghiệm
Hướng dẫn sử dụng.
• Chú ý: Các bước trên có thể lặp đi lặp lại nhiềulần cho đến khi ta cho rằng chương trình đã làmviệc tốt và hiệu quả.
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 17
Lợi ích:
- Hỗ trợ người dùng sử dụng phần mềm
- Nâng cấp, hoàn thiện phần mềm dễ dànghơn
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 18
Giải bài toán
Hoán vị 2 số A,B
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 19
A
B
B
A
Bước 1: Xác định bài toán
INPUT: A,B
OUTPUT: B, A
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 20
Bước 2: Lựa chọn hoặc thiết kế thuật toán
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 21
Cách 1:
B1: Nhập A,B
B2: C = A
B3: A = B
B4: B= C
B5: kết thúc
A, B
C = A
A = B
B = C
B, A
Bước A B C
1 a b
2 a b a
3 b b a
4 b a a
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 22
A, B
A = A + B
B = A - B
A = A - B
B, A
Cách 2:
B1: Nhập A,B
B2: A = A + B
B3: B = A - B
B4: A = A - B
B5: kết thúc
Bước A B
1 a b
2 a + b b
3 a + b a
4 b a
Bước 3: Viết chương trình
Bước 4: Hiệu chỉnh
a = b ?
Bước 5: Viết tài liệu
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 23
CỦNG CỐ
Các bước cơ bản để giải bài toán trên máy tính:
Bước 1: Xác định bài toán;
Bước 2: Lựa chọn hoặc thiết kế thuật toán;
Bước 3: Viết chương trình;
Bước 4: Hiệu chỉnh;
Bước 5: Viết tài liệu.
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 24
GIẢI BÀI TOÁN TRÊN MÁY TÍNH 25