Giáo án Tin học 8 - Học kỳ 2 - Năm học 2009-2010 - Bành Nam Cường

Giáo án Tin học 8 - Học kỳ 2 - Năm học 2009-2010 - Bành Nam Cường

Bài 7: CÂU LỆNH LẶP

I. MỤC ĐÍCH:

- Học sinh biết 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 công việc nào đó một số lần.

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

II. CHUẨN BỊ:

- Sách, hình ảnh giáo án.

- Phòng máy vi tính.

III. TIẾN TRÌNH DẠY – HỌC:

1. ổn định lớp:

2. Kiểm tra bài cũ:

3. Nội dung bài mới:

 1. Đặt vấn đề: Để máy tính thực hiện tính tổng của 100 số tự nhiên đầu tiên thì chúng ta phải ra lệnh cho máy bằng lệnh nào? Để trả lời cho câu hỏi trên chúng ta đi vào nghiên cứu bài học ngày hôm nay.

 

doc 42 trang Người đăng tranhiep1403 Lượt xem 925Lượ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 2009-2010 - Bành Nam Cường", để 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
Bài 7: CÂU LỆNH LẶP
I. MỤC ĐÍCH:
- Học sinh biết 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 công việc nào đó một số lần.
- Hiểu hoạt động của câu lệnh lặp với số lần biết trước for...do trong Pascal.
II. CHUẨN BỊ:
Sách, hình ảnh giáo án.
Phòng máy vi tính.
III. TIẾN TRÌNH DẠY – HỌC:
ổn định lớp:
Kiểm tra bài cũ:
Nội dung bài mới:
 1. Đặt vấn đề: Để máy tính thực hiện tính tổng của 100 số tự nhiên đầu tiên thì chúng ta phải ra lệnh cho máy bằng lệnh nào? Để trả lời cho câu hỏi trên chúng ta đi vào nghiên cứu bài học ngày hôm nay...
Hoạt động của GV – HS
Nội dung
Hoạt động 1:
G: Hằng ngày chúng ta thường phải làm một số việc lặp đi lặp lại một số lần, em hãy lấy ví dụ về một số việc hàng ngày em phải làm?
H: Trả lời.
G: Ghi ví dụ của học sinh lên bảng.
H: Lấy thêm VD khác.
G: Qua những ví dụ các bạn vừa lấy ra trên bảng thì những công việc nào chúng ta đã biết trước số lần lặp đi lặp lại và công việc nào chúng ta chưa biết số lần lặp lại của nó?
H: Tách ví dụ thành hai loại (một loại đã biết trước số lần lặp và một loại chưa biêt số lần lặp )
G: Nhận xét và chốt lại.
1. Các công việc phải thực hiện nhiều lần.
- Công việc không biết trước số lần lặp lại: học bài cho đến khi thuộc hết các bài, các ngày trong tuần các em đều lặp đi lặp lại hoạt động buổi sáng đến trường và buổi trưa trở về nhà.
- Công việc đã biết trước số lần lặp: đi học mỗi sáng 5 tiết, mỗi ngày tập 7 bài thể dục buổi sáng, đánh răng mỗi ngày 3 lần.
=> Để chỉ cho máy tính thực hiện đúng công việc, trong nhiều trường hợp khi viết một chương trình máy tính chúng ta cũng phải viết lặp lại nhiều câu lệnh thực hiện một phép tính nhất định.
Hoạt động 2:
G: Yêu cầu HS lên bảng vẽ một hình vuông cạnh 1 đơn vị độ dài (20cm) và yêu cầu cả lớp theo dõi bạn thực hiện các thao tác trên bảng.
G: Yêu cầu 1 HS khác mô tả lại các bước bạn vẽ trên bảng.
Vậy khi bạn vẽ 1 hình vuông đã thực hiện bao nhiêu thao tác? (hs có thể chỉ trả lời 4 thao tác là vẽ 4 đoạn thẳng).
G: Gợi ý thêm thao tác quay thước.
Các thao tác đó như thế nào? 
G: Như vậy khi vẽ hình vuông có những thao tác lặp đi lặp lại. Thuật toán sau sẽ mô tả các bước để vẽ hình vuông.
G: Mô tả thuật toán trên bảng.
G: Mô tả thuật toán tính tổng các số tự nhiên từ 1→ 100
 Cấu trúc mô tả thuật toán như trên gọi là cấu trúc lặp.
