Upload
chau-tran
View
779
Download
5
Embed Size (px)
Citation preview
Trƣờng Đại Học Sƣ Phạm Hồ Chí Minh
12/22/20131
Khoa Công nghệ Thông tin
Bài 6: Giải Bài Toán Trên Máy Tính
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 Ngôn ngữ bậc cao
-Viết bằng mã nhị
phân.
-Máy tình hiểu ngay.
-Mỗi loại máy có một
ngôn ngữ riêng.
-Viết bằng ngôn ngữ
gần với ngôn ngữ tự
nhiên.
-Muốn máy hiểu
đƣợc phải chuyển
sang ngôn ngữ máy.
-Không phụ thuộc
vào loại máy.
Chƣơng trình dịch dùng để dịch từ chƣơng
trình viết bằng ngôn ngữ khác sang ngôn
ngữ máy.
MỤC ĐÍCH
YÊU CẦU
-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.
-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
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
B3. Viết chương
trình
B4. Hiệu chỉnhB5. Viết tài liệu
NỘI DUNG
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.
Việc xác định bài toán là xác định rõ hai thành
phần:
Input Output
Input cho M,N
Output tìm UCLN(M,N)
Hãy xác định bài toán trên?
Bài 6:: 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
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
. . .
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
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
- Lựa chọn thuật toán và tổ chức dữ liệu.
Bài 6:: GIẢI BÀI TOÁN TRÊN MÁY TÍNH
KẾT QUẢ
2. LỰA CHỌN HOẶC THIẾT KẾ THUẬT TOÁN
b. Diễn tả thuật toán
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
Tìm ƣớc chung lớn nhất của hai số nguyên dƣơng
M,N.
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)
Trình bày ý tƣởng một cách giải
Xác định bài toán
Bài 6: 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. 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
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
Bài 6: 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. Diễn tả thuật toán
Thuật toán bằng sơ đồ khối
Nhập M,N
N N-M
M=N Đƣa KQ
KT
M>N
S
Đ
S
M M-NĐ
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
Bài 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH
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);
Read(M,N);
While M<>N do
IF M>N THEN
M:=M-N;
ELSE
N:=N-M;
Write(‘ uoc chung lon nhat la:’, M);
End.
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
Bài 6:: GIẢI BÀI TOÁN TRÊN MÁY TÍNH
4. HIỆU CHỈNH
M=9,N=15;
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
3
3
6
6
15
N
UCLN(M,N)
34
33
92
91
MLẦN
? Chạy thử chƣơng trình với các bộ Input tiêu biểu
để tìm ra Output:
Bài 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH
Nhập M,N
N N-M
M=N Đƣa KQ
KT
M>N
S
Đ
S
M M-NĐ
Nhập M,N
N N-M
M=N Đƣa KQ
KT
M>N
S
Đ
S
M M-NĐ
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
Phiếu học tập
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ƢƠN
G TRÌNH
4. HIỆU
CHỈNH
Bài 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH
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ả.
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
Bài 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH