Giáo án Tin học 8 - Học kỳ 2 - Năm học 2008-2009 (Bản mới)

Giáo án Tin học 8 - Học kỳ 2 - Năm học 2008-2009 (Bản mới)

I. Mục tiêu

- Củng cố kiến thức vòng lặp với số lần biết trước và câu lệnh ghép

- Vận dụng vòng lặp for .to .do và câu lệnh ghép viết một số bài toán đơn giản.

- Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng.

II. Chuẩn bị

- Giáo viên: Sách giáo khoa, giáo án, tài liệu tin học có liên quan.

- Học sinh: Đọc tài liệu ở nhà trước khi.

III. Tiến trình dạy - học

Hoạt động 1: Kiểm tra bài cũ.

- Kiểm tra sự chuẩn bị của học sinh .

- ? Sử dụng vòng lặp for do viết chương trình tính tổng của 10 số tự nhiên đầu tiên?

Hoạt động 2: Bài tập dạng lí thuyết.

 

doc 28 trang Người đăng tranhiep1403 Lượt xem 1220Lượt tải 2 Download
Bạn đang xem 20 trang mẫu của tài liệu "Giáo án Tin học 8 - Học kỳ 2 - Năm học 2008-2009 (Bản mới)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tuần 20
Tiết 37
Ngày soạn: 01/01/2009
Ngày dạy: 06/01
Bài 7: Câu lệnh lặp
I. Mục tiêu
	- Biết được nhu cầu cần có cấu trúc lặp 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 để chỉ dẫn máy tính thực hiện lặp đi lặp lại một công việc nào đó một số lần.
II. Chuẩn bị
Giáo viên: Giáo án và máy chiếu.
Học sinh: Sách, vở, bút,
III. Tiến trình Dạy – Học
Trình chiếu
Tiết 38
Ngày soạn: 01/01/2009
Ngày dạy: 08/01
Bài 7: Câu lệnh lặp
I. Mục tiêu
	- Hiểu được câu lệnh lặp với số lần biết trước for .. do trong Pascal.
	- Viết đúng được câu lệnh for . Do trong một số tình huống đơn giản.
	- Biết lệnh ghép trong Pascal.