G: Kết luận.
2. Câu lệnh lặp - một lệnh thay cho nhiều lệnh.
VD1: Thuật toán mô tả các bước để vẽ hình vuông.
Bước 1: k ← 0 (k là số đoạn thẳng đã vẽ được).
Bước 2: k ← k+1. Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước 900 sang phải.
Bước 3: Nếu k<4 thì quay lại bước 2; ngược lại kết thúc.
Trong đó: k là biến đếm
Vd2: Thuật toán tính tổng của 100 số tự nhiên đầu tiên: S= 1+2+3+  + 100
Bước 1: S ← 0; i ← 0.
Bước 2: i← i + 1
Bước 3: nếu i ≤ 100, thì S ← S + i và quay lại bước 2; ngược lại kết thúc.
Trong đó: i là biến đếm
- Cách mô tả các hoạt động lặp trong thuật toán trên gọi là cấu trúc lặp.
- Mọi ngôn ngữ lập trình đều có cách chỉ thị cho máy tính thực hiện cấu trúc lặp chỉ với 1 câu lệnh. Đó là câu lệnh lặp.
Củng cố:
- Giáo viên giúp học sinh hệ thống lại các kiến thức của bài thông qua các ví dụ đã học.
Dặn dò:
	- Về nhà xem lại các kiến thức đã học.
	- Chuẩn bị phần tiếp của “Bài 7: Câu lệnh lặp”.
Tiết 38
Bài 7: CÂU LỆNH LẶP(tt)
I. MỤC ĐÍCH:
- Học sinh biết 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 công việc nào đó một số lần.
- Hiểu hoạt động của câu lệnh lặp với số lần biết trước for...do trong Pascal.
II. CHUẨN BỊ:
Sách, hình ảnh giáo án.
Phòng máy vi tính.
III. TIẾN TRÌNH DẠY – HỌC:
ổn định lớp:
Kiểm tra bài cũ:
- Hãy cho một vài ví dụ trong thực tế trong đời sống hằng ngày mà ta phải thực hiện các thao tác được lặp đi lặp nhiều lần?
- Thế nào là cấu trúc lặp?
Nội dung bài mới:
Hoạt động của GV – HS
Nội dung
Hoạt động 1:
G: Trình bày cấu trúc vòng lặp For do
H: Ghi cấu trúc vòng lặp vào vở.
G: Giải thích từng thành phần trong cấu trúc lệnh.
H: Nghe, ghi chép.
G: vận dụng câu lệnh viết vòng lặp cho ví dụ 1 phần 1
Var i, tong: integer;
 Begin
 Tong:=0;
 For i: = 1 to 5 do
 Tong:= tong + i;
 Write(‘tong=’,tong);
 Readln;
 End.
