III. HOẠT ĐỘNG DẠY HỌC
4 BÀI TOÁN VÀ THUẬT TOÁN I MỤC TIÊU (Tiết 14)
I. MỤC TIÊU (Tiết 14)
1. Kiến thức:
− Hiểu được khái niệm thuật toán là cách giải bài toán mà về nguyên tắc có thể giao cho máy tính thực hiện.
− Hiểu và thực hiện được một số thuật toán đơn giản trong SGK như kiểm tra tính nguyên tố của một số nguyên dương, bài toán sắp xếp.
2. Kỹ năng:
− Chỉ ra được Input và Output của một số bài toán đưa ra.
− Xây dựng thuật toán cho một số bài toán đơn giản: Bài toán sắp xếp, Bài toán tìm kiếm tuần tự
3. Thái độ
− Các kiến thức trên góp phần phát triển khả năng tư duy khi giải quyết các vấn đề trong khoa học cũng như trong cuộc sống
− Nghiêm túc trong học tập để tìm hiểu phương pháp giải bài toán trong tin học từ dễ đến khó.
II. ĐỒ DÙNG DẠY HỌC
1. Chuẩn bị của Giáo viên: Giáo án, sách giáo viên, đề cương bài giảng.
III. HOẠT ĐỘNG DẠY- HỌC
1. Ổn định tổ chức:
− Kiểm tra sỹ số.
2. Bài cũ:
? Sử dụng phương pháp sơ đồ khối xây dựng thuật toán giải bài toán: Kiểm tra tính nguyên tố của 1 số nguyên dương
3. Bài mới:
Hoạt động của giáo viên Hoạt động của học sinh
3. Ví dụ về thuật toán
Hôm trước chúng ta đã xây dựng thuật toán cho bài toán tìm kiếm tuần tự. Hôm nay chúng ra tiếp tục xây dựng thuật toán cho bài toán tìm kiếm nhị phân:
Bài toán tìm kiếm
Cho dãy A gồm N số nguyên a1, a2, ... , aN đã được sắp xếp không giảm 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ố đó.
- Số nguyên k được gọi là khóa tìm kiếm.
Thuật toán tìm kiếm nhị phân
? Hãy xác định Input và Output của bài toán?
- Xác định bài toán:
- Ý tưởng giải thuật:
+ Chọn agiữa ở giữa dãy số để so sánh với k. giữa = +2
1N N
* Nếu agiữa = k thì giữa là chỉ số cần tìm.
* Nếu agiữa>k thì ta chỉ xét khoảng a1, a2, ..., agiữa-1
* Nếu agiữa<k thì ta chỉ xét khoảng ag, ag+1, ..., aN
+ Quá trình này lặp cho đến khi tìm được khóa k hoặc thông báo không có.
- Thuật toán:
+ Phương pháp liệt kê:
Bước 1: Nhập N, các số hạng a1, a2, a3, ..., aN và khóa k; Bước 2: d ←1, c ← N; Bước 3: g ← +2 1 N ;
Bước 4: Nếu ag = k thì thông báo g rồi kết thúc;
Bước 5: Nếu ag > k thì c ← g – 1 rồi chuyển sang
Bước 7;
Bước 6: d ← g + 1;
Bước 7:Nếu d > g 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 8: Quay lại bước 3;
HS nghe giảng, ghi chép.
HS lên bảng xác định:
+ Input: Dãy A gồm N số nguyên khác nhau a1, a2, ... , aN không giảm và 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 có giá trị bằng k.
HS ghi chép, nghe giảng
Nhập N, dáy số a1, a2,a3, ..., aNvà k Đưa ra k Rồi kết thúc ag = k ai>ai+1 ? i > M? g ← (d + c)/2 sai Đúng sai Đúng d ← 1, c ← N d←g+1 Đúng sai c ←g -1
Thông báo không có k trong dãy rồi kết thúc
GV yêu cầu HS về nhà xây dựng thuật toán bằng phương pháp sơ đồ khối
IV. CỦNG CỐ, ĐÁNH GIÁ CUỐI BÀI
− Muốn giải một bài toán, trước tiên phải xác định được Input và Output của bài toán: + Input: thông tin đưa vào máy.
+ Output: Thông tin muốn lấy từ máy.
− Học sinh về nhà tiếp tục nghiên cứu phần ví dụ và các phần tiếp thep của bài học.
− Nhắc họcsinh về nhà làm bài tập để tiết sau chữa bài tập tại lớp.
Tiết: 15 BÀI TẬP
I. MỤC TIÊU
1.Kiến thức:
− Xác định được bài toán, viết được các thuật toán.
2. Kỹ năng:
− Xây dựng được các bài toán đơn giản, các bài toán trong SGK.
3. Thái độ:
− Phát triển tư duy giải các bài toán khác ở các môn học và làm việc theo thuật toán trong các môn học cũng như trong thực tế.