II. Chuẩn bị
Giáo viên: Giáo án và máy chiếu.
Học sinh: Sách, vở, bút,
III. Tiến trình Dạy – Học
Trình chiếu
Tuần 21
Tiết 39
Ngày soạn: 08/01/2009
Ngày dạy: 13/01
Bài tập
I. Mục tiêu
- Củng cố kiến thức vòng lặp với số lần biết trước và câu lệnh ghép
- Vận dụng vòng lặp for .to.do và câu lệnh ghép viết một số bài toán đơn giản.
- Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng.
II. Chuẩn bị
- Giáo viên: Sách giáo khoa, giáo án, tài liệu tin học có liên quan.
- Học sinh: Đọc tài liệu ở nhà trước khi.
III. Tiến trình dạy - học
Hoạt động 1: Kiểm tra bài cũ.
Kiểm tra sự chuẩn bị của học sinh .
? Sử dụng vòng lặp for  do viết chương trình tính tổng của 10 số tự nhiên đầu tiên?
Hoạt động 2: Bài tập dạng lí thuyết.
GV: Đưa ra đề bài toán, yêu cầu học sinh nghiên cứu theo nhóm.
-HS: Hoạt động theo nhóm tìm câu trả lời.
- HS: Đại diện của hai nhóm trình bày kết quả của nhóm.
-GV: Nhận xét kết quả cuối cùng.
- GV: Đưa bài tập 2 lên bảng, yêu cầu một học sinh đứng tại chỗ trả lời.
- HS: Một học sinh đứng tại chỗ trả lời bài tập 2. một học sinh khác đứng tại chỗ nhận xét.
- GV: Kết luận kết quả của bài 2.
-GV: GV: Đưa ra đề bài toán, yêu cầu học sinh nghiên cứu theo nhóm.
-HS: Hoạt động theo nhóm tìm câu trả lời.
- HS: Đại diện của hai nhóm trình bày kết quả của nhóm.
- GV: Nhận xét.
Bài 1: SGK (T60)
Bài 2: SGK (T60)
- Câu lệnh lặp có tác dụng chỉ dẫn cho máy tính thực hiện lặp lại một câu lệnh hay một nhóm câu lệnh với một số lần nhất định.
- Câu lệnh lặp làm giảm nhẹ công sức của người viết chương trình.
Bài 3 SGK (T60)
- Điều kiện cần kiểm tra trong câu lệnh lặp for  do là giá trị của biến đếm phải nằm trong đoạn [giá trị đầu, giá trị cuối ], nếu thoả mãn điều kiện đó thì câu lệnh sẽ được thực hiện, nếu không thoả mãn câu lệnh sẽ bị bỏ qua.
Hoạt động 3: Bài tập dạng thực hành
GV: Đưa ra đề bài toán và yêu cầu một học sình đứng tại vị trí để trả lời bài tập.
-HS: 1em đứng tại vị trí trả lời, 1 em khác nhận xét.
- GV: Nhận xét kết quả câu trả lời của 2 bạn.
GV: Đưa bài tập
HS: Suy luận kết quả theo lí thuyết
GV: Ghi kết quả suy luận của học sinh lên bảng
HS: gõ chương trình vào máy và chạy thử
HS: So sánh kết quả nhận được với kết quả đã suy lận
1 HS giải thích kết quả thu được
GV Đưa ra bài tập 6.
HS: Làm việc theo nhóm, sau 5 phút đại diện của 2 nhóm sẽ lên báo báo kết quả.
Các nhóm khác nhận xét
GV: Giúp các em hoàn thành thuật toán.
Bài 5 SGK (T61)
Tất cả các câu lệnh đều không hợp lệ vì:
a) giá trị đầu lớn hơn giá trị cuối
b) giá trị đầu và giá trị cuối có kiểu là số thực không cùng kiểu với biến đếm
c) sai cấu trúc câu lệnh
d) sai cấu trúc câu lệnh
e) biến đếm có kiểu là kiểu số thực nên không hợp lệ.
Bài 4 SGK (T61)
Giá trị của j sau mỗi lần lặp sẽ được tăng thêm 2 đơn vị
2, 4, 6, 8, 10, 12.
Bài 6 SGK (T 61)
- Mô tả thuật toán.
Bước 1: nhập n
 A<-0, i<-1
