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 sau khi thực hiện dãy thao tác ấy, từ Input của bài toán, ta [r]
(1)TRẦN HỮU TRANG
TRƯỜNG TRUNG H C PH THÔNGỌ Ổ
TIN HỌC 10
(2)Ví dụ : Quản lí điểm kì thi máy tính
STT
STT HỌ VÀ TÊNHỌ VÀ TÊN VĂNVĂN TOÁNTOÁN LÝ LÝ ANHANH TỔNGTỔNG KẾT KẾT QUẢ QUẢ 100 Nguyễn An 8.5 10.0 7.0 9.0
112 Võ ngọc Sơn 6.0 8.5 8.5 5.0 230 Trần Thuỷ 7.0 7.0 6.5 6.5 327 Lê thị Thu 4.5 5.0 7.0 7.5 340 Hoàng Vân 5.0 2.0 3.5 4.5
53 Đỗ
42.5 Đỗ
41 Đỗ
33.5 Đỗ
22
(3)Ví dụ : Giải phương trình bậc ax + b = 0
* INPUT : Các hệ số a b ;
* OUTPUT : Nghiệm phương trình
Với a = ; b = -5
(4)BÀI
BÀI TOÁN VÀ THUẬT TOÁN
BÀI TOÁN VÀ THUẬT TOÁN
(5)BÀI TOÁN VÀ THUẬT TOÁN
BÀI TOÁN VÀ THUẬT TOÁN
1 Khái niệm toán
2 Khái niệm thuật toán
(6)KHÁI NIỆM BÀI TOÁN
KHÁI NIỆM BÀI TỐN
Là việc ta muốn máy tính thực để từ thơng tin đưa vào (Input) tìm thơng tin (Output)
Ví dụ 1: Tìm ước số chung lớn hai số nguyên dương INPUT: hai số nguyên dương M N
OUTPUT: Ước số chung lớn M N
(7)Xét ví dụ : giải phương trình bậc ax+ b = 0
B1 : xác định hệ số a, b;
(8)KHÁI NIỆM THUẬT TOÁN
KHÁI NIỆM THUẬT TỐN
Thuật tốn để giải toán dãy hữu hạn thao tác xếp theo trình tự xác định cho sau thực dãy thao tác ấy, từ Input toán, ta nhận được Output cần tìm
@ Có hai cách thể thuật toán : Cách : Liệt kê bước
Cách : Vẽ sơ đồ khối
@ Tính chất thuật tốn : # Tính dừng
(9)MỘT SỐ VÍ DỤ VỀ THUẬT TỐN MỘT SỐ VÍ DỤ VỀ THUẬT TỐN
! Tìm nghiệm phương trình bậc hai
!! Tìm giá trị lớn dãy số nguyên
!!! Kiểm tra tính nguyên tố số nguyên dương !!!! Sắp xếp trao đổi
(10)BÀI TỐN TÌM NGHIỆM CỦA PHƯƠNG TRÌNH BẬC HAI ax2 + bx = c (a ≠ 0)
THUẬT TOÁN
B1: Nhập a, b, c;
B2: Tính = b2 – 4ac;
B3: Nếu < PT vô nghiệm B6;
B4: Nếu = PT có nghiệm kép x = -b/2a B6;
B5: Nếu > PT có hai nghiệm x1, x2 = (-b )/2a B6;
Cách : Liệt kê bước
(11)BÀI TỐN TÌM NGHIỆM CỦA PHƯƠNG TRÌNH BẬC HAI ax2 + bx = c (a ≠ 0)
THUẬT TOÁN
Cách : Vẽ sơ đồ khối Qui ước vẽ sơ đồ khối
§K
Dùng để nhập xuất liệu Dùng để gán giá trị tính tốn
Xét điều kiện rẽ nhánh theo hai điều kiện đúng, sai.
(12)NhËp vµo a, b, c
= b2 - 4ac
< 0 PT v« nghiƯm
= 0 PT cã nghiƯm x= - b/2a KT
®
PT cã nghiÖm x1,x2 = ( -b )/2a
B1
B2
B3
B4
B5
s
®
BÀI TỐN TÌM NGHIỆM CỦA PHƯƠNG TRÌNH BẬC HAI ax2 + bx = c (a ≠ 0)
SƠ ĐỒ THUẬT TOÁN
B6
(13)BÀI TỐN TÌM NGHIỆM CỦA PHƯƠNG TRÌNH BẬC HAI ax2 + bx = c (a ≠ 0)
MÔ PHỎNG THUẬT TOÁN
a,b,c = 1, 3,
PT v« nghiƯm
= 0 PT cã nghiÖm x = -b/2a KT
S
PT cã nghiÖm x1, x2 = (-b )/2a
§
S
b*b4*a*c nhËp vµo a,b,c
Bộ test
a b c
(14)BÀI TỐN TÌM NGHIỆM CỦA PHƯƠNG TRÌNH BẬC HAI ax2 + bx = c (a ≠ 0)
MƠ PHỎNG THUẬT TỐN
a,b,c = 1, 2,
PT v« nghiƯm
PT cã nghiƯm x = -b/2a KT
S
PT cã nghiÖm x1, x2 = (-b )/2a
§
S
b*b4*a*c nhËp vµo a,b,c
Bộ test
a b c
1 2 1 0
§
PT cã nghiƯm kÐp x=-1
(15)BÀI TỐN TÌM NGHIỆM CỦA PHƯƠNG TRÌNH BẬC HAI ax2 + bx = c (a ≠ 0)
MƠ PHỎNG THUẬT TỐN
Bộ test
a b c
1 - 5 6 1
a,b,c= -5
PT v« nghiƯm
PT cã nghiƯm x=-b/2a KT
S
PT cã nghiÖm x1, x2 = (-b )/2a
§
S
b*b4*a*c nhËp vào a,b,c
Đ
(16)
Quả lớn
Quả lớn
nhất ?
Ồ ! Quả lớn
hơn
Tìm lớn
THUẬT TỐN TÌM MAX
(17)TÌM GIÁ TRỊ LỚN NHẤT CỦA MỘT DÃY SỐ NGUYÊN
@ Xác định toán
* INPUT : Số nguyên dương N dãy N số nguyên a1, … ,aN
* OUTPUT : giá trị lớn Max dãy số
@ Ý tưởng
* Đặt giá trị Max = a1
(18)THUẬT TOÁN
B1: Nhập N dãy a1, … , aN;
B2: Max a1, i 2;
B3: Nếu i > N thì đưa giá trị Max kết thúc; B4:
* B4.1 : Nếu ai > Max Max ai; * B4.2 : i i + quay lại bước 3;
Cách : Liệt kê bước
(19)§ S
§ S
Nhập N dãy a1,…,aN
Max a1 ; i
i > N ?
ai > Max ?
Max ai
i i +
Đưa Max kết thúc
B1: Nhập N dãy a1,…,aN;
B2: Max a1; i 2;
B3: Nếu i > N đưa giá trị Max kết thúc;
B4 :
4.1: ai > Max Max ai; 4.2: i i + quay lại B3
SƠ ĐỒ THUẬT TOÁN
(20)§ S
§ S
Nhập N dãy a1,…,aN
Max a1 ; i
I > N ?
ai> Max ?
Max ai
i i+1
Đưa Max kết thúc
Max Max i i A A 7 7 7 7 5 5 5 5 5 5 5 5 4 4 3 3 2 2 6 6 7 7 4 4 1 1 5 5
N=5 ; A [ ]
Max ; i
2 > ?
1> ?
i 2+1 > ?
4> ?
i 3+1 > ?
7 > ?
Max 7
4
4
i 4+1 > ?
6 > ?
i 5+1
6 > ? Số lớn dãy Khi i = Khi i = Khi i = 4Khi i =
MƠ PHỎNG THUẬT TỐN
(21)§ S
§ S
Nhập N dãy a1,…,aN
Max a1 ; i
I > N ?
ai> Max ?
Max ai
i i+1
Đưa Max kết thúc
Max Max i i A A 7 7 7 7 5 5 5 5 5 5 5 5 4 4 3 3 2 2 6 6 7 7 4 4 1 1 5 5
N=5 ; A [ ]
Max ; i
2 > ?
1> ?
i 2+1 > ?
4> ?
i 3+1 > ?
7 > ?
Max 7
4
4
i 4+1 > ?
6 > ?
i 5+1
6 > ? Số lớn dãy Khi i = Khi i = Khi i = 4Khi i =
MƠ PHỎNG THUẬT TỐN