G: Cho chạy chương trình mẫu đã gõ trước trong máy, yêu cầu học sinh quan sát kết quả.
G: Giải thích kết quả của chương trình
H: Đọc và tìm hiểu chương trình
H: Một em đứng tại chỗ phân tích hoạt động của ví dụ.
H: Các em khác thảo luận và cho ý kiến.
G: Trình bày cấu trúc câu lệnh ghép
H: Nghe, ghi chép.
G: cho chạy chương trình mẫu đã gõ trước trong máy, yêu cầu học sinh quan sát kết quả.
G: Giải thích kết quả của chương trình.
3. Ví dụ về câu lệnh lặp.
- Trong pascal câu lệnh lặp thường gặp có dạng:
+ Câu lệnh lặp dạng tiến:
For := to do ;
Trong đó: for, to, do là các từ khoá, Biến đếm là biến đơn có kiểu nguyên, Giá trị đầu, giá trị cuối là số cụ thể hoặc là biểu thức có kiểu cùng kiểu với biến đếm, giá trị cuối phải lớn hơn giá trị đầu.
Ý nghĩa: Câu lệnh sẽ được thực hiện nhiều lần, mỗi lần thực hiện câu lệnh là một lần lặp và sau mỗi lần lặp biến đếm sẽ tự động tăng lên 1 đơn vị, tăng cho đến khi giá trị của biến đếm lớn hơn giá trị cuối thì vòng lặp được dừng lại.
- Cấu trúc của câu lệnh lặp lùi:
For := downto do ;
Ý nghĩa: Câu lệnh sẽ được thực hiện nhiều lần, mỗi lần thực hiện câu lệnh là một lần lặp và sau mỗi lần lặp biến đếm sẽ tự động giảm đi1 đơn vị, giảm cho đến khi giá trị của biến đếm nhỏ hơn giá trị đầu thì vòng lặp được dừng lại.
- số lần lặp = giá trị cuối - giá trị đầu + 1
=> for do là cấu trúc lặp với số lần lặp biết trước.
* Ví dụ 3 (SGK-58) in ra màn hình thứ tự lần lặp.
Program lap;
Var i: integer;
Begin
For i:=1 to 10 do
Writeln(‘day la lan lap thu’, i);
Readln;
End.
* Ví dụ 4 (SGK-58) Viết chương trình đưa ra màn hình những chữ “0” theo hình trứng rơi.
Program trung_roi;
Uses crt;
Var i: integer;
Begin
Clrscr;
For i:=1 to 10 do
begin
Writeln(‘0’); delay(100); 
end;
Readln;
End.
- Tập hợp các câu lệnh con được đặt trong cặp từ khoá begin end; được gọi là câu lệnh ghép. 
- Câu lệnh có thể là câu lệnh đơn hoặc câu lệnh kép.
- Câu lệnh lặp giúp giảm nhẹ công sức viết chương trình máy tính.
Hoạt động 2:
G: Đưa đề bài lên bảng
H: Lên bảng mô tả thuật toán
Lớp các em làm bài ra giấy nháp.
H: Nhận xét.
G: Giúp HS sửa lại đúng thuật toán.
G: Đưa ra chương trình, chạy thử và phân tích cho học sinh hiểu.
H: Lắng nghe.
H: Quan sát kết quả.
- Ghi bài.
G: Đưa đề bài lên bảng
H: Lên bảng mô tả thuật toán
Lớp các em làm bài ra giấy nháp.
H: Nhận xét.
G: Giúp HS sửa lại đúng thuật toán.
G: Đưa ra chương trình, chạy thử và phân tích cho học sinh hiểu.
H: Lắng nghe.
H: Quan sát kết quả.
- Ghi bài.
4. Tính tổng và tích bằng câu lệnh lặp.
* Ví dụ 5: Chương trình tính tổng N số tự nhiên đầu tiên, với N là số tự nhiên được nhập từ bàn phím.
S = 1+2+3+  + N 
program Tinh_tong;
var 	N,i:integer;
	S:longint;
begin
	write(‘Nhap so N = ‘);readln(N);
	S:= 0;
	for i:= 1 to N do S:= S+i;
	writeln(‘Tong cua’, N, ‘so tu nhien dau tien S = ‘, S);
	readln;
end.
* Kiểu longint có phạm vi từ -231 đến 231 – 1.
* Ví dụ 6: Chương trình tính tích N số tự nhiên, với N là số tự nhiên được nhập từ bàn phím.
N! = 1.2.3.N
program Tinh_Giai_Thua;
var 	N,i:integer;
	P:longint;
begin
	write(‘Nhap so N = ‘);readln(N);
	P:= 1;
	for i:= 1 to N do P:= P*i;
	writeln( N, ‘! = ‘, P);
	readln;