Bước 2: A<- 2\i(i+2)
Bước 3: i<-i+1
Bước 4: nếu i<=n quay về bước 2
Bước 5: ghi kết quả A ra màn hình và kết thúc thuật toán.
Hoạt dộng 4: Củng cố
Giáo viên hệ thống lại toàn bộ nội dung bài học. 
Giáo viên nhận xét tiết học, rút kinh nghiệm tiết học.
Hoạt động 5: Hướng dẫn về nhà
Học bài theo sách giáo khoa và vở ghi, Ôn lại các kiến thức chính đã học và luyện viết, làm đi làm lại nhiều lần.
Học kĩ lí thuyết, viết chương trình tính tông 100 số tự nhiên, N số tự nhiên đầu tiên.
về nhà viết chương trình pascal bài 6 SGK (T61)
Đọc bài mới để giờ sau học.
Tiết 40
Ngày soạn: 08/01/2009
Ngày dạy: 15/01
Bài tập
I. Mục tiêu
- Củng cố kiến thức vòng lặp với số lần biết trước và câu lệnh ghép.
- Vận dụng vòng lặp for .to.do và câu lệnh ghép viết một số bài toán đơn giản.
- Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng.
II. Chuẩn bị
- Giáo viên: Sách giáo khoa, giáo án, phòng máy tính.
- Học sinh: Đọc tài liệu ở nhà trước khi.
III. Tiến trình dạy - học
Hoạt động 1: Kiểm tra bài cũ
Kiểm tra sự chuẩn bị của học sinh .
? Một em lên bảng viết chương trình pascal cho bài 6 SGK (T61).
Hoạt động 2: Bài tập vận dụng
Giáo viên đưa ra nội dung bài tập,
HS phân tích bài toán tìm hướng giải quyết.
Gv: hướng dẫn học sinh cách làm và viết chương trình lên bảng và yêu cầu học sinh đọc hiểu.
HS: đọc lại chương trình giáo viên đã viết trên bảng và tìm hiểu từng câu lệnh
GV: yêu cầu một học sinh đứng tại vị trí diễn tả tuần tự ý nghĩa của chương trình thông qua diễn tả công việc của từng lệnh trong chương trình.
GV: diễn tả lại một lần để học sinh hiểu sâu hơn về chương trình
Giáo viên đưa ra nội dung bài tập,
HS phân tích bài toán tìm hướng giải quyết.
GV: Đưa ra công thức tính day thừa: 
day thừa = 1*2*3*4*5*.*n
HS: dựa vào bài tập 1 viết chương trình cho bài toán. (viết theo nhóm).
Đại diện của nhóm đứng lên bảng trình bày kết quả. Các nhóm khác nhận xét, rút kinh nghiệm.
GV: Kết luận kết quả cuối cùng.
Yêu cầu một học sinh lên máy chính gõ chương trình vào máy, cả lớp sửa lỗi nếu có, cho chương trình chạy thử, học sinh quan sát kết quả.
HS: chép lại chương trình đã chạy vào vởi.
Bài tập 1: Nhập vào n số nguyên từ bàn phím, tìm số lớn nhất trong dãy số vừa nhập
Program tim_max;
Uses crt;
Var i, n, smax, A : integer;
Begin
Clrscr;
Writeln(‘nhap vao n’); readln(n);
Smax:=-23768;
For i:= 1 to n do
Begin
Writeln(‘nhap vao so thu ’,i); readln(A);
If smax<A then smax:=A;
End;
Writeln(‘so lon nhat la’,A); readln
End.
Bài tập 2: Viết chương trình tính day thừa của n số tự nhiên đầu tiên.
Program tinh_day_thua;
Uses crt;
Var i, n : integer; kq: longint;
Begin
Clrscr;
Writeln(‘nhap vao n’); readln(n);
Kq:=1;
For i:= 1 to n do
Kq:=kq*i;
Writeln(‘ket qua la’,kq); readln
End.
Hoạt động 3: Củng cố
Giáo viên hệ thống lại toàn bộ nội dung bài học.
Nhấn mạnh ý nghĩa và công dụng, cách sử dụng vòng lặp for  do
Nhận xét, rut kinh nghiệm buổi học.
Hoạt động 4: Hướng dẫn về nhà
Học bài theo sách giáo khoa và vở ghi, Ôn lại các kiến thức chính đã học và luyện viết, làm đi làm lại nhiều lần.
Học kĩ lí thuyết, viết chương trình tính tông 100 số tự nhiên, N số tự nhiên đầu tiên.
 - Học sinh về nhà làm bài tập:
 1. tính tổng của n số tự nhiên đầu tiên
 2. Viết chương trình tìm xem có bao nhiêu số dương trong n số nhập vào từ bàn phím Đọc bài mới để giờ sau học.
