Tiết 15: Bài tập
Ngày soạn: 12/10/08
Ngày giảng:
I. Mục tiêu:
1. Kiến thức: Hiểu rõ hơn về khái niệm bài toán và thuật toán. Các cách diễn tả
thuật toán: Liệt kê và sơ đồ khối.
2. Kỹ năng: Xác định Input, Output và thuật toán của bài toán. Diễn tả thuật toán
bằng 1 trong hai cách: liệt kê và sơ đồ khối của một số bài toán.
3. Thái độ: Giúp các em có ý thức và hứng thú học tập môn Tin học.
II. Đồ dùng dạy học:
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, bảng, phấn,
2. Chuẩn bị của học sinh: Đã học bài và chuẩn bị bài tập về nhà.
III. Hoạt động dạy học:
1. ổ n định tổ chức :
2. Kiểm tra bài cũ: (?) Khái niệm thuật toán? Các cách diễn tả thuật toán?
3. Bài tập:
Hoạt động của giáo viên Hoạt động của học sinh
+ GV: Hãy mô tả thuật toán giải các bài toán sau
bằng cách liệt kê hoặc sơ đồ khối?
Bài4(SGK): Cho N và dãy số a
1
, a
2
, , a
N
. Hãy
tìm giá trị nhỏ nhất (Min) của dãy đó?
+ GV: Chỉ ra Input và Output của bài toán:
- Input: Số nguyên dơng N và dãy N số
nguyên a
1
, a
2
, ,a
N
.
- Output: Giá trị nhỏ nhất Min của dãy số.
+ GV: Gọi 2 học sinh lên bảng diễn tả thuật toán:
liệt kê và sơ đồ khối?
+ HS: Diễn tả thuật toán:
a) C1: Liệt kê:
B1: Nhập N; a
1
, a
2
, ,a
N
;
B2: Min:=a
1
; i:=2;
B3: Nếu i>N thì đa ra giá trị Min rồi kết
thúc;
B4: Nếu a
i
<Min thì Min:=a
i
;
i:=i+1 quay lại B3;
b) C2: Sơ đồ khối:
1
Nhập N,
dãy a
1
, ,a
N
+ GV: Gọi 1 học sinh nhận xét?
Bài5(SGK): Tìm nghiệm của phơng trình bậc hai
tổng quát: ax
2
+ bx +c = 0 (a
0)
+ GV: Chỉ ra Input và Output của bài toán:
- Input: a,b,c
- Output: Nghiệm thoả mãn phơng trình:
ax
2
+ bx +c = 0
+ GV: Gọi hai học sinh lên bảng diễn tả thuật
toán bằng một trong hai cách: Liệt kê và sơ đồ
khối.
Đ
S
S Đ
- HS: Diễn tả thuật toán:
+ C1: Liệt kê:
B1: Nhập a,b,c;
B2: Tính delta=b
2
-4ac;
B3: Nếu delta<0 thì thông báo PT vô
nghiệm rồi kết thúc;
B4: Nếu delta=0 -> PT có nghiệm kép
x=-b/2a rồi kết thúc;
B5: Nếu delta>0 thì PT có hai nghiệm:
a
deltab
x
2
1
=
;
a
deltab
x
2
2
+
=
rồi kết thúc;
+ C2: Sơ đồ khối
+ C2: Sơ đồ khối:
2
Min
a
1
,i
2
a
i
<min?
Min
a
i
i
i+1
i>N?
Đưa ra min
rồi KT
Nhập a,b,c
+ GV: Gọi 1 học sinh nhận xét?
Bài 6(SGK): Cho N và dãy số a
1
,a
2
, ,a
N
. Hãy
sắp xếp dãy số đó thành dãy số không tăng.
+ GV: Chỉ ra Input và Output của bài toán:
- Input: Dãy A gồm N số nguyên a
1
,a
2
,
,a
N
.
- Output: Dãy A đợc sắp xếp thành dãy
không tăng.
+ GV: áp dụng tơng tự với bài toán và thuật toán
sắp xếp bằng tráo đổi.
+ GV: Gọi 2 học sinh lên bảng diễn tả thuật toán
bằng hai cách: liệt kê và sơ đồ khối.
Đ
S
Đ
S
+ HS: Diễn tả thuật toán:
- C1: Liệt kê:
B1: Nhập N, các số hạng a
1
,a
2
, ,a
N
;
B2: M:=N;
B3: Nếu M<2 thì đa ra dãy A đã đợc sắp xếp
rồi kết thúc;
B4: M:=M-1; i:=0;
B5: i:=i+1;
B6: Nếu i>M thì quay lại B3;
B7: Nếu a
i
<a
i+1
thì tráo đổi a
i
và a
i+1
với
nhau;
B8: Quay lại B5;
- C2: Sơ đồ khối:
a
deltab
x
2
2,1
=
3
Delta<0
Delta=0
PT VN rồi
KT
x=-b/2a rồi
KT
Delta=b
2
-4ac
Nhập N, a
1
,a
2
,
,a
N
M:=N
+ GV Gọi 1 học sinh nhận xét.
Bài 7(SGK): Cho N và dãy số a
1
, a
2
, , a
N
. Hãy
cho biết có bao nhiêu số hạng trong dãy có giã trị
bằng 0.
+ GV: Chỉ ra Input và Output của bài toán:
- Input: N; a
1
, a
2
, ,a
N
; k=0
- Output: Có bao nhiêu giá trị của i để a
i
=0.
+ GV: Nêu ý tởng thuật toán: áp dụng t tởng
thuật toán tìm kiếm tuần tự và tăng biến đếm
thêm 1 để đếm số lợng số 0 của dãy số, duyệt
bắt đầu từ a
1
đến a
N
, nếu a
i
= 0 thì biến đếm tăng
lên 1 (ban đầu biến đếm đợc khởi tạo có giá trị
bằng 0). Thuật toán kết thúc sau N lần so sánh.
+ GV: Gọi 2 học sinh lên bảng diễn tả thuật toán
bằng 2 cách : liệt kê và sơ đồ khối.
Đ
S
Đ
S
Đ
S
+ HS: Diễn tả thuật toán:
- C1: Liệt kê:
B1: Nhập N; a
1
, a
2
, , a
N
;
B2: i:=1; dem:=0;
B3: Nếu a
i
= 0 thì dem:=dem+1;
B5: i:=i+1;
B6: Nếu i>N thì thôngbáo dãy A có dem số
hạng có giá trị là 0 rồi kết thúc;
B7: Quay lạiB3;
C2: Sơ đồ khối
4
M<2?
M:=M-1;
i:=0;
i : = i+1;
i>M?
a
i
<a
i+1
?
Tráo đổi
a
i
và a
i+1
Đưa ra A
rồi KT
Nhập N, a
1
,a
2
,
,a
N
+ GV: Gọi học sinh nhận xét.
+ GV: (?) Nếu dem=0 thì sao?
Đ
S
S
Đ
+ HS: Nếu dem=0 thì dãy A không có số
hạng nào có giá trị là 0 (Tức là không có a
i
nào bằng 0).
5
i:=1;dem:=0
a
i
=0
i:=i+1
i>N?
TB dãy A ko có
số hạng nào có
gt=0 rồi KT
dem:=dem
+1