end.
Dặn dò:
- Cấu trúc lặp trong chương trình dùng để làm gì?
- Trong ngôn ngữ lập trình Pascal cấu trúc lặp với số lần lặp cho trước được thể hiện với câu lệnh nào?
Củng cố:
 - Về nhà xem lại các kiến thức đã học.
 - Chuẩn bị cho tiết sau làm bài tập
Tuần 21
Tiết 39
BÀI THỰC HÀNH 5: SỬ DỤNG LỆNH LẶP FOR DO.
I. MỤC ĐÍCH:
 - Học sinh biết sử dụng câu lệnh lặp Fordo để viết một số chương trình đơn giản.
 - Củng cố kiến thức câu lệnh lặp với số lần biết trước.
II. CHUẨN BỊ:
Sách, hình ảnh giáo án.
Phòng máy vi tính.
III. TIẾN TRÌNH DẠY – HỌC:
ổn định lớp:
Kiểm tra bài cũ:
- Cho 1 số ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hằng ngày?
- Hãy nêu cấu trúc của câu lệnh lặp với số lần biết trước Fordo?
Nội dung bài mới:
Hoạt động của GV – HS
Nội dung
Hoạt động 1:
G: h·y gâ ch­¬ng tr×nh trøng r¬i vµo m¸y vµ ch¹y thö.
Hoạt động 2:
? em nµo biÕt ý t­ëng cña bµi nµy ta lµm thÕ nµo?
G: ta nhËp sè vµo tõ bµn phÝm vµ sö dông 1 vßng for cho ch¹y tõ 1 ®Õn 10. Sau ®ã nh©n sè võa nhËp víi tõng biÕn trong vßng for ®ã.
- HS nghiªn cøu ch­¬ng tr×nh SGK cïng nhãm th¶o luËn vµ cho biÕt ch­¬ng tr×nh ch¹y nh­ thÕ nµo? vµ hoµn thµnh b¶ng tiÕn tr×nh sau:
B­íc
i
i£10?
writeln(N,' x',i,' = ', N*i)
1
1
T
3x1 = 3
2
2
T
3x2 = 6
3
3
T
3x3 = 9
4
4
T
3x4 = 12
5
5
T
3x5 = 15
6
6
T
3x6 = 18
7
7
T
3x7 = 21
8
8
T
3x8 = 24
9
9
T
3x9 = 27
10
10
T
3x10 = 30
11
11
F
kh«ng thùc hiÖn lÖnh writeln kÕt thóc
G: yªu cÇu HS gâ ch­¬ng tr×nh vµo m¸y vµ ch¹y ch­¬ng tr×nh víi c¸c gi¸ trÞ nhËp lÇn l­ît b»ng 1,2, ...10 sau ®ã quan s¸t kÕt qu¶
- Khi ch¹y ch­¬ng tr×nh ®ã cã nh­îc ®iÓm g× kh«ng?
G: HS H·y quan s¸t ®o¹n ch­¬ng tr×nh trong s¸ch vµ nghiªn cøu tõng c©u lÖnh, gi¶i thÝch c©u lÖnh ®ã
G: gi¶i thÝch ý nghÜa tõng c©u lÖnh míi ®ã
- HS gâ ch­¬ng tr×nh ®· söa vµ quan s¸t.
1. Bµi 1: ViÕt ch­¬ng tr×nh in ra mµn h×nh b¶ng nh©n cña 1 sè tõ 1 ®Õn 9, sè ®­îc nhËp tõ bµn phÝm vµ dõng mµn h×nh ®Ó quan s¸t kÕt qu¶.
Program bang_nhan;
uses crt;
var N,i : integer;
begin
 clrscr;
Write('NhËp sè N='); Readln(N);
 Writeln;
Write('bang nhan ',N);
 Writeln;
 for i:= 1 to 10 do 
 writeln(N,' x',i:2,' = ', N*i:3);
 readln;