Tuần 22
Tiết 41
Ngày soạn: 15/01/2009
Ngày dạy: 20/01
Bài thực hành 5
sử dụng lệnh lặp for .. do
I. Mục tiêu
- Vận dụng kiến thức của vòng lặp for do, câu lệnh ghép để viết chương trình.
- Viết được chương trình có sử dụng vòng lặp for  do. Sử dụng được câu lệnh ghép. Rèn luyện kỹ năng đọc hiểu chương trình có sử dụng vòng lặp for .. do.
- Thái độ học tập nghiêm túc, tích cực làm các bài tập thực hành.
II. Chuẩn bị
- Giáo viên: Sách giáo khoa, giáo án, phòng máy hoạt động tốt.
- Học sinh: Đọc tài liệu ở nhà trước khi 
III. Tiến trình lên lớp
Kiểm tra sự chuẩn bị của học sinh .
Chúng ta đã nghiên cứu lý thuyết về vòng lặp for  do. để biết vòng lặp chạy như thế nào thì hôm nay chúng ta cùng nhau đi vào tiết thực hành. Giáo viên ghi tên bài học lên bảng.
Hoạt động 1: Viết chương trình cho các bài tập đã cho về nhà.
GV: yêu cầu mỗi dãy gõ một bài vào máy (10’)
- HS: gõ chương trình, chạy thử chương trình, và báo cáo kết quả.
GV: hỗ trợ học sinh trong quá trình thực hành.
Sau khi kết quả chạy chương trình đã đúng, gv yêu cầu học sinh chữa bài của mình đã làm ở nhà cho đúng theo chương trình đã chạy.
 Bài 1: Tính tổng của n số tự nhiên đầu tiên
