Giáo án Tin học 8 - Tiết 53: Bài tập - Năm học 2009-2010 - Ngô Thị Thùy Dung

Giáo án Tin học 8 - Tiết 53: Bài tập - Năm học 2009-2010 - Ngô Thị Thùy Dung

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;

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

 2. Kĩ năng:

Sửa lỗi và viết được chương trình của một số bài toán cơ bản.

 3. Thái độ:

 - Ham thích môn học.

 - Tích cực học tập

II. PHƯƠNG PHÁP:

 Phương pháp thử, trực quan, thảo luận nhóm, thực hành.

III. CHUẨN BỊ:

 1. Giáo viên:

 - SGK, tài liệu, giáo án.

 - Đồ dùng dạy học: máy vi tính

 2. Học sinh:

 - Đọc trước bài và học bài ở nhà.

 - SGK, đồ dùng học tập: máy vi tính

IV. TIẾN TRÌNH LÊN LỚP:

 

doc 3 trang Người đăng tranhiep1403 Lượt xem 1146Lượt tải 0 Download
Bạn đang xem tài liệu "Giáo án Tin học 8 - Tiết 53: Bài tập - Năm học 2009-2010 - Ngô Thị Thùy Dung", để 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: 14/03/2010
Ngày dạy: 17/03/2010
Tuần 28:	
Tiết 53: 	BÀI TẬP
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;
- Hiểu hoạt động của câu lệnh lặp với số lần chưa biết trước. 
	2. Kĩ năng:
Sửa lỗi và viết được chương trình của một số bài toán cơ bản.
	3. Thái độ:
	- Ham thích môn học.
	- Tích cực học tập
II. PHƯƠNG PHÁP:
	Phương pháp thử, trực quan, thảo luận nhóm, thực hành.
III. CHUẨN BỊ:
	1. Giáo viên:
	- SGK, tài liệu, giáo án.
	- Đồ dùng dạy học: máy vi tính
	2. Học sinh:
	- Đọc trước bài và học bài ở nhà.
	- SGK, đồ dùng học tập: máy vi tính
IV. TIẾN TRÌNH LÊN LỚP:
Ổn định lớp. (1’)
	2. Bài mới:
Hoạt động của Gv - Hs
Nội dung
Hoạt động 1: Ôn lại kiến thức trọng tâm. (27’)
Gv: Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp cho trước và câu lệnh lặp với số lần lặp chưa biết trước?
Hs: Trả lời.
Gv: - Như tên gọi của nó, câu lệnh lặp với số lần lặp cho trước chỉ thị cho máy tính thực hiện một lệnh hoặc một nhóm lệnh với số lần đã được xác định từ trước, còn với câu lệnh lặp với số lần lặp chưa biết trước thì số lần lặp chưa được xác định trước. 
 - Trong câu lệnh lặp với số lần cho trước, điều kiện là giá trị của một biến đếm có giá trị nguyên đã đạt được giá trị lớn nhất hay chưa, còn trong câu lệnh lặp với số lần lặp chưa biết trước, điều kiện tổng quát hơn nhiều, có thể là kiểm tra một giá trị của một số thực, cũng có thể là một điều kiện tổng quát khác, ví dụ như một số có chia hết cho 3 hay không,... 
 - Trong câu lệnh lặp với số lần cho trước, câu lệnh được thực hiện ít nhất một lần, sau đó kiểm tra điều kiện. Trong câu lệnh lặp với số lần chưa xác định trước, trước hết điều kiện được kiểm tra. Nếu điều kiện được thỏa mãn, câu lệnh mới được thực hiện. Do đó có thể có trường hợp câu lệnh hoàn toàn không được thực hiện.
Gv: Hãy tìm hiểu các thuật toán sau đây và cho biết khi thực hiện thuật toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? Viết chương trình Pascal thể hiện các thuật toán đó!
a. Thuật toán 1:
Bước 1. S ¬ 10, x ¬ 0.5.
Bước 2. Nếu S £ 5.2, chuyển tới bước 4.
Bước 3. S ¬ S - x và quay lại bước 2.
Bước 4. Thông báo S và kết thúc thuật toán.
b. Thuật toán 2:
Bước 1. S ¬ 10, n ¬ 0.
Bước 2. Nếu S ≥ 10, chuyển tới bước 4.
Bước 3. n ¬ n + 3, S ¬ S - n quay lại bước 2.
Bước 4. Thông báo S và kết thúc thuật toán.
 Hãy nêu nhận xét của em?
Hs: Thảo luận và trả lời.
Gv: Sửa bài làm của học sinh.
a. Thuật toán 1: 10 vòng lặp được thực hiện. Khi kết thúc thuật toán S = 5.0. Đoạn chương trình Pascal tương ứng:
S:=10; x:=0.5;
While S > 5.2 do S := S - x;
writeln(S);
b. Thuật toán 2: Không vòng lặp nào được thực hiện vì ngay từ đầu điều kiện đã không được thỏa mãn nên các bước 2 và 3 bị bỏ qua. S = 10 khi kết thúc thuật toán. Đoạn chương trình Pascal tương ứng:
S:=10; n:=0;
While S<10 do
Begin 
	n := n + 3; 
	S := S-n; 
End;
Writeln(S);
Nhận xét: Trong các thuật toán và chương trình trên, điều kiện được kiểm tra trước khi các bước lặp được thực hiện. Do đó nếu điều kiện không được thỏa mãn ngay từ đầu, các bước lặp sẽ bị bỏ qua. Điều này đặc biệt đúng đối với câu lệnh lặp while..do.
Gv: Hãy chỉ ra lỗi trong các câu lệnh sau đây:
a. x := 10; while x := 10 do x := x + 5;
b. x := 10; while x = 10 do x = x + 5;
c. S:=0; n:=0; while S<=10 do n := n+1; S := S+n;
Hs: Làm bài tập
Hoạt động 2: Thực hành. (15’)
Gv: Cho Hs gõ và chạy chương trình trên máy.
Hs: Thực hành.
1. Lý thuyết:
* Cú pháp câu lệnh lặp với số lần cho trước:
For := to do ;
* Cú pháp câu lệnh lặp với số lần chưa biết trước:
While do ;
2. Thực hành:
Bài 1: Viết chương trình in ra màn hình 5 câu “chào các bạn”
Program bt;
Var i:integer;
Begin
 for i:=1 to 5 do writeln('chao cac ban');
 readln
End.
Bài 2: Viết chương trình tính tổng:
S = 1 + 2 + 3 ++ n, sao cho tổng S nhỏ nhất lớn hơn 1000 
3. Củng cố: (1’)
	 Chốt lại kiến thức trọng tâm đã học.
4. Dặn dò: (1’)
	- Về nhà học bài, thực hành.
	- Coi lại bài chuẩn bị cho bài kiểm tra 1 tiết.

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

  • docbaitap tiet 53.doc