Giáo án dự giờ Tin học 8 Tiết 50, bài 8: Lặp với số lần chưa biết trước (t2)

Giáo án dự giờ Tin học 8 Tiết 50, bài 8: Lặp với số lần chưa biết trước (t2)

Tiết 50, Bài 8 LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (T2)

 (GIÁO ÁN DỰ GIỜ)

A. MỤC TIÊU

 Sau khi học xong bài này học sinh cần đạt được các mục tiêu sau:

 1. Kiến thức:

 - Hiểu nhu cầu cần có cấu trúc lặp với số lần chưa biết trước trong ngôn ngữ lập trình.

 - Hiểu ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc đến khi một điều kiện nào đó được thoả mãn.

 2. Kỹ năng:

 - Hiểu hoạt động của của lệnh lặp với số lần chưa biết trước while.do trong Pascal.

 3. Thái độ:

 - Hình thành phương pháp làm việc khoa học.

 - Vận dụng vào trong học tập và thực tiễn.

 

doc 4 trang Người đăng vultt Lượt xem 1252Lượt tải 3 Download
Bạn đang xem tài liệu "Giáo án dự giờ Tin học 8 Tiết 50, bài 8: Lặp với số lần chưa biết trước (t2)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Ngày soạn: 01/03/2011
Ngày dạy: / /2011
Lớp: 8
Giáo viên hướng dẫn: Lê Đình Trung
Giáo viên soạn: Cái Thị Hạ Ngân
Tiết 50, Bài 8 LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (T2) 
 (GIÁO ÁN DỰ GIỜ)
A. MỤC TIÊU
 Sau khi học xong bài này học sinh cần đạt được các mục tiêu sau:
 1. Kiến thức:
 - Hiểu nhu cầu cần có cấu trúc lặp với số lần chưa biết trước trong ngôn ngữ lập trình.
 - Hiểu ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc đến khi một điều kiện nào đó được thoả mãn.
 2. Kỹ năng: 
 - Hiểu hoạt động của của lệnh lặp với số lần chưa biết trước while...do trong Pascal.
 3. Thái độ: 
 - Hình thành phương pháp làm việc khoa học.
 - Vận dụng vào trong học tập và thực tiễn.
B.Chuẩn bị
 1. Giáo viên 
	- Bài giảng truyền thống, bài giảng điện tử
	- Sơ đồ logic nội dung.
	- Máy tính, Projector
 2. Học sinh
 - SGK, và dụng cụ học tập.
C. Phương pháp
	- Thuyết trình.
	- Vấn đáp.
	- Trực quan.
	- Phát hiện và giải quyết vấn đề.
D. Tiến trình lên lớp
 I. Ổn định tổ chức(1p)
	- Kiểm tra sĩ số( vắngphép,không phép).
	- Ổn định chổ ngồi học sinh.
 II. Kiểm tra bài cũ(5p)
 Câu hỏi 1: Em hãy nêu một vài ví dụ về hoạt động lặp với số lần chưa biết trước trong cuộc sống hàng ngày của chúng ta?
 Câu hỏi 2: Hãy nêu cú pháp và hoạt động của vòng lặp While ..do. 
 III. Triển khai bài mới(35p) 
 Chúng ta đã được làm quen với các hoạt động lặp với số lần đã xác định trước. Vậy với các hoạt động lặp với số lần chưa biết trước thì như thế nào? Chúng ta đi vào phần tiếp theo của bài lặp với số lần chưa biết trước.(2p)
 HOẠT ĐỘNG CỦA THẦY VÀ TRÒ