Program tinh_tong;
Uses crt;
Var i, n: integer; tong: longin;
Begin
Clrscr;
Tong:=0;
Writeln(‘Nhap vao so n’); readln(n);
For i:=1 to n do
Tong: = Tong+i;
Writeln(‘Tong của’, n,’so tu nhien dautien la’,tong); 
Readln;
End.
2. Viết chương trình tìm xem có bao nhiêu số dương trong n số nhập vào từ bàn phím
Program tinh_so_cac_so_duong;
Uses crt;
Var i,A, dem, n: integer; 
Begin
Clrscr;
Dem:=0;
Writeln(‘Nhap vao so n’); readln(n);
For i:=1 to n do 
begin
writeln(‘nhap vao so thu’,i); readln(A);
if A>0 then dem:=dem+1;
end;
Writeln(‘So cac so duong la’,dem); 
Readln; End.
Hoạt động 2: Bảng cửu chương.
GV: Đưa ra nội dung của bài toán.
HS: Nghiên cứu bài toán, tìm input và output.
GV: Đưa nội dung chương trình lên màn hình, yêu cầu học sinh đọc hiểu chương trình.
HS: đọc, phân tích câu lệnh tìm hiểu hoạt động của chương trình.
GV: yêu cầu một học sinh đứng tại vị trí trình bày hoạt động của chương trình, các nhóm khác cùng tham gia phân tích.
HS: tham gia hoạt động của giáo viên
GV: yêu cầu học sinh lập bảng hoạt động của chương trình theo mẫu:
Giả sử N=2:
Bước
i
i<=10
Writeln(n,’.’,i,’=’,n*i)
1
1
đúng
2.1=2
HS: các nhóm lập bảng và đại diện nhóm báo cáo kết quả.
GV: nhận xét.
GV: cho chương trình chạy trên máy, yêu cầu học sinh quan sát kết quả.
Bài 2: Viết chương trình in ra màn hình bảng nhân của một số từ 1 đến 9, và dừng màn hình để có thể quan sát kết quả.
Program Bang_cuu_chuong;
Uses crt;
Var i, n: integer;
Begin
Clrscr;
Writeln(‘Nhap vao so n’); readln(n);
Writeln(‘Bang nha’,n);
Writeln;
For i:=1 to 10 do
Writeln(n,’x’,i:2,’=’,n*i:3); 
Readln;
End.
Hoạt động 3: Củng cố
Giáo viên hệ thống lại toàn bộ nội dung bài học.
Nhận xét, rút kinh nghiệm tiết thực hành
Hoạt động 4: Hướng dẫn về nhà
Học bài theo sách giáo khoa và vở ghi, Ôn lại các kiến thức chính đã học và luyện viết, làm đi làm lại nhiều lần.
Học kĩ lí thuyết, viết chương trình tính tông 100 số tự nhiên, N số tự nhiên đầu tiên.
về nhà xem trước bài thực hành 2 SGK (T63) viết chương trình in ra màn hình bảng cửu chương từ 2 đến 9.
Đọc bài mới để giờ sau học.
Tiết 42
Ngày soạn: 15/01/2009
Ngày dạy: 03/02
Bài thực hành 5
sử dụng lệnh lặp for .. do
I. Mục tiêu
- Vận dụng kiến thức của vòng lặp for do, câu lệnh ghép để viết chương trình, tìm hiểu câu lệnh gotoxy(), where, lệnh for lồng trong for
- Viết chương trình có sử dụng vòng lặp for  do. Sử dụng câu lệnh ghép trong chương trình. Rèn luyện kỹ năng đọc hiểu chương trình có sử dụng vòng lặp for .. do.
- Thái độ học tập nghiêm túc, tích cực làm các bài  ... ệ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 while...do trong Pascal.
II. Chuẩn bị
- GV: Giỏo ỏn, mỏy chiếu, mỏy tớnh. 
- HS: Sỏch, vởđọc trước bài ở nhà.
III. Tiến trỡnh dạy - học
Hoạt động 1: Kiểm tra bài củ
Viết thuật toỏn tớnh tổng 100 số tự nhiờn đầu tiờn 1,2,3,,99,100
Bước 1. SUM ơ 0; i ơ 0.
Bước 2. i ơ i + 1.
Bước 3. Nếu i ≤ 100, 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.
Đặt vấn đề: Với bài toỏn trờn, trong TP ta sử dụng vũng lặp fortodo thỡ sẽ thực hiện dễ dàng . Nhưng nếu ta thay số 100 bởi n ( tớnh tổng n số tự nhiờn đầu tiờn ) thỡ ta sẽ gặp nhiều khú khăn trong việc sử dụng vũng lặp fortodo bởi lỳc này số lần lặp khụng biết trước. Vậy ta phải làm như thế nào ? Giới thiệu bài mới .
Hoạt động 2: Cỏc hoạt động lặp với số lần chưa biết trước
+ G : y/c hs đọc vớ dụ 1sgk/67
+ G : Phõn tớch vớ dụ 
+ G : Hướng dẫn hs xõy dựng thuật toỏn
+ G : Chạy tay cho học sinh xem ( Chỉ nờn chạy tay thử từ 1 đến 10 )
+ G : Giới thiệu sơ đồ khối
+ G : Nờu nhận xột 
+ G : 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
+ G : Giới thiệu cỳ phỏp lệnh
while  do .;
+ G : 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 )
+ G : 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 )
+ G : Chạy tay cho học sinh xem
+ G : 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 )
+ G : Cho học sinh chạy chương trỡnh trờn mỏy 
+ G : Yờu cầu hs thay điều kiện sai_so = 0.003 thành 0.002 ; 0.001 ; 0.005 ; ...
1. Cỏc hoạt động lặp với số lần chưa biết trước
a/ Vớ dụ 1(sgk).
+ Hs : 2-3 hs đọc vớ dụ sgk
+ Hs : Chỳ ý lắng nghe
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?
+ Hs : Nghe giỏo viờn hướng dẫn, sau đú tự xõy dựng thuật toỏn
+ Hs : Chỳ ý nghe .
 Hs ghi vở vớ dụ 2