end.
Bµi 2: ChØnh söa ch­¬ng tr×nh ®Ó lµm ®Ñp kÕt qu¶ trªn mµn h×nh.
for i:= 1 do 10 do
begin
 GotoXY(5,WhereY); 
 writeln(N,' x',i:2,' = ', N*i:3);
 writeln;
end;
4. Cñng cè:
Cñng cè l¹i c¸c thuËt to¸n trong c¸c bµi tËp
5. Dặn dò: 
- Häc bµi trong vë ghi vµ SGK.
- Hoµn thiÖn thªm c¸c bµi trªn líp.
Tiết 40
BÀI THỰC HÀNH 5: SỬ DỤNG LỆNH LẶP FOR DO.
I. MỤC ĐÍCH:
- BiÕt viÕt ch­¬ng tr×nh cã sö dông vßng lÆp fordo.
- HS 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
II. CHUẨN BỊ:
Sách, hình ảnh giáo án.
Phòng máy vi tính.
III. TIẾN TRÌNH DẠY – HỌC:
ổn định lớp:
Kiểm tra bài cũ:
? Chóng ta ®· biÕt m¸y d¹ng c©u lÖnh lÆp? h·y chØ ra ®iÓm kh¸c biÖt gi÷a c¸c c©u lÖnh lÆp?
Nội dung bài mới:
Hoạt động của GV – HS
Nội dung
Hoạt động 1:
- Gv giíi thiÖu ch­¬ng tr×nh
- Hs t×m hiÓu ch­¬ng tr×nh
- GV giíi thiÖu ý t­ëng thuËt to¸n lµ xÐt tÊt c¶ c¸c tr­êng hîp vµ kiÓ ... ưới đây sẽ lặp lại vô tận:
var a:integer;
begin
a:=5;
while a<6 do writeln('A');
end.
+ Hs : Quan sát 
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".
H: Chú ý nghe 
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 )
H: quan sát 
G: Chạy tay cho học sinh xem
H: chú ý nghe và tự chạy tay lại 
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 )
H: thực hiện 
G: Cho học sinh chạy chương trình trên máy 
H: thực hiện
G: Yêu cầu hs thay điều kiện sai_so = 0.003 thành 0.002 ; 0.001 ; 0.005 ; ...
H: thực hiện
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.
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.
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 : 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. 
4. Cñng cè:
- Ghi nhớ sgk 
- Làm bài tập 2,3a,bài 5 SGK/71
5. Dặn dò: 
- Về nhà ôn lại tất cả kiến thức về vòng lặp While...Do.
- Tiết sau thực hành.
Tuần 27
Tiết 51
Bµi THỰC HÀNH sè 6: Sö dông lÖnh lÆp While...do
I. MỤC ĐÍCH:
- HiÓu c©u lÖnh lÆp while...do trong ch­¬ng tr×nh TP cã s½n 
- BiÕt lùa chän c©u lÖnh lÆp while...do hoÆc for...do phï hîp víi t×nh huèng cô thÓ.
- RÌn luyÖn kÜ n¨ng vÒ khai b¸o, sö dông biÕn
- RÌn luyÖn kh¶ n¨ng ®äc 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. 
II. CHUẨN BỊ:
Sách, hình ảnh giáo án.
Phòng máy vi tính.
III. TIẾN TRÌNH DẠY – HỌC:
ổn định lớp:
Kiểm tra bài cũ:
 ViÕt có ph¸p, vÏ s¬ ®å, ho¹t ®éng cña c©u lÖnh While ...do?
