Giáo án Tin học 8 - Tiết 49-50 - Hoàng Thị Lan

Giáo án Tin học 8 - Tiết 49-50 - Hoàng Thị Lan

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.

- 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 lặp đi lặp lại công việc đến khi điều kiện được thoả mãn.

2. Kỹ Năng

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

3. Thái độ: Nghiêm túc

II. CHUẨN BỊ

1. Giáo viên: giáo án, máy chiếu

2. Học sinh: Kiến thức cũ, sách, vở.

III - PHƯƠNG PHÁP

- Thuyết trình, giảng giải, vấn đáp.

IV - TIẾN TRÌNH LÊN LỚP

A - ỔN ĐỊNH (1’)

B - KIỂM TRA BÀI CŨ : kh«ng.

 

doc 5 trang Người đăng tranhiep1403 Lượt xem 1333Lượt tải 1 Download
Bạn đang xem tài liệu "Giáo án Tin học 8 - Tiết 49-50 - Hoàng Thị Lan", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Ngày giảng:
8A,8C- 22/2
8B,E- 24/2
8D- 25/2
TiÕt 49 - 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.
- 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 lặp đi lặp lại công việc đến khi điều kiện được thoả mãn.
2. Kỹ Năng
- Hiểu hoạt động của câu lệnh lặp với số lần chưa biết trước whiledo
3. Thái độ: Nghiêm túc
II. CHUẨN BỊ
1. Giáo viên: giáo án, máy chiếu
2. Học sinh: Kiến thức cũ, sách, vở.
III - PHƯƠNG PHÁP
- Thuyết trình, giảng giải, vấn đáp.
IV - TIẾN TRÌNH LÊN LỚP
A - ỔN ĐỊNH (1’)
B - KIỂM TRA BÀI CŨ : kh«ng.
C - BÀI MỚI (40’)
HOẠT ĐỘNG CỦA THẦY VÀ TRÒ
NỘI DUNG KIẾN THỨC
Hoạt động 1: 15’
GV: Đưa ra một số ví dụ về lặp chưa biết trước
HS: Chú ý lắng nghe và hiểu
GV: Đưa ra ví dụ 1 SGK
? Điều kiện lặp trong ví dụ là gì?
HS: Trả lời 
GV: Đưa ra ví dụ 2
?Điều kiện lặp trong ví dụ là gì?
HS: Trả lời 
Hoạt động 2: 25’
GV: Đưa ra câu lệnh lặp trong Pascal
Hs: Chú ý và quan sát câu lệnh.
- Ghi vở
GV: đưa ví dụ 3 SGK
- Giảng giải, hướng dẫn học sinh cách thực hiện câu lệnh trong bài tập này
HS: Chú ý lắng nghe và quan sát
HS: Gõ bài tập vào máy tính và chạy thử chương trình
1. Các hoạt động lặp với số lần chưa biết trước
Trong thực tế có nhiều hoạt động được thực hiện lặp đi lặp lại với số lần chưa được biết trước.
Ví dụ 1. (SGK)
Điều kiện để kết thúc hoạt động lặp đó là có người nhấc máy.
Ví dụ 2. (SGK)
 Kí hiệu S là tổng cần tìm và ta có thuật toá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 toán.
Việc thực hiện phép cộng ở thuật toán trên được lặp lại với số lần chưa biết trước, phụ thuộc vào một điều kiện (S ≤ 1000) và chỉ dừng khi điều kiện đó sai. 
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:
Kiểm tra điều kiện.
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. 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? 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.
Nếu chạy chương trình này, ta sẽ nhận được kết quả n = 334. Thay điều kiện sai_so =0.003 lần lượt bằng các điều kiện sai_so =0.002 và sai_so =0.001, ta nhận được các kết quả n = 501 và n = 1001. Có thể kiểm tra các kết quả này bằng một phép chia đơn giản.
	D - CỦNG CỐ (3’)
- Hiểu các hoạt động lặp với số lần chưa biết trước
- Biết sử dụng câu lệnh while..do
E - HƯỚNG DẪN VỀ NHÀ (1’)
- Về nhà xem lại bài học tiết sau chúng ta học tiếp.
Ngày giảng:
8A:
8B:
8C:.	
8D:.
8E:..
TiÕt 50: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC (T2)
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.
- 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 lặp đi lặp lại công việc đến khi điều kiện được thoả mãn.
2. Kỹ Năng
- Hiểu hoạt động của câu lệnh lặp với số lần chưa biết trước whiledo
3. Thái độ: Nghiêm túc
II. CHUẨN BỊ
1. Giáo viên: giáo án, máy chiếu
2. Học sinh: Kiến thức cũ, sách, vở.
III - PHƯƠNG PHÁP
- Thuyết trình, giảng giải, vấn đáp.
IV - TIẾN TRÌNH LÊN LỚP
A - ỔN ĐỊNH (1’)
B - KIỂM TRA BÀI CŨ (3’)
1. Hãy viết câu lệnh lặp với số lần chưa biết trước trong Pascal?
.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
C - BÀI MỚI (38’)
HOẠT ĐỘNG CỦA THẦY VÀ TRÒ
NỘI DUNG KIẾN THỨC
Hoạt động 1: 13’
GV: đưa ví dụ 4 SGK
- Giảng giải, hướng dẫn học sinh cách thực hiện câu lệnh trong bài tập này
HS: Chú ý lắng nghe và quan sát
HS: Gõ bài tập vào máy tính và chạy thử chương trình
Hoạt động 2: 15’
GV: đưa ví dụ 5 SGK
- Giảng giải, hướng dẫn học sinh cách thực hiện câu lệnh trong bài tập này
HS: Chú ý lắng nghe và quan sát
HS: Gõ bài tập vào máy tính và chạy thử chương trình
Hoạt động 3: 10’
GV: Hướng dẫn học sinh cách thực hiện một số lỗi trong chương trình
HS: Chú ý lắng nghe và ghi vở
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 n:=n+1; S:=S+n end;
writeln('So n nho nhat de tong > 1000 la ',n);
writeln('Tong dau tien > 1000 la ',S);
end.
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.
Ví dụ 5. Để 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);
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. 
3. Lặp vô hạn lần – Lỗi lập trình cần tránh
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. Chẳng hạn, chương trình dưới đây sẽ lặp lại vô tận:
var a:integer;
begin
a:=5;
while a<6 do writeln('A');
end.
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".
	D - CỦNG CỐ (3’)
- Hiểu các hoạt động lặp với số lần chưa biết trước
- Biết sử dụng câu lệnh while..do
E - HƯỚNG DẪN VỀ NHÀ (2’)
- Về nhà xem lại bài học tiết sau chúng ta học tiếp.

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

  • docTiet 4950.doc