Giải :
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.
* 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. 
+ Hs : Đọc vớ dụ 3 
+ Hs : quan sỏt 
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.
+ Hs : thực hiện 
Hoạt động 3: Củng cố
Giáo viên hệ thống lại toàn bộ kiến thức đã học.
Hoạt động 4: Hướng dẫn về nhà
Học bài theo sách giáo khoa và vở ghi.
Làm bài tập 1, 2, 3 SGK trang71.
Đọc trước Bài 8: lặp với số lần chưa biết trước.
Tiết 50
Ngày soạn: 12/02/2009
Ngày dạy: 03/03
Bài 8: lặp với số lần chưa biết trước
I.Mục tiờu
- 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 while...do trong Pascal.
II. Chuẩn bị
- GV: Giỏo ỏn, mỏy chiếu, mỏy tớnh. 
- HS: Sỏch, vởđọc trước bài ở nhà.
III. Tiến trỡnh dạy - học
Hoạt động 1: Kiểm tra bài củ
?Viết cú pháp câu lệnh lặp với số lần chưa biết trước rồi giải thích.
?Làm bài tập 2 trang 71.
Hoạt động 2: Xột c ỏc vớ dụ.
+ G : ta tiếp tục xột cỏc vớ dụ mà trong chương trỡnh cú cõu lệnh với số lần lặp chưa biết trước
+ G : Chạy tay cho học sinh xem
+ G : Cho học sinh chạy chương trỡnh trờn mỏy 
+ G : chạy chương trỡnh này, ta nhận được giỏ trị ntn?
Viết chương trỡnh tớnh tổng 
+ G : Cho học sinh quan sỏt.
+ G : Chạy tay ( cả hai chương trỡnh ) cho học sinh xem
+ G : so sỏnh kết quả khi chạy hai chương trỡnh 
+ G : 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.
+ G : Giới thiệu phần 3
+ G : 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 
+ G : 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.
+ G : 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".
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:
+ Hs : chỳ ý nghe . 
+ Hs : thực hiện
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.
+ 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.
Vớ dụ 5. Viết chương trỡnh tớnh tổng 
+ Hs : quan sỏt 
Để 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);
+ Hs : chỳ ý nghe và tự chạy tay lại 
+ Hs : Kết quả bằng nhau 
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 : 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. 
+ Hs : Chỳ ý nghe 
Hoạt động 3: Củng cố
Giáo viên hệ thống lại toàn bộ kiến thức đã học.
Hoạt động 4: Hướng dẫn về nhà
Học bài theo sách giáo khoa và vở ghi.
Làm bài tập 4, 5 SGK trang71.
Đọc trước Bài TH 6.
Tuần 27
Tiết 51
Ngày soạn: 19/02/2009
Ngày dạy: 04/03
Bài thực hành 5: 
Sử dụng lệnh While  do
I. Mục tiêu 	
- Vận dụng kiến thức của vòng lặp while ... do để viết chương trình. Biết lựa chọn câu lệnh lặp while ... do hoặc For ... do cho phù hợp với tình huống cụ thể.
- Rèn luyện kỹ năng về khai báo và sử dụng biến, kĩ năng đọc hiểu chương trình. Biết vai trò của việc kết hợp các cấu trúc điều khiển.
- Thái độ học tập nghiêm túc, tích cực làm các bài tập thực hành.
II. Chuẩn bị
- Giỏo viờn: Giỏo ỏn, phũng mỏy tớnh, sgk.
- Học sinh: Kiến thức cũ, sgk.
III. Tiến trỡnh dạy – học 
Hoạt động 1: Kieồm tra bài cũ
 ? Viết cú pháp của câu lệnh lặp while ... do và For ... do.
Hoạt động 2: Thực hành
 Chúng ta đã nghiên cứu lý thuyết về vòng lặp While ... do. để biết vòng lặp chạy như thế nào thì hôm nay chúng ta cùng nhau đi vào tiết thực hành. 
Gọi Hs đọc bài toán và nêu yêu cầu bài toán.
? Làm thế nào để tính trung bình n số thực x1, x2, . . ., xn
? Dữ liệu đầu vào (Input) của bài toán là gì 
? Dữ liệu đầu ra (Output) của bài toán là gì
Gọi Hs nêu thuật toán.
Gv nhận xét và đưa ra thuật toán.
 ? Dựa vào việc thuật toán ở trên, theo em cần khai báo những biến gì cho chương trình bài toán.