Nội dung bài mới:
Hoạt động của GV – HS
Nội dung
Ho¹t ®éng 1:
G: yªu cÇu HS lµm bµi 1:
ViÕt ch­¬ng tr×nh sö dông lÖnh lÆp While...do ®Ó tÝnh trung b×nh n sè thùc  x1, x2, x3,..., xn. C¸c sè n vµ x1, x2, x3,..., xn ®­îc nhËp vµo tõ bµn phÝm.
G: h­íng dÉn:
ý t­ëng: Sö dông mét biÕn ®Õm vµ lÖnh lÆp While...do ®Ó nhËp vµ céng dÇn c¸c sè vµo mét biÕn kiÓu sè thùc cho ®Õn khi nhËp ®ñ n sè. 
a) M« t¶ thuËt to¸n cña ch­¬ng tr×nh, c¸c biÕn dù ®Þnh sÏ sö dông vµ kiÓu cña chóng.
b) Gâ ch­¬ng tr×nh sau ®©y vµ l­u ch­¬ng tr×nh víi tªn Tinh_TB:
G: Yªu cÇu:
c) §äc vµ t×m hiÓu ý nghÜa cña tõng c©u lÖnh. DÞch ch­¬ng tr×nh vµ söa lçi, nÕu cã. Ch¹y ch­¬ng tr×nh víi c¸c bé d÷ liÖu ®­îc gâ tõ bµn phÝm vµ kiÓm tra kÕt qu¶ nhËn ®­îc.
d) 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. 
Ho¹t ®éng 2:
G: Nªu c¸c lçi cÇn chó ý nÕu cã cña HS trong lóc thùc hµnh.
GV: NH¾c l¹i nhunwngx ®iÒu cÇn chó ý:
+ Ngoµi cÊu tróc lÆp víi sè lÇn lÆp biÕt tr­íc, c¸c ng«n ng÷ lËp tr×nh cßn cã c¸c c©u lÖnh lÆp víi sè lÇn ch­a biÕt tr­íc.
+ While...do lµ c©u lÖnh lÆp víi sè lÇn ch­a biÕt tr­íc trong Pascal. 
VÒ nhµ xem l¹i bµi tËp 1, xem tr­íc bµi tËp 2.
HS: Thùc hiÖn lµm trªn m¸y:
Program Tinh_Trung_binh;
uses crt;
Var
n, dem: Integer;
x, TB: real;
begin	
 clrscr;
 dem:=0 ; TB:=0 ;
 write('Nhap so cac so can tinh n = '); readln(n);
	while dem<n do
 begin
         dem:=dem+1;
write('Nhap so thu ',dem,'= '); readln(x);
         TB:=TB+x; 
      end;
  TB:=TB/n;
  writeln('Trung binh cua ',n,' so la = ',TB:10:3);
  writeln('Nhan Enter de thoat ...');
  readln
end.
HS: Chó ý ®Ó thùc
4. Cñng cè:
- Cñng cè l¹i kiÕn thøc trong bµi tËp 1
- Đäc tr­íc bµi 2
5. Dặn dò: 
- Về nhà làm trước bài tập 2.
Tiết 52
Bµi THỰC HÀNH sè 6: Sö dông lÖnh lÆp While...do
I. MỤC ĐÍCH:
- HiÓu c©u lÖnh lÆp while...do trong ch­¬ng tr×nh TP cã s½n 
- BiÕt lùa chän c©u lÖnh lÆp while...do hoÆc for...do phï hîp víi t×nh huèng cô thÓ.
- RÌn luyÖn kÜ n¨ng vÒ khai b¸o, sö dông biÕn
- RÌn luyÖn kh¶ n¨ng ®äc 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. 
II. CHUẨN BỊ:
Sách, hình ảnh giáo án.
Phòng máy vi tính.
III. TIẾN TRÌNH DẠY – HỌC:
ổn định lớp:
Kiểm tra bài cũ:
Nội dung bài mới:
Hoạt động của GV – HS
Nội dung
GV yªu cÇu HS lµm bµi tËp 2:
T×m hiÓu ch­¬ng tr×nh nhËn biÕt mét sè tù nhiªn N ®­îc nhËp vµo tõ bµn phÝm cã ph¶i lµ sè nguyªn tè hay kh«ng.
GV: H­íng dÉn:
ý t­ëng: KiÓm tra lÇn l­ît N cã chia hÕt cho c¸c sè tù nhiªn 2 ≤ i ≤ N hay kh«ng. KiÓm tra tÝnh chia hÕt b»ng phÐp chia lÊy phÇn d­ (mod).
a) §äc vµ t×m hiÓu ý nghÜa cña tõng c©u lÖnh trong ch­¬ng tr×nh sau ®©y:
b) Gâ, dÞch vµ ch¹y thö ch­¬ng tr×nh víi mét vµi ®é chÝnh x¸c kh¸c nhau.
GV: Nªu c¸c lçi cÇn chó ý nÕu cã cña HS trong lóc thùc hµnh.
GV: NH¾c l¹i nhunwngx ®iÒu cÇn chó ý:
C©u lÖnh lÆp whiledo cã d¹ng 
while do ;
C©u lÖnh 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µ chuyÓn sang c©u lÖnh tiÕp theo trong ch­¬ng tr×nh. NÕu ®iÒu kiÖn ®óNG, thùc hiÖn c©u lÖnh vµ quay l¹i b­íc 1.
HS thùc hiÖn trªn m¸y tÝnh:
Uses Crt;
Var n,i:integer;
Begin
 Clrscr;
 write('Nhap vao mot so nguyen: ');readln(n);
 If n<=1 then writeln('N khong la so nguyen to')
 else
 begin
 i:=2;
 while (n mod i0) do i:=i+1;
 if i=n then writeln(n,' la so nguyen to!')
 else writeln(n,' khong phai la so nguyen to!');
 end;
