documenta
TRANSCRIPT
I. CÁC BƯỚC GIẢI BÀI TOÁN TRÊN MÁY TÍNH
B1
B2
B3
B4
B5
Xá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
Ví 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
xác định bài toán ?
1. XÁC ĐỊNH BÀI TOÁN ( bước 1)
I. CÁC BƯỚC GiẢI BÀI TOÁN TRÊN MÁY TÍNH
2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN (bước 2).
a. 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…
- Í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. . .
KẾT QUẢ
b. Diễn tả thuật toán
Trình bày ý tưởng một vài cách giải
Xác định bài toán
2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN
(UCLN của hai số nguyên dương là số lớn nhất mà cả hai số cùng chia hết cho nó.)
Ví dụ: UCLN(2,6)=2 , UCLN(4,10)= 2
Ví dụ: Tìm ước chung lớn nhất (UCLN) của hai số nguyên dương M và N.
Nếu M=N thì giá trị chung là UCLN
Ngược lại
Nếu M>N thì UCLN(M,N)=UCLN(M-N,N)
Nếu M<N thì UCLN(M,N)=UCLN(M,N-M)
b. Diễn tả thuật toán
2
6
10
N
UCLN(M,N) = 2
2
4
4
M
2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN
Ví dụ: Tìm UCLN(4,10)
4
2
Cách 1
LẦN
3
2
1
4
i=2
i=4i=M
2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN
b. Diễn tả thuật toánVí dụ: Tìm UCLN(4,10)
M=4, N=10
(UCLN của hai số nguyên dương là số lớn nhất mà cả hai số cùng chia hết cho nó.)
M=4
1
2
3
4
N=6
6
i=3
UCLN
Cách 2Nếu M=N thì giá trị chung là UCLN
Ngược lại
Nếu M<N thì i=M,
M>N thì i=N
Nếu M không chia hết cho i hoặc
N không chia hết cho i thì
i = i -1
UCLN(M,N)=i
2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN
b. Diễn tả thuật toán
UCLN(M,N) = 2
Ví dụ: Tìm UCLN(4,10)
M=4, N=10
2
N M LẦN i
32
1
3
Cách 2
4104
Nếu M=N thì giá trị chung là UCLN
Ngược lại
Nếu M<N thì i=M
ngược lại i=N
Nếu M không chia hết cho i hoặc
N không chia hết cho i thì
i = i-1
UCLN(M,N)=i
96
98
100
N
UCLN(M,N) = 2
…
3
22
21
MLần
2249
2
944 2
448 2
2 100 2
N
1
MLần i
UCLN(M,N) = 2
Ví dụ: Tìm UCLN(2,100)
Hiệu chỉnh
- Í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. . .
Như vậy, tuỳ từng bài toán mà ta lựa chọn thuật toán cho phù hợp.
3. VIẾT CHƯƠNG TRÌNH
Ngôn ngữ lập trình + Thuật toán = Chương trình
- Laø vieäc löïa choïn caùch toå chöùc döõ lieäu vaø söû duïng ngoân ngöõ laäp trình ñeå dieãn ñaït thuaät toaùn.- Caàn choïn ngoân ngöõ laäp trình hoaëc phaàn meàm thích hôïp vôùi thuaät toaùn
Mộ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 hiện lỗi và sửa chương trình. Quá trình này gọi là hiệu chỉnh (test).
Test:M = 8; N = 8 ÖCLN = 8M = 25; N = 10 ÖCLN = 5M = 2; N = 100 ÖCLN = 2M = 17; N = 13 ÖCLN = 1
- Moät soá boä Test kieåm tra thuaät toaùn tìm ÖCLN.
4. HIỆU CHỈNH
1
2
3Viết chương trình là?
a. Viết thuật toán.
b. Sử dụng ngôn ngữ lập trình để diễn đạt đúng thuật toán.
C. Sữ dụng ngôn ngữ lập trình để trình bày dữ liệu.
Lựa chọn thuật toán ta thường quan tâm đến:
a. Sử dụng ít thời gian, ít bộ nhớ..
b. Sử dụng ít thời gian, ít phép toán.. .
C. Sử dụng ít thời gian, ít bộ nhớ, ít phép toán.. .
Giải bài toán trên máy tính được tiến hành qua mấy bước?
a. 3 b. 5 C. 7
II. BÀI TẬP
BT 2
``
`
Các bước cần phải có khi giải bài toán trên máy tính là ?
a. Xác định bài toán,lựa chọn hoặc thiết kế thuật toán,diễn tả thuật toán,hiệu chỉnh, viết tài liệu.
b. Xá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, viết tài liệu.
c. Xá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.
Mục đích của việc hiệu chỉnh là ?
a. Xác định lại Input và Output của bài toán.
b. Phát hiện và sửa sai sót.
d. Để tạo ra một chương trình mới.
Lựa chọn thuật toán tối ưu nhất
Diễn tả thuật toán
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