GIáo án Tin lớp 8 tiết 41: Lặp với số lần chưa biết trước

1. Các hoạt động lặp với số lần chưa biết trước

a/ Ví dụ 1(sgk).

b/ Ví dụ 2 : Nếu cộng lần lượt n số tự nhiên đầu tiên (n = 1, 2, 3,.), Cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000?

Giải :

Kí hiệu S l tổng cần tìm v ta cĩ thuật tốn như sau:

 

doc4 trang | Chia sẻ: dung89st | Lượt xem: 1423 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu GIáo án Tin lớp 8 tiết 41: Lặp với số lần chưa biết trước, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tiết: 41
Ngày dạy: 23/01/2010
Bài 8 LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
I. Mục tiêu
1. Kiến thức
Biết 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;
Biết 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
Nhận biết được đâu là hoạt động lặp với số lần chưa biêt trước.
3. Thái độ
Nghiêm túc trong quá trình nghiên cứu và thực hành.
II. Chuẩn bị
Thầy giáo
Phòng máy tính, máy chiếu.
Học sinh
Sách giáo khoa, em trước bài học ở nhà.
III. Phương pháp dạy học
Hướng dẫn trực tuyến
Diễn giải, đàm thoại.
IV. Tiến trình dạy học
Ổn định
Kiểm diện học sinh
Kiểm tra bài cũ
Viết thuật toán tính tổng 10 số tự nhiên đầu tiên 1,2,3,,9,10
Trả lời 
Bước 1. SUM ¬ 0; i ¬ 0.
Bước 2. i ¬ i + 1.
Bước 3. Nếu i 10, thì SUM ¬ SUM + i và quay lại bước 2.
Bước 4. Thông báo kết quả và kết thúc thuật toán.
Bài mới
Hoạt động của thầy & trò
Nội dung ghi của trò
* Nội dung 1: Giới thiệu bài mới
Giáo viên giới thiệu bài mới
* Nội dung 2: Các hoạt động lập với số lần chưa biết trước
Yêu cầu hs đọc ví dụ 1sgk/67
Gọi 2-3 hs đọc ví dụ sgk
Gọi hs giỏi phân tích ví dụ 
Học sinh chú ý lắng nghe
Học sinh đọc ví dụ 2 sgk/67
Gọi 2-3 hs đọc ví dụ sgk
Phân tích ví dụ 
Học sinh chú ý lắng nghe 
Hướng dẫn hs xây dựng thuật tốn
Nghe giáo viên hướng dẫn, sau đĩ tự xây dựng thuật tốn
Chạy tay cho học sinh xem (Chỉ nên chạy tay thử từ 1 đến 10)
Chú ý nghe .
Hs ghi vở ví dụ 2
Giới thiệu sơ đồ khối
Nêu nhận xét 
* Nội dung 3: Ví dụ về lặp với số lần chưa biết trước
Cĩ thể sử dụng lệnh lặp với số lần lặp chưa biết trước trong các chương trình lập trình . Sau đây ta xét câu lệnh và ví dụ trong TP
Giới thiệu cú pháp lệnh
	while  do .;
Học sinh chú ý nghe và ghi chép 
Xét ví dụ 3 
Chúng ta biết rằng, nếu n càng lớn thì càng nhỏ, nhưng luơn luơn lớn hơn 0. Với giá trị nào của n thì < 0.005 hoặc < 0.003 ? 
(Gv đưa phim trong ví dụ 3)
Đọc ví dụ 3 (Phim trong)
Giới thiệu chương trình mẫu sgk (Giáo viên in chương trình mẫu trên phim trong)
Học sinh quan sát 
Chạy tay cho học sinh xem
Chú ý nghe và tự chạy tay lại 
Yêu cầu học sinh mở máy tính và mở chương trình ví dụ 3 (giáo viên chuẩn bị chương trình mẫu và đưa lên các máy)
Cho học sinh chạy chương trình trên máy 
Yêu cầu hs thay điều kiện sai_so = 0.003 thành 0.002 ; 0.001 ; 0.005 ; ...
Học sinh thực hiện 
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
1. Các hoạt động lặp với số lần chưa biết trước
a/ Ví dụ 1(sgk).
b/ Ví dụ 2 : Nếu cộng lần lượt n số tự nhiên đầu tiên (n = 1, 2, 3,...), Cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000?
Giải :
Kí hiệu S là tổng cần tìm và ta cĩ thuật tốn như sau:
+ Bước 1. S ¬ 0, n ¬ 0.
+ Bước 2. Nếu S ≤ 1000, n ¬ n + 1; ngược lại chuyển tới bước 4.
+ Bước 3. S ¬ S + n và quay lại bước 2.
+ Bước 4. In kết quả : S và n là số tự nhiên nhỏ nhất sao cho S > 1000. Kết thúc thuật tốn.
* Ta cĩ sơ đồ khối :
* Nhận xét : Để viết chương trình chỉ dẫn máy tính thực hiện các hoạt động lặp như trong các ví dụ trên, ta cĩ thể sử dụng câu lệnh cĩ dạng lặp với số lần chưa biết trước
2. Ví dụ về lệnh lặp với số lần chưa biết trước
Trong Pascal câu lệnh lặp với số lần chưa biết trước cĩ dạng:
while do ;
trong đĩ:
điều kiện thường là một phép so sánh;
câu lệnh cĩ thể là câu lệnh đơn giản hay câu lệnh ghép.
Câu lệnh lặp này được thực hiện như sau:
Bước 1 : Kiểm tra điều kiện.
Bước 2 : Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.
Ví dụ 3
Với giá trị nào của n ( n>o ) thì < 0.005 hoặc < 0.003? Chương trình dưới đây tính số n nhỏ nhất để nhỏ hơn một sai số cho trước : 
uses crt;
var x: real;
n: integer;
const sai_so=0.003;
begin
clrscr;
x:=1; n:=1;
while x>=sai_so do begin n:=n+1; x:=1/n end;
writeln('So n nho nhat de 1/n < ',sai_so:5:4, 'la ',n);
readln
end.
Củng cố và luyện tập
Yêu cầu học sinh đọc ghi nhớ
Nêu một vài ví dụ với số lần lặp chưa biết trước.
Hướng dẫn học ở nhà
Học bài
Xem phần còn lại của bài học
V. Rút kinh nghiệm

File đính kèm:

  • docTiet 41.doc