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.. 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
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.
42.5 Đỗ
33.5 Đỗ 22
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
Bài 4 Bài toán và thuật Toán
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 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 73 Một số ví dụ về thuật toán
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
Trang 9B1 B2 B3 B4
Trang 10c b
a
S
PT cã 2 nghiÖm x1, x2 = (-b ±√∆ )/2a
Trang 11c b
a
S
PT cã 2 nghiÖm x1, x2 = (-b ±√∆ )/2a
Trang 12c 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
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!
Cïng t×m thuËt to¸n
MAX
Trang 15ThuËt to¸n t×m sè lín nhÊt trong
Trang 16ý tưởng:
- Lần lượt cho i chạy từ 2 đến N, so sánh
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
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
Các em hãy nêu
định nghĩa số nguyên tố
- 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ố
Trang 23Trườ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 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
OUTPUT: Dãy A được sắp xếp thành dãy không giảm.
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ù
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 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.