Thuật toán để giải một bài toán là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho khi thực hiện dãy thao tác ấy, từ Input của bài toán, ta nhận được Outp[r]
(1)Bài 4: Bài toán thuật toán
GVHD: Lê Minh Triết Nhóm SV thực hiện:
(2)1 Khái niệm toán.
Em lấy số ví dụ tốn tốn học
Ví dụ như: tốn tìm ước số chung lớn
của hai số, toán tìm giá trị lớn dãy số ngun
Em có nhận xét tốn toán học
(3)1 Khái niệm tốn.
Khái niệm: Là việc mà ta muốn máy tính thực để từ thơng tin đưa vào (Input) tìm được thơng tin (Output).
Input: thông tin liệu đưa vào máy tính
(4)Ví dụ 1: Xác định thông tin đưa vào (Input) thông tin xuất (Output) tốn tìm ước số chung lớn hai số nguyên dương
Bài giải:
Thông tin Input: hai số nguyên M N
Thông tin Output: UCLN hai số M N
(5)Ví dụ 2: Xác định Input Output tốn tìm nghiệm phương trình bậc 2:
ax2 + bx + c =
Bài giải:
Input: số thực a, b, c với (a ≠ 0) Output: tất số thực thỏa mãn: ax2 + bx + c =
(6)2 Khái niệm thuật toán.
Trong toán học để giải toán cụ thể ta cần tìm cách giải tốn
Còn tin học để giải tốn
chúng ta cần tìm thuật tốn để giải tốn
(7)2 Khái niệm thuật toán.
2.1 Khái niệm:
(8)2 Khái niệm thuật tốn.
2.2 Ví dụ: cách giải tốn giải phương trình
ax + b =
+ Nếu a=0 b=0 phương trình có vơ số nghiệm.(1)
+ Nếu a=0 b≠0 phương trình vơ nghiệm (2)
(9)2 Khái niệm thuật toán.
Tương ứng với cách giải tốn ta có thuật giải là:
+ Xác định hai hệ số a b toán + Kiểm tra xem a b toán rơi vào
trường hợp trường hợp (1), (2), (3) nêu
(10)2 Khái niệm thuật tốn.
2.3 Các tính chất thuật tốn
-Tính dừng: thuật tốn phải kết thúc sau số hữu hạn lần thực thao tác -Tính xác định: bước giải phải rõ ràng
không gây lẫn lộn nhập nhằng -Tính đắn: kết sau thực
(11)2 Khái niệm thuật toán.
2.3 Các tính chất thuật tốn -Tính hiệu :
+ Phải sử dụng dung lượng nhớ nhỏ
+ Số phép toán
(12)2 Khái niệm thuật toán.
2.4 Các cách biểu diễn thuật toán Cách 1: liệt kê bước
(13)2 Khái niệm thuật toán.
2.4 Các cách biểu diễn thuật tốn
Ví dụ: Dùng phương pháp liệt kê để biểu diễn thuật tốn tìm giá trị lớn dãy số nguyên
+ B1: Nhập n dãy số nguyên a1, an;
+ B2: Max a1, i
+ B3: Nếu i > n đưa giá trị Max kết thúc + B4:
(14)2 Khái niệm thuật toán.
2.4 Các cách biểu diễn thuật toán Cách 2: Biểu diễn sơ đồ khối
+ Hình ovan dùng để biểu diễn nhập, xuất liệu
+ Hình thoi dùng để thể thao tác so sánh + Hình chữ nhật dùng để thao tác tính tốn
(15)2 Khái niệm thuật toán.
2.4 Các cách biểu diễn thuật toán
(16)Đ
S
Đ
S
Nhập vào dãy a1,…,aN
Max a1 ; i 2
i > N ?
ai > Max ?
Max ai
i i + 1
B1: Nhập vào dãy a1,…,aN;
B2: Max a1; i 2;
B3: Nếu i > N đưa Max kết thúc.
B4 :
B4.1: Nếu ai > Max Max ai;
(17)Đ
S S
NhËp N vµ d y a· 1,…,aN
Max a1 ; i 2
i > N ?
ai> Max ?
Max ai
i i+1
Đưa Max kết thúc. Max i A 11 11 7 7 7 5 4 3 2 9 11 5 1 7
N=5 ; A [ 11 ]
Max ; i 2
2 > ?
1> ?
i 2+1
3 > ?
5 > ?
i 3+1
4 > ?
11 > ?
Max 11
4
i 4+1
5 > ?
9 > 11 ?
i 5+1
(18)18
Nhập liệu
Xuất
thông tin Tính tốn
xử lý
thao tác 1; thao tác 2; …; thao tác N
Liệt kê - Sơ đồ Ngơn ngữ lập trình Chương trình
(19)Các kiến thức cần nhớ qua này: + Khái niệm toán
+ Cách xác định Input Output toán + Khái niệm thuật tốn
+ Các tính chất thuật tốn + Các cách biểu diễn thuật toán
+ Mối quan hệ toán thuật toán
(20)