Hãy xác định thông tin đ a vào Input và thông tin cần lấy ra Output Input: SBD, Họ và tên, Văn, Toán, Lí, Anh.. Khái niệm bài toán Là việc nào đó ta muốn máy thực hiện để từ thông tin
Trang 1Hãy xác định thông tin đ a vào (Input)
và thông tin cần lấy ra (Output)
Input: SBD, Họ và tên, Văn, Toán, Lí, Anh.
Output: Tổng điểm, Kết quả thi của học sinh.
Trang 2Ví dụ 2: Giải ph ơng trình bậc nhất ax + b = 0
Yêu cầu :
Hãy xác định thông tin đ a vào (Input)
và thông tin cần lấy ra (Output)
Input: Các hệ số a, b.
Output: Nghiệm của ph ơng trình.
Với a = 1, b = -5
Ph ơng trình có nghiệm x = 5
Trang 31 Khái niệm bài toán
Là việc nào đó ta muốn máy thực hiện để từ thông tin đ a vào (INPUT) tìm đ ợc thông tin ra (OUTPUT)
Ví dụ 3: Tìm ớc số chung lớn nhất của hai số nguyên d ơng.
INPUT: Hai số nguyên d ơng M và N.
OUTPUT: ước số chung lớn nhất của M và N.
Ví dụ 4: Bài toán xếp loại học tập của một lớp.
INPUT: Bảng điểm của học sinh trong lớp.
OUTPUT: Bảng xếp loại học lực của học sinh
Trang 42 Khái niệm thuật toán
Từ Input làm thế nào để tìm
ra Output ?
Các em cần tìm
ra cách giải của bài toán.
Trang 5Xét ví dụ 2: Giải ph ơng trình bậc nh t ấ ax + b = 0.
B1: Xác định hệ số a, b;
B2: Nếu a=0 và b=0 → Ph ơng trình vô số nghiệm → B5;
B3: Nếu a=0 và b≠0 → Ph ơng trình vô nghiệm → B5;
B4: Nếu a≠0 → Ph ơng trình có nghiệm x=-b/a → B5;
B5: Kết thúc.
Trang 6Thuậ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 nhận đ ợc Output cần tìm.
Có hai cách thể hiện một thuật toán:
Cách 1: Liệt kê các b ớc
Cách 2: Vẽ sơ đồ khối.
Trang 7B5: NÕu ∆ = 0 → PT cã nghiÖm kÐp x = -b/2a → B7;
B6: NÕu ∆ > 0 → PT cã hai nghiÖm x1, x2 = (-b±√∆)/2a
→ B7;
3 Mét sè vÝ dô vÒ thuËt to¸n
ThuËt to¸n gi¶i ph ¬ng tr×nh bËc hai (a ≠ 0) C¸ch 1: LiÖt kª c¸c b íc
Trang 8Quy ớc các khối trong sơ đồ thuật toán
Bắt đầu thuật toán
KTCách 2: Vẽ sơ đồ khối
Trang 9Sơ đồ thuật toán giải ph ơng trình bậc hai
B1 B2
B3 B4
B5
B6
đ
B7
Trang 10M« pháng thuËt to¸n gi¶i ph ¬ng tr×nh bËc hai
1
c b
a
S
PT cã 2 nghiÖm x1, x2 = (-b ±√∆ )/2a
§
S
∆ = b*b − 4*a*c nhËp vµo a,b,c
∆ < 0
Bé TEST 1:
PT v« nghiÖm
Trang 11M« pháng thuËt to¸n gi¶i ph ¬ng tr×nh bËc hai
S S
1
c b
a
PT cã 2 nghiÖm x1, x2 = (-b ±√∆ )/2a
Trang 12c b
a
S
PT cã 2 nghiÖm x1, x2 = (-b ±√∆ )/2a
§
∆ = b*b − 4*a*c nhËp vµo a,b,c
Trang 13Thuật toán tìm max
3
Ng ời ta đặt 5 quả bóng có kích th ớc khác nhau trong hộp đã đ ợc đậy nắp nh hình bên Chỉ dùng tay hãy tìm ra quả bóng có kích th ớc lớn nhất
Trang 14Qu¶ nµy
lín nhÊt
Qu¶ nµy míi lín nhÊt
å! Qu¶ nµy lín h¬n
T×m ra qu¶ lín nhÊt råi!
MAX
Cïng t×m thuËt to¸n
Trang 15ThuËt to¸n t×m sè lín nhÊt trong
Trang 16ý t ởng:
- Đặt giá trị Max = a1.
- Lần l ợt cho i chạy từ 2 đến N, so sánh giá trị ai với giá trị Max, nếu ai > Max thì Max nhận giá trị mới là ai.
Trang 17B íc 4.1: NÕu ai > Max th× Max ← ai;
B íc 4.2: i ← i+1 råi quay l¹i B3.
Trang 18Đ S
Đ S
B3: Nếu i > N thì đ a ra giá trị Max rồi kết thúc;
B4 :
4.1: Nếu a i > Max thì Max ← a i ;
4.2: i ← i + 1 rồi quay lại B3.
Cách 2: Sơ đồ khối
Trang 19§ S
§ S
5
5 4
3 2
6 7
4 1
Víi i = 2
Max ← 5 ; i ← 2
Víi i = 5
Trang 20§ S
§ S
5
5 4
3 2
6 7
4 1
Trang 21ThuËt to¸n kiÓm tra tÝnh nguyªn tè cña mét
Trang 22ý t ởng: Xét các tr ờng hợp
- Nếu N ≥ 4 và không có ớc số trong phạm vi từ 2 đến phần nguyên căn bậc hai của N thì N là số nguyên tố
- Nếu N = 1 thì N không là số nguyên tố.
- Nếu 1< N <4 thì N là số nguyên tố
Các em hãy nêu
định nghĩa số nguyên tố.
Trang 233 2
nguyªn tè.
29 lµ sè nguyªn tè.
Tr êng hîp 2: N = 29 ([ √ 29 ] = 5)
Tr êng hîp 1: N = 45 ([ √ 45 ] = 6)
M« pháng thuËt to¸n kiÓm tra tÝnh nguyªn tè
Trang 24C¸ch 1: LiÖt kª c¸c b íc
B1: NhËp sè nguyªn d ¬ng N;
B2: NÕu N = 1 th«ng b¸o N kh«ng nguyªn tè, kÕt thóc; B3: NÕu N < 4 th«ng b¸o N lµ nguyªn tè råi kÕt thóc; B4: i ←2;
B5: NÕu i > [√N ] th× th«ng b¸o N lµ nguyªn tè, kÕt thóc;
B6: NÕu N chia hÕt cho i th× th«ng b¸o N kh«ng nguyªn
tè råi kÕt thóc;
B7: i ← i +1 råi quay l¹i B5.
Trang 25i ?
i ← i +1
Thông báo N là số nguyên tố rồi kết
Đ
S S
Đ
Vẽ sơ đồ khối
Trang 26Thuật toán sắp xếp
Hãy tìm cách sắp xếp học sinh đứng chào cờ (hình a) theo thứ tự thấp tr ớc cao sau (hình b).
Trang 27Thuật toán sắp xếp bằng tráo đổi
Xác định bài toán:
INPUT: Dãy A gồm N số nguyên a 1 , a 2 , , a… N
Trang 28ý t ởng:
Với mỗi cặp số hạng đứng liền kề trong dãy, nếu số tr
ớc lớn hơn số sau ta đổi vị trí chúng cho nhau Việc
đó đ ợc lặp lại cho đến khi không có sự đổi chỗ nào xảy ra nữa
Trang 29 Víi N = 6 vµ d·y A gåm 6 sè h¹ng nh sau :
Trang 30B6: Nếu i > M thì quay lại B3;
B7: Nếu a i > a i+1 thì tráo đổi a i và a i+1 cho nhau;
B8: Quay lại B5.
Trang 32Thuật toán tìm kiếm
Hai bạn chó (Bi và Bông) chơi trốn tìm, Bông đã trốn vào một trong những chiếc mũ của ông già Nôen trên Hãy chỉ ra các cách tìm chiếc mũ mà Bông đang trốn? Cho biết có những cách nào?
Bông trốn
đâu nhỉ ?
C1: Tìm kiếm tuần tự ( mở từng mũ)
C2: Do các mũ đã sắp xếp lớn dần, hai mũ đầu nhỏ hơn
ng ời của Bông nên chỉ tìm hai
mũ sau thôi!
Trang 33ThuËt to¸n t×m kiÕm tuÇn tù
Trang 345 4
3 2
1 I
51 25
11 8
9 2
4 1
7 5
A
M« pháng thuËt to¸n t×m kiÕm tuÇn tù
Víi k = 2 vµ d·y A gåm 10 sè h¹ng nh sau:
Trang 35ýưt ởng:
Lần l ợt từ số hạng thứ nhất, ta so sánh giá trị số hạng đang xét với khoá (k) cho đến khi có sự trùng nhau, nếu đã xét tới số hạng cuối cùng mà không có sự trùng nhau thì có nghĩa là dãy A không có số hạng nào có giá trị bằng k
Trang 36B íc 5: NÕu i > N th× th«ng b¸o d·y A kh«ng cã sè
h¹ng nµo cã gi¸ trÞ b»ng k, råi kÕt thóc;
B íc 6: Quay l¹i B3.
Trang 37§ S
Trang 38Thuật toán tìm kiếm nhị phân
ý t ởng:
Sử dụng tính chất dãy A đã sắp xếp tăng, ta tìm cách thu hẹp nhanh phạm vi tìm kiếm bằng cách so sánh k với số hạng ở giữa dãy (a giữa ), khi đó chỉ xảy ra một trong ba tr ờng hợp:
Trang 39M« pháng thuËt to¸n t×m kiÕm nhÞ ph©n
10 9
8 7
6 5
4 3
2 1
i
33 31
30 22
21 9
6 5
4 2
30 22
6
21
Trang 40LiÖt kª c¸c b íc
B íc 1: NhËp N, c¸c sè h¹ng a 1 , a 2 , , a , , a…… N
vµ gi¸ trÞ kho¸ k;
B íc 2: §Çu ← 1, Cuèi ← N;
B íc 3: Gi÷a ← [(§Çu + Cuèi)/2];
B íc 4: NÕu a Gi÷a = k th× th«ng b¸o chØ sè Gi÷a
Trang 411 Khái niệm bài toán
Bài toán và thuật Toán
2 Khái niệm thuật toán
Thuật toán giải ph ơng trình bậc hai (a ≠ 0) Thuật toán tìm Max của một dãy số.
Thuật toán kiểm tra tính nguyên tố của một
số nguyên d ơng.
Thuật toán sắp xếp bằng tráo đổi.
Thuật toán tìm kiếm tuần tự và nhị phân.