- 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.. - 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ữ
Trang 1Trườ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
Tính
Trang 2Bà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ì?
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
Trang 3MỤC ĐÍCH
YÊU CẦU
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.
- 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
Trang 4B1 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ỉnh B5 Viết tài liệu
NỘI DUNG
Trang 5NỘI DUNG
1 XÁC ĐịNH
BÀI TOÁN
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 cho M,N Output tìm UCLN(M,N)
Hãy xác định bài toán trên?
Trang 62 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
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
KẾT QUẢ
Trang 72 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
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
Trang 82 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
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
Trang 92 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
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
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
Trang 103 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
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
Trang 114 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
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
3 4
3 3
9 2
9 1
M LẦN
? Chạy thử chương trình với các bộ Input tiêu biểu
để tìm ra Output:
Nhập M,N
N N-M
KT
M>N
S
Đ
S
M M-N Đ
Trang 12Nhập M,N
N N-M
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
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
Trang 135 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
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