Gv kết luận và đưa ra chương trình trình như Sgk.
 ? Tìm hiểu ý nghĩa từng câu lệnh.
Gv mô phỏng hoạt động chính của chương trình với n = 3
Yêu cầu Hs hoạt động nhóm để thực hiện các công việc sau:
+ Gõ và lưu chương trình với tên Tinh_TB.
+ Dịch và sửa lỗi nếu có và chạy với bộ số dữ liệu tuỳ ý đề kiểm tra kết quả nhận được.
+ Thử viết lại chương trình bằng cách sử dụng câu lệnh For...do thay cho câu lệnh while . . . do.
? Khi nào ta dùng câu lệnh For . . . do và khi nào ta dùng câu lệnh While . . . do
Dãy số thực x1, x2, . . ., xn 
Giá trị trung bình 
(x1+x2+. . . +xn) / n
Hs nêu thuật toán.
Hs trả lời.
Hs làm việc theo nhóm cử đại diện báo cáo.
Với câu lệnh lặp khi biết điều kiện đã biết trước thì sử dụng câu lệnh lặp For . . . do, còn khi lặp với số lần chưa biết trước thì sử dụng câu lệnh lặp While . . . do
Hoạt động 3: Củng cố
- Nhận xét toàn bộ kiến thức chính đã học trong giờ.
	- Nhận xét đánh giá giờ thực hành.
Hoạt động 4: Hướng dẫn về nhà
	- Chuaồn bũ baứi cho tieỏt sau.
	- Ôn lại câu lệnh và tập viết một số chương trình đơn giản.
Tiết 52
Ngày soạn: 19/02/2009
Ngày dạy: 10/03
Bài thực hành 5: 
Sử dụng lệnh While  do
I. Mục tiêu 	
- Vận dụng kiến thức của vòng lặp while ... do để viết chương trình. Biết lựa chọn câu lệnh lặp while ... do hoặc For ... do cho phù hợp với tình huống cụ thể.
- Rèn luyện kỹ năng về khai báo và sử dụng biến, kĩ năng đọc hiểu chương trình. Biết vai trò của việc kết hợp các cấu trúc điều khiển.
- Thái độ học tập nghiêm túc, tích cực làm các bài tập thực hành.
II. Chuẩn bị
- Giỏo viờn: Giỏo ỏn, phũng mỏy tớnh, sgk.
- Học sinh: Kiến thức cũ, sgk.
III. Tiến trỡnh dạy – học 
Hoạt động 1: Kieồm tra bài cũ.
	?Nêu ý nghĩa của câu lệnh lặp while ... do và For ... do.
	?Em hiểu thế nào là một số nguyên tố.
Hoạt động2: Thực hành.
- Yêu cầu HS đọc Bài tập 2.
- Giảng giải cho hs hiểu được ý tưởng để giải quyết bài toán.
Thảo luận nhóm để làm các việc sau:
+ Xác định Input và Output.
+ Mô tả thuật toán.
- Thực hiện viết chương trình trên máy tính.
- Thực hiện nghiêm túc yêu cầu của gv.
- Chú ý nghe giảng.
- Tích cực hoạt đông hoàn thành yêu cầu của gv.
- Hoàn thiện chương trình, nếu có lỗi tiến hành chỉnh sửa.
- Chạy chương trình với các dữ liệu khác nhau để kiểm tra.
- Tiến hành lưu chương trình với tên ‘’Songuyento’’.
Hoạt động 3: Củng cố
- Nhận xét toàn bộ kiến thức chính đã học trong giờ.
	- Nhận xét đánh giá giờ thực hành.
Hoạt động 4: Hướng dẫn về nhà
	- Ôn lại toàn bộ kiến thức đã học.

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

  • doc8.doc