Giáo án tin học lớp 10, tuần 7 và 8 bài số 4: bài toán và thuật toán, tiết 13: thuật toán tìm kiếm tuần tự; tiết 14, 15: bài tập về bài toán và thuật toán theo phân phối chương trình năm 2016 2017.
Trang 1Bài 4 BÀI TOÁN VÀ THUẬT TOÁN
1 Mục tiêu:
a Kiến thức:
−Biết khái niệm bài toán và thuật toán, các đặc trưng chính của thuật toán
−Biết một số thuật toán thông dụng
−Biết cách biểu diễn thuật toán bằng ngôn ngữ liệt kê (dùng ngôn ngữ tự nhiên)
−Biết cách biểu diễn thuật toán bằng sơ đồ khối
b Kỹ năng:
−Mô tả được thuật toán giải một số bài toán đơn giản bằng ngôn ngữ liệt kê hoặc sơ
đồ khối
2 Chuẩn bị của giáo viên và học sinh:
a Chuẩn bị của GV: Giáo án, SGK, SGV
b Chuẩn bị của HS: SGK.
3 Tiến trình bài dạy:
a Kiểm tra bài cũ (Đặt vấn đề vào bài mới):
- HS1: Nêu lại thuật toán của bài toán sắp xếp bằng tráo đổi với cách liệt kê(hoặc sơ
đồ khối)
- HS2: Mô phỏng thuật toán trên với dãy số nguyên sau:
Với bài toán sắp xếp bằng tráo đổi, ta thực hiện so sánh các giá trị liền kề nhau
trong dãy số Có 1 thuật toán khác, ta sẽ so sánh các phần tử trong tập hợp với 1 giá trị bên ngoài Đó được gọi là thuật toán tìm kiếm tuần tự
b Nội dung bài mới:
GV: Trong sinh hoạt hằng ngày, các em
nhất định cũng ít nhất tìm kiếm một món
đồ nào đó trong căn nhà của mình
Em hãy chia sẻ cùng lớp điều đó!
HS: Tìm 1 cái áo trong tủ
Tìm 1 quyển vở trên bàn học
Tìm 1 chiếc bút trong hộp bút
GV: Em hãy xác định input và output của
bài toán?
HS: Input: dãy số A với a1, a2 aN, khóa k
Output: chỉ số i
GV nêu ý tưởng bài toán: Tìm kiếm tuần tự
được thực hiện một cách tự nhiên Lần lượt
Ví dụ 3: Bài toán tìm kiếm
Cho dãy A gồm N số nguyên khác nhau: a 1 ,
a 2 ,… a N và một số nguyên k Cần biết có hay không chỉ số i (1 ≤ i ≤ N) mà a i = k Nếu có hãy cho biết chỉ số đó.
*Xác định bài toán:
- Input: Dãy A gồm N số nguyên khác nhau a1,a2, , aN và 1 số k
- Output: Chỉ số i (1<=i<=N) 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
**Ghi chú: i là biến chỉ số và nhận giá trị
Ngày dạy …/…/……, tại lớp: …… Ngày dạy …/…/……, tại lớp: …… Ngày dạy …/…/……, tại lớp: ……
Tuần 07
Tiết 13
Trang 2N, a1,a2, , aN và k.
I1
ai=k
Ii+1
i>N ?
TB dãy A không có số hạng có giá trị bằng k rôi k.thúc
Đưa ra i rồi k.thúc
từ số hạng thứ nhất, ta so sánh giá trị số
hạng đang xét với khoá cho đến khi hoặc
gặp 1 số hạng bằng khoá hoặc dãy đang xét
hết Và không có giá trị nào bằng khoá
GV: Để giải quyết bài toán này, chúng ta
cần xây dựng 1 thuật toán cho nó
HS: Suy nghĩ và trả lời
* Tùy theo khả năng của HS, có thể yêu
cầu HS thuyết trình thuật toán theo nhóm
nguyên lần lượt từ 1 đến N+1
* Thuật toán tìm kiếm tuần tự Cách liệt kê:
B1: Nhập N các số hạng a1,a2, , aN và k;
B2: i1;
B3: Nếu ai=k thi thông báo chỉ số i, rồi kết thúc;
B4: ii+1;
B5: 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;
B6: Quay lại bước 3
Sơ đồ khối:
4 Củng cố - Dặn dò:
− Khái niệm bài toán, thuật toán
−Tính chất của thuật toán
Trang 35 Hướng dẫn HS luyện tập ở nhà: Xem trước bài tập SGK trang 44.
Tuần 07
Tiết 14
BÀI TẬP – BÀI TOÁN VÀ THUẬT TOÁN
1 Mục tiêu:
a Kiến thức:
−Biết khái niệm bài toán và thuật toán, các đặc trưng chính của thuật toán
−Biết một số thuật toán thông dụng
−Biết cách biểu diễn thuật toán bằng ngôn ngữ liệt kê (dùng ngôn ngữ tự nhiên)
−Biết cách biểu diễn thuật toán bằng sơ đồ khối
b Kỹ năng:
−Mô tả được thuật toán giải một số bài toán đơn giản bằng ngôn ngữ liệt kê hoặc sơ
đồ khối
2 Chuẩn bị của giáo viên và học sinh:
a Chuẩn bị của GV: Giáo án, SGK, SGV
b Chuẩn bị của HS: SGK.
3 Tiến trình bài dạy:
GV: Yêu cầu HS chia nhóm, thảo luận và
lên bảng làm các bài tập
Đối với mỗi bài tập, mỗi nhóm thực hiện
lần lượt các yêu cầu sau:
- Xác định bài toán
- Nêu thuật toán bằng liệt kê
- Nêu thuật toán bằng sơ đồ khối
HS: Cùng nhóm thảo luận, tìm thuật toán
cho từng bài và lên bảng giải
GV: Gọi mỗi nhóm nêu 1 thuật toán theo
cách liệt kê (hoặc sơ đồ khối), và nhóm
khác nhận xét
* GV nhận xét sau cùng, giảng giải lại các
thuật toán
Bài tập 1:
Cho N và dãy số a1, a2, … aN, hãy tìm giá trị nhỏ nhất (Min) của dãy số đó
* Xác định bài toán:
- Input: số nguyên dương N và dãy số a1,
a2, … aN
- Output: Giá trị nhỏ nhất (Min) của dãy số
* Thuật toán:
a/ Cách liệt kê:
Bước 1: Nhập N và dãy số nguyên a1…aN; Bước 2: Mina1, i2;
Bước 3: Nếu i>N thì đưa ra giá trị Min và kết thúc
Bước 4:
4.1 Nếu ai < Min thì Min ai; 4.2 ii+1 rồi quay lại bước 3;
b/ Sơ đồ khối:
Ngày dạy …/…/……, tại lớp: …… Ngày dạy …/…/……, tại lớp: …… Ngày dạy …/…/……, tại lớp: ……
Trang 4a1, a2, , aN
Min a1; i 2
i > N
ai<Min
Min ai
i = i + 1
TB giá trị Min
Đ
Đ
S S
Bài tập 2:
Tìm nghiệm của phương trình bậc 2 tổng
quát: ax2 + bx + c = 0
* Xác định bài toán:
- Input: các hệ số a, b, c
- Output: các nghiệm của PT
* Thuật toán:
a/ Cách liệt kê:
Bước 1: Nhập a, b, c
Bước 2: Tính delta = b2 - 4ac
Bước 3: Nếu delta < 0 -> TB Pt vô nghiệm
rồi kết thúc
Bước 4: Nếu delta = 0 -> TB Pt có nghiệm
kép x = ± b/2a
Bước 5: Nếu delta > 0 -> TB Pt có 2
nghiệm: x1, x2 =
b/ Sơ đồ khối:
Trang 5Nhập a, b, c
Tính ∆ = b2 – 4ac
kthuc
PT có 2 no x1, x2 = rồi kết thúc
Đ
S
Đ
S
Bài tập 3:
Cho N và dãy số a1, a2, … aN, hãy tính tổng
các số có giá trị là chẵn
* Xác định bài toán:
- Input: số nguyên dương N và dãy số a1,
a2, … aN
- Output: tổng các số chẵn trong dãy số
* Thuật toán:
a/ Cách liệt kê:
Bước 1: Nhập N và dãy số nguyên a1…aN;
Bước 2: Tong ← 0, i ← 1
Bước 3: Nếu i > N thì đưa ra Tong rồi kết
thúc
Bước 4:
4.1 Nếu ai là số chẵn thì Tong ←
Tong + ai;
4.2 i ← i + 1 rồi quay lại bước 3
b/ Sơ đồ khối:
Trang 6S Đ
S
4 Củng cố - Dặn dò:
- Xem lại các bài tập đã làm Làm thêm những bài toán chưa giải ở SGK
- Xem trước bài số 6: GIẢI BÀI TOÁN TRÊN MÁY TÍNH