Nội dung bài mớiMenu I.. TIẾT 13: BÀI TOÁN VÀ THUẬT TOÁN T5Bài toán tìm kiếm … Tổng quát : Tìm và chỉ ra vị trí nếu có của một đối tượng cụ thể nào đó trong một dãy các đối tượng đã cho
Trang 1II Nội dung bài mới
Menu
I Kiểm tra bài củ
Ví dụ 3:
Bài toán tìm kiếm
Ví dụ 3:
Bài toán tìm kiếm
III Còng cè
III Còng cè
………….
Trang 2I Kiểm tra bài cũ
Câu 1: Hãy mô phỏng việc thực hiện thuật toán sắp xếp bằng tráo đổi với dãy ban đầu như sau:
5 1
7 8
4 2
TIẾT 13: BÀI TOÁN VÀ THUẬT TOÁN (T5)
Trang 35 1
7 8
4
2
8 5
1 7
4
2
8 7
5 1
4
2
8 7
5 4
1
2
8 7
5 4
2
1
8 7
5 4
2
1
Mô phỏng thực hiện thuật toán
Lượt thứ nhất
Lượt thứ hai
Lượt thứ ba
Lượt thứ tư
Lượt thứ năm
Trang 4TIẾT 13: BÀI TOÁN VÀ THUẬT TOÁN (T5)
Bài toán tìm kiếm
… Tổng quát : Tìm và chỉ ra vị trí (nếu có) của một đối tượng
cụ thể nào đó trong một dãy các đối tượng đã cho.
Ví dụ 3 :
Tìm kiếm là một thao tác thường gặp trong cuộc sống :
- Tìm một học sinh trong danh sách một lớp học
- Tìm một quyển sách trên kệ sách
Thuật toán tìm kiếm tuần tự
Trang 51 2 3 4
Trang 63.1 TÌM KIẾM TUẦN TỰ:
Bài toán: Cho dãy A gồm N số nguyên khác nhau từ a1…aN và số nguyên k Tìm xem có hay không chỉ số i
(1<i<N) mà ai=k Nếu có hãy cho biết chỉ số đó?
- Với k = 7, trong dãy trên có a3 =k Vậy chỉ số cần
tìm là i = 3
- Với k = 6 thì không có số hạng nào của dãy A có
giá trị bằng k
9 3
7 8
4
A
5 4
3 2
1 i
Ví dụ:
3
TIẾT 13: BÀI TOÁN VÀ THUẬT TOÁN (T5)
Trang 7Bài toỏn: Cho dóy A gồm N số nguyờn khỏc nhau từ a1…aN và số nguyờn k Tỡm xem cú hay khụng chỉ số i
(1<i<N) mà ai=k Nếu cú hóy cho biết chỉ số đú?
Xỏc định Input, Output của bài
toỏn?
1 Xác định bài toán:
INPUT: Số nguyên d ơng N và dãy N số nguyên a1, a2, , aN v số nguyên k à
OUTPUT: Vị trớ i mà ai = k
hoặc thụng bỏo khụng tỡm thấy k trong dóy TIẾT 13: BÀI TOÁN VÀ THUẬT TOÁN (T5)
3.1 TèM KIẾM TUẦN TỰ:
Trang 8Hóy nờu ý tưởng thuật toỏn?
2 í tưởng thuật toỏn:
- Bắt đầu từ số hạng thứ nhất, ta lần l ợt so sánh giá trị
số hạng đang xét với khoá (k) cho đến khi có sự trùng nhau thì dừng lại và đ a ra vị trí mà có ai=k;
- 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
TIẾT 13: BÀI TOÁN VÀ THUẬT TOÁN (T5)
3.1 TèM KIẾM TUẦN TỰ:
Trang 95 i
51 25
11 8
9 2
4 1
7 5
A
5
- Với k = 2 Tại vị trí i = 5 có a5 = 2 = k
5 4
3 2
4 3
2 1
i
51 25
11 8
9 2
4 1
7 5
A
2
- Với k = 6 Không tìm thấy k = 6 trên dãy
11
6
Trang 103 Thuật toán
Cách 1: Thuật toán dưới dạng liệt kê các bước
B1: Bắt đầu
B2: Nhập N, các số hạng a1, a2, , aN và khoá k;
B3: i 1;
B4: Nếu ai=k thì thông báo chỉ số i, rồi qua B8; B5: i i+1;
B6: Nếu i>N thì thông báo không tìm thấy, rồi qua B8;
B7: Quay lại B4;
B8: Kết thúc.
TIẾT 13: BÀI TOÁN VÀ THUẬT TOÁN (T5)
3.1 TÌM KIẾM TUẦN TỰ:
Trang 113 Thuật toán
Cách 2: Thuật toán dưới dạng sơ đồ khối:
TIẾT 13: BÀI TOÁN VÀ THUẬT TOÁN (T5)
3.1 TÌM KIẾM TUẦN TỰ:
Trang 12SƠ ĐỒ KHỐI
BD
NhËp N, a 1 , a 2 , , a N vµ k
i ← 1
a i =
k ?
§ a ra chØ sè i
§
S
§
i ←i + 1
i >
N ?
S
B2 B3 B4
B5
B6
B1
B7
Trang 13III Cũng cố:
- Ý tưởng, giải thuật liệt kê, sơ đồ khối của thuật toán tìm kiếm tuần tự.
Cần nắm:
Bài tập về nhà:
- Làm các bài tập trong SGK trang 44
- Ôn tập lại tất cả các kiến thức đã học
TIẾT 13: BÀI TOÁN VÀ THUẬT TOÁN (T5)