1. Trƣờng Đại Học Sƣ Phạm Hồ Chí Minh
Khoa Công nghệ Thông tin
Bài 6: Giải Bài Toán Trên Máy Tính
12/22/2013
1
2. Bài 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH
KIỂM TRA BÀI CŨ
1. Em hãy so
sánh ngôn
ngữ máy và
ngôn ngữ lập
trình bậc cao?
2. Chƣơng trình
dịch dùng để
làm gì?
Hƣớng dẫn trả lời
Ngôn ngữ máy
-Viết bằng mã nhị
phân.
-Máy tình hiểu ngay.
Ngôn ngữ bậc cao
-Viết bằng ngôn ngữ
gần với ngôn ngữ tự
nhiên.
-Muốn máy hiểu
Chƣơng trình có một đƣợc phải chuyển
-Mỗi loại máy dịch dùng để dịch từ chƣơng
sang ngôn ngữ máy.
trình viết bằng ngôn ngữ khác sang ngôn
ngôn ngữ riêng.
-Không phụ thuộc
ngữ máy.
vào loại máy.
3. Bài 6:
GIẢI BÀI TOÁN TRÊN MÁY TÍNH
MỤC ĐÍCH
-Giới thiệu cách dùng máy tính để giải bài toán.
-Củng cố rõ hơn về khái niệm về bài toán, thuật toán,
dữ liệu, lệnh, ngôn ngữ lập trình và chương trình.
YÊU CẦU
-Nắm được nội dung cụ thể các bước cần thực hiện
khi giải một bài toán trên máy tính
4. Bài 6::
GIẢI BÀI TOÁN TRÊN MÁY TÍNH
B1. Xác định
bài toán
B2. Lựa chọn
hoặc thiết kế
thuật toán
NỘI DUNG
B5. Viết tài liệu
B3. Viết chương
trình
B4. Hiệu chỉnh
5. Bài 6::
GIẢI BÀI TOÁN TRÊN MÁY TÍNH
NỘI DUNG
1. XÁC ĐịNH
BÀI TOÁN
1. XÁC ĐỊNH BÀI TOÁN
Ví dụ: Cho bài toán tìm ƣớc chung lớn nhất của hai
số M và N là 2 số nguyên dƣơng.
Hãy xác định bài toán trên? Input cho M,N
Output tìm UCLN(M,N)
Việc xác định bài toán là xác định rõ hai thành
phần:
Input
Output
6. Bài 6::
GIẢI BÀI TOÁN TRÊN MÁY TÍNH
NỘI DUNG
1. XÁC ĐỊNH
BÀI TOÁN
2. LỰA CHỌN
HOẶC
THIẾT KẾ
THUẬT
TOÁN
a. Lựa chọn
thuật toán
2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN
a. Lựa chọn thuật toán
Cách 1
BÀI TOÁN
Có thể
có nhiều
cách giải
(thuật toán)
Cách 2
Cách 3
KẾT QUẢ
...
- Lựa chọn thuật toán và tổ chức dữ liệu.
Cần phải chọn cách giải (Thuật toán) sao cho :
Thuật toán cần ít thời gian thực hiện, chiếm ít ô
nhớ, thực hiện ít phép toán. . .
Thuật toán ít phức tạp
7. Bài 6:
GIẢI BÀI TOÁN TRÊN MÁY TÍNH
NỘI DUNG
2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN
1. XÁC ĐỊNH
BÀI TOÁN
2. LỰA CHỌN
HOẶC
THIẾT KẾ
THUẬT
TOÁN
a. Lựa chọn
thuật toán
b. Diễn tả
thuật toán
b. Diễn tả thuật toán
Tìm ƣớc chung lớn nhất của hai số nguyên dƣơng
M,N.
Xác định bài toán
Trình bày ý tƣởng một cách giải
Nếu M=N thì giá trị chung là UCLN
Nếu M>N thì UCLN(M,N)=UCLN(M-N,N)
Nếu M<N thì UCLN(M,N)=UCLN(M,N-M)
8. Bài 6:
GIẢI BÀI TOÁN TRÊN MÁY TÍNH
NỘI DUNG
1. XÁC ĐỊNH
BÀI TOÁN
2. LỰA CHỌN
HOẶC
THIẾT KẾ
THUẬT
TOÁN
a. Lựa chọn
thuật toán
b. Diễn tả
thuật toán
2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN
b. Diễn tả thuật toán
? Thuật toán liệt kê
B1:Nhập M,N
B2: Nếu M=N thì giá trị
chung là UCLN rồi kết
thúc
B3:Nếu M>N thì M M-N
chuyển sang B2
B4: N N-M chuyển sang B2
9. Bài 6:
GIẢI BÀI TOÁN TRÊN MÁY TÍNH
NỘI DUNG
2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN
1. XÁC ĐỊNH
BÀI TOÁN
2. LỰA CHỌN
HOẶC
THIẾT KẾ
THUẬT
TOÁN
a. Lựa chọn
thuật toán
b. Diễn tả thuật
toán
b. Diễn tả thuật toán
Thuật toán bằng sơ đồ khối
Nhập M,N
Đ
M=N
Đƣa KQ
KT
S
M>N
S
N
N-M
Đ
M
M-N
10. Bài 6::
GIẢI BÀI TOÁN TRÊN MÁY TÍNH
NỘI DUNG
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
Thuật toán+ Ngôn ngữ lập trình=chƣơng trình
Program Tin UCLN;
Var M, N, R:integer;
Begin
Write(‘Nhap vao M,N);
a. Lựa chọn
thuật toán
Read(M,N);
b. Diễn tả thuật
toán
While M<>N do
3. VIẾT
CHƢƠNG
TRÌNH
IF M>N THEN
M:=M-N;
ELSE
N:=N-M;
Write(‘ uoc chung lon nhat la:’, M);
End.
11. Bài 6:
GIẢI BÀI TOÁN TRÊN MÁY TÍNH
NỘI DUNG
1. XÁC ĐỊNH
BÀI TOÁN
2. LỰA CHỌN
HOẶC
THIẾT KẾ
THUẬT
TOÁN
4. HIỆU CHỈNH
? Chạy thử chƣơng trình với các bộ Input tiêu biểu
để tìm ra Output:
M=9,N=15;
Nhập M,N
Đ
a. Lựa chọn
thuật toán
M=N
b. Diễn tả thuật
toán
Đƣa KQ
KT
S
3. VIẾT
CHƢƠNG
TRÌNH
M>N
S
4. HIỆU CHỈNH
N
N-M
Đ
M
M-N
LẦN
M
N
1
9
2
9
15
6
3
3
6
4
3
3
UCLN(M,N)
3
12. Bài 6:
GIẢI BÀI TOÁN TRÊN MÁY TÍNH
NỘI DUNG
1. XÁC ĐỊNH
4. HIỆU CHỈNH
? Chạy thuật toán trên theo từng bƣớc và điền vào phiếu học tập với bộ
Input(M, N): M=6, N=1 để có đƣợc Output
BÀI TOÁN
2. LỰA CHỌN
HOẶC
THIẾT KẾ
THUẬT
TOÁN
Nhập M,N
Đ
M=N
a. Lựa chọn
thuật toán
S
b. Diễn tả
thuật toán
M>N
3. VIẾT
CHƢƠN
G TRÌNH
4. HIỆU
CHỈNH
Đƣa KQ
KT
S
N
N-M
Phiếu học tập
Đ
M
M-N
13. Bài 6:
GIẢI BÀI TOÁN TRÊN MÁY TÍNH
NỘI DUNG
1. XÁC ĐỊNH
BÀI TOÁN
2. LỰA CHỌN
HOẶC
THIẾT KẾ
THUẬT
TOÁN
a. Lựa chọn
thuật toán
b. Diễn tả thuật
toán
3. VIẾT
CHƢƠNG
TRÌNH
4. HIỆU CHỈNH
5. VIẾT TÀI
LIỆU
5. VIẾT TÀI LIỆU
Tài liệu phải mô tả chi tiết toàn bộ 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,
Tài liệu giúp cho việc sử dụng chƣơng trình và đề
xuất những khả năng hoàn thiện thêm.
Các bƣớc trên 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ả.