III. HOẠT ĐỘNG DẠY HỌC: 1.Ổn định: (1')
b) Theo sơ đồ khối:(SGK)
Ví dụ 2: Bài toán sắp xếp
- Cho dãy A gồm N số nguyên a1,…, aN. Cần sắp xếp các số hạng để dãy A trở thành dãy không giảm. - Thuậ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 a1,…, aN
- Output: Dãy A được sắp xếp lại thành dãy không giảm.
10'
5'
5'
5'
lặp lại, cho đến khi không có sự đổi chỗ nào xãy ra nữa.
- Mô phỏng việc thuật toán với dãy: 6 1 5 3 7 8 10 7 12 4.
- Theo em bước 1 ta phải làm gì?
- Theo em tại sao khi M < 2 thì đưa ra dãy A đã được sắp xếp?
- Theo em tại sao hết bước 8 lại quay lại bước 5?
- Các em về xem cách vẽ sơ đồ khối của thuật toán trong SGK.
- Bài toán tìm kiếm là công việc thường xãy ra trong cuộc sống. Em nào có thể cho một ví dụ? - Gọi HS đọc bài toán tổng quát tổng quát trong SGK. nhau. - HS quan sát và lắng nghe - HS trả lời: Nhập các số hạng a1,…, aN - HS trả lời: dãy số chỉ có 1 số hạng nên không cần sắp xếp. - HS trả lời: bước 5 là điều kiện dừng của thuật toán. - HS trả lời: tìm 1 cuốn sách trên một giá sách, tìm một HS trong danh sách lớp… - HS đọc SGK. • Thuật toán: a) Cách liệt kê: Bước 1: Nhập N, các số hạng a1,…, aN; Bước 2: M←N;
Bước 3: Nếu M < 2 thì đưa ra dãy A đã được sắp xếp rồi kết thúc;
Bước 4: M←M -1, i←0;
Bước 5: i←i+1;
Bước 6: Nếu i >M thì quay lại
bước 3;
Bước7: Nếu ai >ai+1 thì tráo đổi ai và ai+1cho nhau;
Bước 8: Quay lại bước 5;
b) Theo sơ đồ khối: (SGK)
Ví dụ 3: Bài toán tìm kiếm
- Cho dãy A 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ố đó.
* Thuật toán tìm kiếm tuần tự:
10'
10'
5'
5'
- Xác định Input và Output của bài toán?
- GoÏi HS bổ sung
- Trình bày ý tưởng.
- Mô phỏng việc thực hiện thuật toán với k = 2, N = 10 và dãy A: 5 7 1 4 2 9 8 11 25 51.
- Theo em bước 1 ta phải là gì?
- Em hãy cho biết ý nghĩa của bước 4
- Theo em tại sao phải quay lại bước 3
- Các em về xem cách vẽ sơ đồ khối của thuật toán trong SGK.
- HS trả lời: Input là dãy A gồm N số nguyên khác nhau a1,…, aN - HS bổ sung: Input là dãy A gồm N số nguyên khác nhau a1,…, aN và số nguyên k… - HS trả lời: tìm kiếm tuần tự thực hiện một cách tự nhiên các số hạng của dãy so sánh với khoá k cho đến khi hoặc gặp một số hạng bằng khoá hoặc dãy đã được xét hết và không có giá trị nào bằng khoá.
- HS trả lời: các số hạng a1,…, aN và khoá k
- HS trả lời: tăng biến i lên một đơn vị.
- HS trả lời: bước 3 là điều kiện dừng của thuật toán.
- Input: Dãy A gồm N số nguyên khác nhau a1,…, aN và số nguyên 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. • Thuật toán: a) Cách liệt kê: Bước1: Nhập N, các số hạng a1,…, 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.