GiẢI BÀI TOÁN TRÊN MÁY
TÍNH
Các bước giải một
Các bước giải
bài toán trên máy
một bài toán
tính
trên giấy
1. Xác định giả
1. Xác định bài
Em hãy
nêu
các bước làm
một bài toán trên
thiết,
kết
luận
toán
2. Lựa chọn hoặc
giấy?
2. Lựa chọn hoặc
thiết kế thuật toán
thiết kế cách
giải
3.
Viết lời giải
3. Viết chương trình
4. Chỉnh sửa sai sót
4. Hiệu chỉnh
5. Nộp bài
5. Viết tài liệu
1. Xác định bài toán
-Xác định Input
-Xác định Output
-Xác định mối quan hệ giữa
Input và Output.
Ví dụ: Tìm UCLN của hai số
nguyên dương M và N
Input: Số nguyên dương
M,N
Output: UCLN của M và N
Mối quan hệ: UCLN là số
nguyên dương lớn nhất mà M và
N cùng chia hết.
Một bài toán có thể có bao nhiêu
thuật toán để giải?
Bài toán
Có thể có nhiều
thuật toán để giải
Chỉ giải một bài toán
Một thuật toán có thể giải bao
nhiêu bài toán?
⇒ ta cần chọn hoặc thiết kế thuật toán
tốt nhất.
2. Lựa chọn hoặc thiết kế thuật toán
Đây là bước quan trọng nhất để giải
một bài toán.
a. Lựa chọn hoặc thiết kế thuật toán
Lựa chọn thuật toán
- Khi có từ một thuật toán trở
lên.
Thiết kế thuật toán khi chưa có thuật
toán.
Ví dụ 1: Tìm UCLN của hai số nguyên dương M
Thuật toán 1: Sử dụng phép trừ
Nếu M=N thì UCLN(M,N)=N
Nếu M
Nếu M>N thì UCLN(M,N)=UCLN(M-N,N)
M = 30, N = 8
Thuật toán 2: Sử dụng phép chia
Nếu M chia hết cho N thì UCLN(M,N)=N
Nếu M
Nếu M>N thì LN(M,N)=UCLN(N,phần
dư của M chia N)
M = 30, N = 8
UCLN(30,8) = UCLN(22,8)
UCLN(22,8) = UCLN(14,8)
UCLN(14,8) = UCLN(6,8)
UCLN(6,8) = UCLN (6,2)
UCLN(6,2) = UCLN(4,2)
UCLN(4,2) = UCLN (2,2)
UCLN(2,2) = 2
UCLN(30,8) = UCLN(8,6)
UCLN(8,6) = UCLN(6,2);
UCLN(6,2) = 2;
Tiêu chí thời gian
Tiêu chí lựa chọn thuật toán
+ Thời gian
+ Hiệu quả về không gian
+ Tính khả thi khi cài đặt thuật toán
b. Diễn tả thuật toán
Ví dụ: Tìm ƯCLN của hai số nguyên dương M và N
Bước 1: Nhập M, N;
Bước 2: Nếu M =N thì xuất N rồi kết
thúc;
Bước 3: Nếu M
quay lại bước 2;
Bước 4: M ←M –N,rồi quay lại bước 2;
Nhập hai số M
và N
Đ
Xuất M và
kết thúc.
M=N
S
M>N
N←N-M
Đ
S
M←M-N
Liệt kê
Sơ đồ khối
3. Viết chương trình
•Lựa chọn cấu trúc dữ liệu và NNLT để mô tả các
thao tác của thuật toán.
•Viết chương trình trong NNLT nào ta cần phải
tuân theo đúng quy định ngữ pháp của NNLT đó
4. Hiệu chỉnh
Thử lại chương trình bằng cách thực hiện bài
toán với một số bộ Test tiêu biểu nếu sai thì sửa
sau đó thử lại
Test là các bộ input tiêu biểu mà đã biết trước
Output
Ví dụ: Với chương trình giải phương trình bậc 2:
ax2 + bx + c =0 (a≠0)
Ta có bộ test là các trường hợp a, b, c làm cho
∆ > 0 ; ∆ =0; ∆ < 0;
a = 1; b = -5; c = 6 →x1 =3 ; x2=2
a = 1; b = -4; c = 4 →Nghiệm kép = 2
a = 1; b = 4; c = 8 →Pt vô nghiệm
Ví dụ: Kiểm tra tính nguyên tố của số nguyên
dương N. Hãy đưa ra các test tiêu biểu.
Test 1. Trường hợp N=1Input : N=1
Output: không là số nguyên
tố
Input: N=2
Test 2. Trường hợp
Output: Là số nguyên tố
N=2
Input: N=3
Test 2. Trường hợp
Output: Là số nguyên tố
N=3
Test 4. Trường hợp N>4 và N là số nguyên tố
Input: N=11
Output: là số
nguyên
tố hợp N>4 và N không là số
Test
5. Trường
nguyên
tố N=12
Input:
Output: không là số nguyên tố
5. Viết tài liệu
Mô tả chi tiết bài toán, thuật toán, thiết kế
chương trình, kết quả thử nghiệm và hướng
dẫn sử dụng.
Các bước giải bài toán trên máy tính
1. Xác định bài
toán
2. Lựa chọn hoặc 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
Câu hỏi trắc nghiệm
Câu 1: Giải bài toán trên máy tính được tiến hành qua mấy
bước?
D. 55 bước
bước
A. 2 bước
B. 3 bước
C. 4 bước
D.
Câu 2: Tiêu chí lựa chọn hoặc thiết kế thuật toán là?
A.Hiệu quả về thời gian
B. Hiệu quả về không gian
C. Khả thi khi cài đặt
D.Tất
Tấtcả
cảđều
đềuđúng
đúng
D.
Câu 3: Viết chương trình là?
A. Biểu diễn thuật toán
B. Dùng NNLT để diễn đạt bài toán
C.
C. Dùng
Dùng NNLT
NNLT và
và cấu
cấu trúc
trúc dữ
dữ liệu
liệu thích
thích hợp
hợp để
để diễn
diễn tả
tả thuật
thuật
toán
toán
D. Tất cả đều đúng