V. Rút kinh nghiệm sau bài giảng:
4- bài toán và thuỊt toán
(Tieõt thửự 5)
I. MỤC TIÍU:1. Kiến thức: 1. Kiến thức:
- HS hiểu đúng khái niệm bài toán và thuỊt toán;
- HS cèn hiểu và thực hiện đợc mĩt sỉ thuỊt toán đơn giản ị mục 3 trong SGK;
2. Kỹ năng: - HS xây dựng đợc thuỊt toán cho mĩt sỉ bài toán đơn giản. Qua đờ hình thành mĩt kĩ năng chuỈn bị tiếp thu việc hục ngôn ngữ lỊp trình: Cách dùng biến, khịi tạo biến giá trị biến. năng chuỈn bị tiếp thu việc hục ngôn ngữ lỊp trình: Cách dùng biến, khịi tạo biến giá trị biến.
3. Thõi độ: Học sinh nhận thức được cõc thănh phần như:KN bài toán và thuỊt toán, Input và output.
II. ĐỒ DÙNG DẠY HỌC:
1. Chuẩn bị của giõo viớn: - Phiếu học tập, mõy chiếu, bỡa trong, bỳt dạ.
2. Chuẩn bị của học sinh. - SGK
III. HOẠT ĐỘNG DẠY HỌC.
Hoạt động 1: Thảo luỊn (VD3) Bài toán tìm kiếm (20 )’
Nĩi dung Hoạt đĩng của GV và HS
* Kiểm tra bài cũ: GV: Gụi hục sinh lên bảng
Câu hõi: Em hãy viết thuỊt toán bài toán Sắp xếp dãy gơm N sỉ nguyên a1, ..., aN thành dãy không tăng?
GV: Nhắc lại cả lớp nhớ thế nào là dãy không tăng.
HS: Lên bảng và trả lới câu hõi. GV: Đánh giá nhỊn xét và cho điểm.
Ví dụ 3: Bài toán tìm kiếm
Bài toán 1: Cho dãy gơm N sỉ nguyên khác nhau a1, ..., aN và mĩt sỉ nguyên k. Cèn biết cờ hay không chỉ sỉ i (1≤ i≤
N) mà ai=k. Nếu cờ hãy cho biết chỉ sỉ i.
GV: LÍy ví dụ.
HS: NhỊn xét và cho biết chỉ sỉ i?
ThuỊt toán tìm kiếm tuèn tự (Sequention sort)
GV: Giải thích vì sao lại gụi tên thuỊt toán nh vỊy.
• Xác định bài toán
- Input: Dãy A gơm N sỉ nguyên a1, a-
2,..., aN và khoá k;
GV: Cho HS xác định bài toán.
- Output: Chỉ sỉ i mà ai = k hoƯc thông báo không cờ sỉ hạng nào của A cờ giá trị bằng K.
• ý tịng:
GV: Gợi ý để HS nêu đợc thuỊt toán. HS: Nêu thuỊt toán.
GV: Chỉ dĨn cho HS từ dạng 1 chuyển sang dạng 2.
Dạng 1: Liệt kê Dạng 2: Sơ đơ khỉi
Bớc 1: NhỊp N, các sỉ hạng a1, a2,..., aN
và khoá k;
Bớc 2: i 1;
Bớc 3:Nếu ai = k thì thông báo chỉ sỉ i, rơi kết thúc;
Bớc 4:i i + 1;
Bớ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 bớc 3.
Ghi chú
Trong thuỊt toán trên, i là biến chỉ sỉ
các sỉ hạng của dãy và nhỊn giá trị nguyên lèn lợt từ 1 đến N + 1.
Dới đây là ví dụ mô phõng các bớc thực hiện của thuỊt toán trên.
k = 21 và N = 10 k = 6 và N = 10
A 5 7 1 4 2 9 8 11 25 51 A 5 7 1 4 2 9 8 11 25 51i 1 2 3 4 5 - - - - - i 1 2 3 4 5 6 7 8 9 10 11 i 1 2 3 4 5 - - - - - i 1 2 3 4 5 6 7 8 9 10 11
Với i = 5 thì a5 = 2. Với mụi i từ 1 đến 10 không cờ ai
cờ giá trị bằng 6.
Bài toán 2:
Bài toán: Giỉng bài toán 1 nhng dãy A đã đợc sắp xếp.
GV: Các em hãy lÍy ví dụ để minh hoạ? HS: LÍy ví dụ.
• Xác định bài toán
- Input: Dãy A gơm N sỉ nguyên a1, a-
2,..., aN và khoá k;
- Output: Chỉ sỉ i mà ai = k hoƯc thông báo không cờ sỉ hạng nào của dãy A cờ giá trị bằng k.
GV: Cho HS xác định bài toán.
• ý tịng: GV: Em hãy nêu ý tịng của bài toán?
HS: Nêu ý tịng. GV: NhỊn xét.
a) Cách liệt kê
Bớc 1. NhỊp N, các sỉ hạng a1, a2,..., aN
và khoá k;
b). Dạng sơ đơ khỉi:
HS tự chuyển Sai i ← 1 NhỊp N và a1, a2,..., aN; k i←i + 1 ai = k i > N? Đưa ra i rơi kết thúc
Thông báo dãy A không cờ sỉ hạng cờ giá trị bằng k rơi kết thúc
Đúng
Đúng Sai
Bớc 2. Dau ← 1, Cuoi ← N;
Bớc 3. Giua ← Dau Cuoi+2 ;
Bớc 4. Nếu aGiua = k thì thông báo chỉ sỉ
Giua, rơi kết thúc;
Bớc 5. Nếu aGiua > k thì đƯt Cuoi = Giua 1
– rơi chuyển đến bớc 7;
Bớc 6. Dau ← Giua + 1;
Bớc 7. Nếu Dau > Cuoi thì thông báo dãy A không cờ sỉ hạng cờ giá trị bằng k, rơi kết thúc;
Bớc 8. Quay lại bớc 3.
Ghi chú: Tuỳ thuĩc aGiua > k hoƯc aGiua
< k mà chỉ sỉ đèu hoƯc chỉ sỉ cuỉi của dãy ị bớc tìm kiếm tiếp theo sẽ thay đưi. Để thực hiện điều đờ, trong thuỊt toán chỉ sử dụng các biến nguyên tơng ứng Dau và Cuoi cờ giá trị khịi tạo Dau = 1 và Cuoi = N.
Ví dụ: Dới đây là ví dụ mô phõng các bớc thực hiện thuỊt toán trên.
k = 21, N =10 k = 25, N =10i 1 2 3 4 5 6 7 8 9 10 i 1 2 3 4 5 6 7 8 9 10 i 1 2 3 4 5 6 7 8 9 10 i 1 2 3 4 5 6 7 8 9 10 A 2 4 5 6 9 21 22 30 31 33 A 2 4 5 6 9 21 22 30 31 33 Dau 1 6 6 Dau 1 6 6 7 8 Cuoi 10 10 7 Cuoi 10 10 7 7 7 Giua 5 8 6 Giua 5 8 6 7 aGiua 9 30 21 aGiua 9 30 21 22 Lợt 0 1 2 Lợt 0 1 2 3 4
ị lợt thứ hai thì aGiua = k. VỊy chỉ sỉ cèn tìm là i = Giua = 6.
Tại lợt thứ t Dau > Cuoi nên kết luỊn trong dãy A không cờ sỉ
hạng nào cờ giá trị là 25 cả.
III. Củng cỉ:
- Trong 2 thuỊt toán trên thuỊt toán nào tỉi u hơn, vì sao?.
IV. Bài tỊp về nhà:
- GV hớng dĨn HS làm bài tỊp 3, 4, 5 SGK trang 44.
- Hớng dĨn HS viết thuỊt toán giải bài toán: Tìm 10 sỉ nguyên dơng đèu tiên biết các sỉ này chia cho 2, 3, 4, 5, 6 d 1 và chia hết cho 7.
Ví dụ: Sỉ đèu tiên là 301.
Ngaứy soỏn: / /200... Ngaứy dỏy:…………. Tieõt: 15 Tuaăn: IX. X. Luyện tỊp I. MỤC TIÍU: 1. Kiến thức:
- Củng cỉ những nĩi dung đã đạt đợc ị tiết trớc;- Biết xác định input và output ;