readln
end.
4. Cñng cè:
- Cñng cè l¹i kiÕn thøc trong bµi tËp 2
- Häc bµi cò, lµm bµi tËp trong SGK/71
5. Dặn dò: 
- Ôn lại kiến thức để tiết sau làm bài tập.
Tuần 28
Tiết 53
Bµi tËp 
I. MỤC ĐÍCH:
+ 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. 
+ BiÕt söa læi vµ viÕt ®­îc ch­¬ng tr×nh mét sè bµi to¸n c¬ b¶n.
II. CHUẨN BỊ:
Sách, hình ảnh giáo án.
Phòng máy vi tính.
III. TIẾN TRÌNH DẠY – HỌC:
ổn định lớp:
Kiểm tra bài cũ:
KÕt hîp trong giê
Nội dung bài mới:
Hoạt động của GV – HS
Nội dung
Ho¹t ®éng 1:
Bµi tËp 2: 
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.
G: H­íng dÉn HS lµm bµi tËp 3.
+ 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Ï 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.
Cho nhËn xÐt cña em!
Ho¹t ®éng 2:
H­íng dÉn vÒ nhµ:
Xem l¹i c¸c bµi ®· lµm, lµm tiÕp c¸c bµi cßn l¹i, tiÕt sau lµm tiÕp c¸c d¹ng BT.
Bµi tËp 2: 
+ 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.
Bµi 3:
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.
4. Cñng cè:
- Cñng cè l¹i kiÕn thøc trong bµi 
- Häc bµi cò, lµm l¹i c¸c bµi tËp trong SGK
5. Dặn dò: 
- Làm thêm các bài tập trong sgk.
Tiết 54
KiÓm tra 1 tiÕt
I. Môc tiªu: 
- N¾m ®­îc c¸c c©u lÖnh for vµ while ®Ó vËn dông vµo lµm bµi
- So s¸nh ®­îc sù kh¸c biÖt gi÷a 2 c©u lÖnh ®ã.
II. ChuÈn bÞ:
- GV: So¹n bµi, ®Ò kiÓm tra
- HS: ¤n tËp ®Ó buæi sau kiÓm tra.
III . Bµi míi: §Ò kÑp theo
I. MỤC ĐÍCH:
II. CHUẨN BỊ:
Sách, hình ảnh giáo án.
Phòng máy vi tính.
III. TIẾN TRÌNH DẠY – HỌC:
ổn định lớp:
Kiểm tra bài cũ:
Nội dung bài mới:
Hoạt động của GV – HS
Nội dung
4. Cñng cè:
5. Dặn dò: 

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

  • docgiaoancuongbnc.doc