NỘI DUNG BÀI MỚI
1. Ví dụ về lệnh lặp với số lần chưa biết trước
GV: Yêu cầu HS đọc ví dụ 4.
HS: Đọc ví dụ 4.
GV: Chạy tay cho HS xem chương trình mẫu.
HS: Chú ý nghe và tự chạy tay lại.
GV: Cho HS quan sát chương trình. 
HS: Quan sát chương trình
GV: Chạy chương trình này, ta nhận được giá trị như thế nào?
HS: Nếu chạy chương trình này ta sẽ nhận được n = 45 và tổng đầu tiên lớn hơn 1000 là 1034.
GV: Yêu cầu học sinh đọc ví dụ 5 và viết chương trình sử dụng lệnh for...do
HS: Viết chương trình.
GV: Gọi một em lên bảng viết lại bằng lệnh Whiledo.
HS: Thực hiện.
GV: Chạy chương trình cho học sinh quan sát. Yêu cầu so sánh kết quả khi chạy hai chương trình.
HS: Thực hiện.
GV: Em có nhận xét gì qua hai ví dụ trên?
HS: Ví dụ này cho thấy rằng chúng ta có thể sử dụng câu lệnh whiledo thay cho câu lệnh fordo.
GV: Yêu cầu học sinh viết chương trình với câu lệnh while...do
HS: Viết chương trình.
Ví dụ về lệnh lặp với số lần chưa biết trước
Ví dụ 4. Chương trình Pascal dưới đây thể hiện thuật toán tính số n trong ví dụ 2:
var S,n: integer;
begin
S:=0; n:=1;
while S<=1000 do
 begin 
 S:=S+n; n:=n+1; 
 end;
writeln('So n nho nhat de tong > 1000 la ',n);
writeln('Tong dau tien > 1000 la ',S);
end.
Ví dụ 5. Viết chương trình tính tổng 
Giải: Để viết chương trình tính tổng ta có thể sử dụng lệnh lặp với số lần lặp biết trước fordo
T:=0;
for i:=1 to 100 do T:=T+1/i;
writeln(T);
Nếu sử dụng lệnh lặp whiledo, đoạn chương trình dưới đây cũng cho cùng một kết quả:
T:=0;
i:=1;
while i<=100 do begin T:=T+1/i; i:=i+1 end;
writeln(T);
* Nhận xét: Có thể sử dụng câu lệnh whiledo thay cho câu lệnh fordo.
Hoạt động 2: lặp vô hạn lần – lỗi lập trình cần tránh
GV: Khi viết chương trình sử dụng cấu trúc lặp cần chú ý tránh tạo nên vòng lặp không bao giờ kết thúc.
HS: Chú ý nghe giảng.
GV: Cho HS quan sát chương trình lặp vô hạn. Sau đó đặt câu hỏi vì sao chương trình này lặp vô hạn?
var a: integer;
begin
a:=5;
while a<6 do writeln('A');
end.
HS: Quan sát và trả lời
GV: Nhận xét và lưu ý cho HS.
Trong chương trình trên, giá trị của biến a luôn luôn bằng 5, điều kiện a<6 luôn luôn đúng nên lệnh writeln('A') luôn được thực hiện.
Do vậy, khi thực hiện vòng lặp, điều kiện trong câu lệnh phải được thay đổi để sớm hay muộn giá trị của điều kiện được chuyển từ đúng sang sai. Chỉ như thế chương trình mới không "rơi" vào những "vòng lặp vô tận".
HS: Ghi bài.
Lặp vô hạn lần – lỗi lập trình cần tránh
* Lưu ý: Khi thực hiện vũng lặp, điều kiện trong câu lệnh phải được thay đổi để sớm hay muộn giá trị của điều kiện được chuyển từ đúng sang sai. Chỉ như thế chương trình mới không "rơi" vào những "vòng lặp vô tận".
 IV. Củng cố (3p)
Câu 1: Chương trình sau đây tính tổng 10 số tự nhiên đầu tiên. Hãy nhìn vào chương trình sau và phát hiện lỗi sai của chương trình.
GV đưa ra chương trình đúng như sau:
 V. Dặn dò (1p) 
+ Làm các bài tập 3, 4, 5 trang 71 SGK.
+ Xem trước Bài thực hành
 - Học bài cũ.
 - Viết các thuật toán cho hai bài tập trên.
E. RÚT KINH NGHIỆM
	Ngày  tháng  năm 2011
	 Duyệt GV hướng dẫn
	 Lê Đình Trung

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

  • docLAP CHUA BIET TRUOC 2.doc