do để giải các bài tập có cấu trúc lặp với số lần chưa biết trước, biết cách sử dụng kết hợp cặp từ khóa Begin..end đối với những lệnh ghép trong câu lệnh While..do.. – Đặt vấn đề vào bà
Trang 1GIÁO ÁN MÔN TIN HỌC 8
TUẦN 27 Tiết PPCT: 15 Tiết TKB: 1 LỚP: 8/7
Ngày soạn : 05/03/2010 Ngày dạy : 11/03/2010 GVHD: La Thị Huyền Đan
SV dạy: Trần Ngọc Khoa
BÀI TẬP
I MỤC TIÊU
– Kiến thức:
+ Nắm vững cú pháp của câu lệnh lặp While do.
+ Biết kiểm tra vòng lặp của câu lệnh While do.
– Kỹ năng: vận dụng được câu lệnh While do để giải các bài tập có cấu trúc lặp với số lần chưa biết trước, biết cách sử dụng kết hợp cặp từ khóa Begin end đối với những lệnh ghép trong câu lệnh While do.
– Thái độ: tập trung, tích cực trong giờ học
II CHUẨN BỊ
– GV: giáo án, sgk, bảng phụ
– HS: xem kỹ bài cũ, đọc trước bài mới
III TIẾN TRÌNH BÀI DẠY
HĐ1: Kiểm tra bài cũ, đặt vấn đề vào bài mới ( 4’)
– HS:
+ Cho biết cú pháp của câu lệnh lặp While do?
+ Câu lệnh lặp While do được thực hiện như thế nào?
– GV nhận xét, cho điểm
– Đặt vấn đề vào bài mới:
Tiết trước chúng ta đã được làm quen với các hoạt động lặp với số lần chưa
biết trước và cách thể hiện các hoạt động đó bằng câu lệnh lặp While do Để biết
rõ hơn cách sử dụng câu lệnh lặp While do, hôm nay chúng ta sẽ cùng tìm hiểu
một số bài tập về các hoạt động lặp với số lần chưa biết trước
Trang 2HĐ2: Bài tập 3 (14’)
– GV cho HS nhắc lại về các
bước thực hiện câu lệnh lặp
While do qua sơ đồ (bảng
phụ)
* Chú ý: câu lệnh ở đây là
câu lệnh của lệnh lặp
While do, không được nhầm
lẫn với câu lệnh của toàn
chương trình Nếu câu lệnh
ghép thì phải để trong cặp từ
khóa Begin end.
– Gọi HS đọc bài tập 3
(?) Bài toán yêu cầu làm gì?
– HS nhắc lại
Câu lệnh While do được
thực hiện:
1 Kiểm tra điều kiện.
2 Nếu điều kiện sai, câu
lệnh bỏ qua, lệnh lặp kết
thúc; điều kiện đúng, câu
lệnh được thực hiện và
quay lại bước 1
– Cá nhân HS đọc
– Tìm số lần lặp và giá trị
S khi kết thúc
Bài tập 3 (SGK/71)
– GV treo bảng thuật toán 1
và gọi HS giải thích ý nghĩa
của từng bước
a) Thuật toán 1
B1: S 10, x 0.5.
B2: Nếu S5.2, chuyển tới bước
4.
B3: S S-x và quay lại bước 2.
– B1: gán giá trị S và x
– B2 : kiểm tra điều kiện nếu S>5.2 thì chuyển đến B3, nếu S5.2 thì chuyển đến B4
– B3 : thực hiện câu lệnh
a) Thuật toán 1
Trang 3B4: Thông báo S và kết thúc thuật
toán.
gán S S–x, quay lại B2.
– B4 : in kết quả
(?) Điều kiện của vòng lặp? – S 5.2
(?) Câu lệnh của vòng lặp? – S S – x;
– GV hướng dẫn HS lập bảng
để kiểm tra số vòng lặp của
chương trình
– GV thực hiện mẫu 2 vòng
lặp đầu
– Cho HS chia nhóm thảo
luận (4 nhóm – trong 2’) hoàn
thành bảng trên để xác định
số vòng lặp của chương trình
– GV nhận xét
– HS th o lu n nhóm và tr ảo luận nhóm và trả ận nhóm và trả ảo luận nhóm và trả
l i (10 vòng l p) ời (10 vòng lặp) ặp).
LẦN
điều kiện S:=10; x:=0.5 S=10>5.2
1 S:=10-0.5 =9.5 S=9.5>5.2
2 S:=9.5-0.5 =9.0 S=9.0>5.2
3 S:=9.0-0.5 =8.5 S=8.5>5.2
4 S:=8.5-0.5 =8.0 S=8.0>5.2
5 S:=8.0-0.5 =7 5 S=7.5>5.2
6 S:=7.5-0.5 =7.0 S=7.0>5.2
7 S:=7.0-0.5 =6.5 S=6.5>5.2
8 S:=6.5-0.5 =6.0 S=6.0>5.2
9 S:=6.0-0.5 =5.5 S=5.5>5.2
10 S:=5.5-0.5 =5.0 S=5.0<5.2
– Khi thực hiện chương trình, máy tính sẽ thực hiện 10 vòng lặp
– Khi kết thúc vòng lặp, giá trị của S bằng 5.0
– GV hướng dẫn HS viết
chương trình
Var…
Begin
<câu lệnh>;
While <điều kiện> do <câu
lệnh>;
<câu lệnh>;
End.
– HS ghi nhận
Var S , x : real;
Begin
S := 10; x := 0.5;
While S>5.2 do S := S - x;
– Cho HS chia nhóm thảo
luận (4 nhóm - 2’) viết
chương trình
– HS hoạt động nhóm viết chương trình vào bảng phụ, treo lên bảng
– Gọi các nhóm báo cáo lên – HS thực hiện yêu cầu và
Trang 4bảng và nhận xét.
– Cho HS hoàn thành vào vở
ghi nhận
– HS thực hiện
Writeln(‘Gia tri cua S: ’, S:5:2);
End
– GV treo bảng phụ thuật
toán 2 và gọi HS giải thích ý
nghĩa của từng bước
B1: S 10, n 0.
B2: Nếu S10, chuyển tới bước
4.
B3: n n + 3, S S - n, quay
lại bước 2.
B4: Thông báo S và kết thúc thuật
toán.
– B1: gán giá trị S và n
– B2 : kiểm tra điều kiện nếu S<10 thì chuyển đến B3, nếu S10 thì chuyển đến B4
– B3 : thực hiện câu lệnh
gán n n + 3, S S –
n, quay lại B2.
– B4 : in kết quả
b) Thuật toán 2
(?) Điều kiện của vòng lặp? – S < 10
(?) Câu lệnh của vòng lặp? – n n + 3, S S – n;
(?) Cho HS thảo luận nhóm
(4 nhóm – 2’) lập bảng tương
tự như đối với Thuật toán 1
và cho biết máy tính sẽ thực
hiện thuật toán trong bao
nhiêu vòng lặp?
– HS thảo luận nhóm và trả lời (không có vòng lặp nào được thực hiện)
– GV gọi HS nhận xét
– GV nhận xét
– HS nhận xét
– HS theo dõi
– Cho HS thảo luận nhóm (4
nhóm – 2’) viết chương trình
– Các nhóm viết chương trình vào bảng phụ
Var S , n : integer;
Begin S:=10; n:=0;
While S<10 do Begin
n := n + 3;
– Gọi các nhóm báo cáo lên
bảng và nhận xét
– Cho HS hoàn thành vào vở
– HS thực hiện yêu cầu và ghi nhận
– HS thực hiện
LẦN LẶP nn+3 SS+n Kiểm tra điều kiện
n:=0; S:=10; S=10 : không thỏa điều kiện vòng lặp
Trang 5S := S - n;
End;
Writeln(‘Gia tri cua S: ’, S:5:2);
End
(?) Có nhận xét gì về các
bước thực hiện của câu lệnh
While do?
– Kiểm tra điều kiện rồi mới thực hiện lệnh lặp
– Trong câu lệnh lặp
While do, điều kiện được
kiểm tra trước khi các bước lặp được thực hiện
– GV nhận xét, tóm ý
HĐ3: Bài tập 4 (10’)
– GV treo bảng phụ đoạn
chương trình a)
S:=0; n:=0;
While S10 do
Begin n:=n+1;S:=S+n end;
a) Đoạn chương trình 1
(?) Bài toán yêu cầu làm gì?
(?) Điều kiện của vòng lặp?
(?) Câu lệnh của vòng lặp?
– Cho HS thảo luận nhóm
(4 nhóm – 2’) hoàn thành bài
tập vào bảng
– Tìm số lần lặp của đoạn chương trình
– S 10
– n n + 1; S S + n;
– HS th o lu n và báo cáo ảo luận nhóm và trả ận nhóm và trả
LẦN LẶP
nn+
1
SS+
n
Kiểm tra điều kiện n:=0; S:=0; S=0 10
4 4 10 S=10 10
5 5 15 S=15>10
– Cho nhóm khác nhận xét
– GV nhận xét
– Nhóm nhận xét
– HS ghi nhận – Chương trình thực hiện 5
vòng lặp
– GV treo bảng phụ đoạn
chương trình b)
S:=0; n:=0;
While S10 do
n:=n+1;S:=S+n;
b) Đoạn chương trình 2
(?) Đoạn chương trình này có – Không có Begin end.
Trang 6gì khác so với đoạn chương
trình a)?
(?) Câu lệnh của lệnh lặp
While do lúc này là gì?
– n n + 1;
– Cho HS thảo luận nhóm
(4 nhóm – 2’) hoàn thành bài
tập vào bảng
– HS th o lu n và báo cáo ảo luận nhóm và trả ận nhóm và trả LẦN
LẶP
nn+
Kiểm tra điều kiện n:=0; S:=0; S=0 10
– Cho nhóm khác nhận xét
– GV nhận xét
– Nhóm nhận xét
hiện vòng lặp vô tận
(?) Có nhận xét gì qua 2 đoạn
chương trình?
– GV chốt ý
– Khi thực hiện vòng lặp,
điều kiện cần phải được thay
đổi để giá trị của nó chuyển
từ đúng sang sai, để chương
trình không rơi vào vòng lặp
vô tận
- Câu lệnh ghép phải để
trong cặp Begin end.
– HS ghi nhận
– Các câu lệnh ghép phải được để trong cặp từ khóa
Begin end.
HĐ4: Bài tập 5 (7’)
– Cho HS thảo luận nhóm (4
nhóm – 3p) và hoàn thành bài
tập 5
Bài tập 5 (SGK/71)
(?) Câu a) sai ở vị trí nào?
(?) Điều kiện thường là gì?
– Điều kiện thường là phép so sánh, không thể là
Trang 7phép gán.
– GV gọi HS nhận xét và chốt ý – HS ghi nhận – Điều kiện thường là
phép so sánh như =,<,>… (?) Câu b) sai ở vị trí nào?
(?) Cú pháp điều kiện đã đúng
hay chưa?
(?) Cú pháp câu lệnh có đúng
hay chưa?
– Câu lệnh không thể là phép so sánh
– GV gọi HS nhận xét và chốt ý – HS ghi nhận – Câu lệnh không thể là
một phép so sánh mà phải
là các câu lệnh đơn hoặc ghép
(?) Câu c) sai ở vị trí nào?
(?) Với những câu lệnh ghép ta
phải thể hiện nó như thế nào?
– Thiếu cặp từ khóa
Begin end cho câu lệnh
ghép
– Với những câu lệnh ghép ta phải đặt trong cặp
từ khóa Begin end.
HĐ5: Bài tập vận dụng (7’)
– Để bài : Viết chương trình
nhập một số từ bàn phím và tính
tổng các số đã nhập cho đến khi
tổng lớn hơn 1000 thì ngừng lại
Var S , n : integer;
Begin S:=0;
While S1000 do Begin
Write(‘Nhap n: ’); Readln(n);
S:=S+n;
End;
Writeln(‘Tong S tim duoc la: ’,s);
Readln End
(?) Điều kiện ở đây là gì?
(?) Câu lệnh ở đây là gì?
– S 1000 – Readln(n); S := S + n;
– Cho HS thảo luận nhóm (4
nhóm – 2p) và viết chương trình
- HS thực hiện yêu cầu
– GV gọi HS báo cáo lên bảng – Nhóm báo cáo
– GV nhận xét
Trang 8HĐ6: Củng cố (2’)
(?) Cú pháp câu lệnh While do? – HS nhắc lại
(?) Câu lệnh While do thực hiện
như thế nào?
– HS trả lời
(?) Khi có câu lệnh ghép thì phải
làm thế nào?
– Để trong cặp Begin end.
HĐ7: Dặn dò (1’)
Xem lại cú pháp và các bước thực hiện câu lệnh While do ; đọc trước bài mới.
Duyệt của GVHD Trường THCS Phường 4, ngày 05/03/2010
SV soạn
TRẦN NGỌC KHOA