Giáo án Tin học 8 - Tiết 15: Bài tập - Năm học 2009-2010 - Trần Ngọc Khoa

Giáo án Tin học 8 - Tiết 15: Bài tập - Năm học 2009-2010 - Trần Ngọc Khoa

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.

 

doc 8 trang Người đăng tranhiep1403 Lượt xem 934Lượt tải 0 Download
Bạn đang xem tài liệu "Giáo án Tin học 8 - Tiết 15: Bài tập - Năm học 2009-2010 - Trần Ngọc Khoa", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
GIÁ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.
HĐ2: Bài tập 3 (14’)
HOẠT ĐỘNG CỦA GV
HOẠT ĐỘNG CỦA HS
NỘI DUNG
– 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.
B4: Thông báo S và kết thúc thuật toán.
– 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 gán Sß S–x, quay lại B2.
– B4 : in kết quả. 
a) Thuật toán 1
(?) Đ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ả lời (10 vòng lặp).
LẦN LẶP
Kiểm tra đ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 
 ;
 While do ;
 ;
End.
– HS ghi nhận.
Var S , x : real;
Begin
 S := 10; x := 0.5;
 While S>5.2 do S := S - x;
Writeln(‘Gia tri cua S: ’, S:5:2);
End.
– 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 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.
– 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).
LẦN LẶP
nßn+3
SßS+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
– 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;
 S := S - n;
 End;
Writeln(‘Gia tri cua S: ’, S:5:2);
End.
– 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.
(?) 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’)
– Gọi HS đọc bài tập 4.
– Cá nhân HS đọc.
Bài tập 4 (SGK/71)
– 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.
LẦN LẶP
nßn+1
SßS+n
Kiểm tra điều kiện
n:=0;
S:=0;
S=010
1
1
1
S=110
2
2
3
S=310
3
3
6
S=610
4
4
10
S=1010
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ó gì khác so với đoạn chương trình a)?
– Không có Begin..end.
(?) 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.
LẦN LẶP
nßn+1
S
Kiểm tra điều kiện
n:=0;
S:=0;
S=010
1
1
0
S=010
2
2
0
S=010
3
3
0
S=010
– Cho nhóm khác nhận xét.
– GV nhận xét.
– Nhóm nhận xét.
– HS ghi nhận.
– Đoạn chương trình thực 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à phé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.
– Gọi nhóm khác nhận xét.
– Nhóm nhận xét.
– GV nhận xét.
HĐ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

Tài liệu đính kèm:

  • docBAI 8 LAP VOI SO LAN CHUA BIET TRUOC TIET BAI TAP.doc