Giáo án môn Tin học 11 - Bài 10: Cấu trúc lặp

Giáo án môn Tin học 11 - Bài 10: Cấu trúc lặp

I. MỤC ĐÍCH YÊU CẦU:

1. Kiến thức:

-Biết được ý nghĩa của cấu trúc lặp;

-Biết được cấu trúc của lệnh lặp For-do trong ngôn ngữ lập trình Pascal;

-Biết sử dụng đúng hai dạng lệnh lặp For-do trong ngôn ngữ lập trình Pascal.

2. Kỹ năng:

Bước đầu sử dụng được lệnh For-do để viết chương trình giải quyết được một số bài toán đơn giản.

3. Thái độ:

II. CHUẨN BỊ:

1. Tài liệu, bài tập: SGK, SGV.

2. Dụng cụ, thiết bị:

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

1. Ổ định, tổ chức lớp: CBL báo cáo sĩ số.

2. Kiểm tra bài cũ: -Viết chương trình nhập vào hai số bất kỳ và xuất ra màn hình giá trị lớn nhất của hai số.

3. Bài giảng:

 

doc 9 trang Người đăng quocviet Lượt xem 2756Lượt tải 1 Download
Bạn đang xem tài liệu "Giáo án môn Tin học 11 - Bài 10: Cấu trúc lặp", để 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: 24/11/2007
Bài 	§10. CẤU TRÚC LẶP
(Tiết PPCT: 13)
I. MỤC ĐÍCH YÊU CẦU:
1. Kiến thức:
-Biết được ý nghĩa của cấu trúc lặp;
-Biết được cấu trúc của lệnh lặp For-do trong ngôn ngữ lập trình Pascal; 
-Biết sử dụng đúng hai dạng lệnh lặp For-do trong ngôn ngữ lập trình Pascal.
2. Kỹ năng: 
Bước đầu sử dụng được lệnh For-do để viết chương trình giải quyết được một số bài toán đơn giản.
3. Thái độ: 
II. CHUẨN BỊ:
1. Tài liệu, bài tập: SGK, SGV.
2. Dụng cụ, thiết bị: 
III. TIẾN TRÌNH LÊN LỚP:
1. Ổ định, tổ chức lớp: CBL báo cáo sĩ số.
2. Kiểm tra bài cũ:	 -Viết chương trình nhập vào hai số bất kỳ và xuất ra màn hình giá trị lớn nhất của hai số.
Điều kiện
 Câu lệnh 1
 Câu lệnh 2
Đúng
Sai
3. Bài giảng:
Hoạt động của thầy và trò
Nội dung ghi bảng
Hoạt động 1:
-Nội dungHĐ: Tìm hiểu ý nghĩa của cấu trúc lặp.
-Mục tiêu: HS thấy được sự cần thiết của cấu trúc lặp trong lập trình.
-Các bước tiến hành:
GV: Gợi ý phương pháp và yêu cầu HS xác định công thức toán học để tính tổng?
HS: Suy nghĩ và đưa ra công thức.
GV: -Đối với BT1, số lần lặp là 100 và việc cộng vào tổng S sẽ kết thúc khi đã thực hiện việc cộng 100 lần.
 -Đối với BT2, số lần lặp chưa biết trước nhưng việc cộng vào tổng S sẽ kết thúc khi điều kiện 1/(a + N) < 0,0001 được thỏa mãn.
HS: Chú ý lắng nghe.
Hoạt động 2:
-Nội dungHĐ: Tìm hiểu câu lệnh For-do.
-Mục tiêu: HS biết được cấu trúc chung của câu lệnh For-do; Hiểu được ý nghĩa của các thành phần trong lệnh; Biết được sự thực hiện của máy khi gặp lệnh For-do; Vẽ được sơ đồ thực hiện lệnh For-do.
-Các bước tiến hành:
GV: Nêu nội dung BT1. Chia lớp thành 4 nhóm, 2 nhóm viết 1 TT giải quyết BT1.
HS: Làm việc theo nhóm và đưa ra TT.
GV: Giải thích thuật toán.
HS: Chú ý nghe.
GV: Yêu cầu HS nghiên cứu SGK và cho biết cấu trúc chung của lệnh For-do?
HS: Đưa ra cấu trúc chung lệnh For-do.
GV: Hãy cho biết ý nghĩa của , và kiểu dữ liệu của chúng?
HS: Dùng để làm giới hạn cho biến đếm và cùng kiểu với biến đếm.
GV: Giải thích sự thực hiện của máy khi gặp lệnh For-do.
HS: Chú ý lắng nghe.
GV: Vẽ được sơ đồ thực hiện lệnh For-do và giải thích các bước thực hiện của máy.
*Sơ đồ dạng lặp tiến:
Biến đếm := giá trị đầu
Lệnh cần lặp;
Biến đếm tăng 1
B. đếm<= G.trị cuối
Đúng
Sai
*Sơ đồ dạng lặp lùi:
Biến đếm := giá trị cuối
Lệnh cần lặp;
Biến đếm giảm 1
B. đếm>= G.trị cuối
Đúng
Sai
1/ Lặp:
Với a là số nguyên và a>2, xét các bài tóan sau:
BT1: (SGK tr 42)
 S = + + +  + 
BT2: (SGK tr 42)
 S = + + +  + + 
Cách tính tổng S cả 2 BT, có nhiều điểm tương tự:
-Xuất phát, S ¬ 1/a;
-Tiếp theo, S ¬ S + 1/(a + N); 
 với N = 1, 2, 3. . .
-Việc cộng này được lặp lại một số lần.
 Cấu trúc lặp mô tả thao tác lặp và được phân biệt có 2 loại là lặp với số lần biết trước và lặp với số lần chưa biết trước .
2/ Lặp với số lần biết trước và câu lệnh For- do:
 BT1:
*Thuật toán Tong_1a:
B1: S ¬ 1/a ; N ¬ 0;
B2: N ¬ N+1;
B3: Nếu N > 100 thì chuyển đến B5;
B4: S ¬ S +1/(a + N); rồi quay lại B2;
B5: Đưa S ra màn hình, rồi kết thúc.
*Thuật toán Tong_1b:
B1: S ¬ 1/a ; N ¬ 101;
B2: N ¬ N -1;
B3: Nếu N < 1 thì chuyển đến B5;
B4: S ¬ S +1/(a + N); rồi quay lại B2;
B5: Đưa S ra màn hình, rồi kết thúc
 Để mô tả cấu trúc lặp với số lần biết trước, Pascal dùng câu lệnh For-do với 2 dạng tiến và lùi.
a/ Dạng lặp tiến:
for := to do ;
b/ Dạng lặp lùi:
for := downto do ;
Trong đó:
-Biến đếm là biến đơn thường có kiểu nguyên.
-Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm.
- Giá trị đầu <= giá trị cuối.
-Nếu giá trị đầu > giá trị cuối thì vòng lặp không được thực hiện.
*Ghi chú: Giá trị của biến đếm được điều chỉnh tự động vì vậy câu lệnh viết sau do không được thay đổi giá trị biến đếm.
Điều kiện
Câu lệnh
Đúng
Sai
c/ Thực hiện:
Điều kiện
Câu lệnh
Đúng
Sai
Điều kiện
Câu lệnh
Đúng
Sai
*Dạng tiến: Câu lệnh sau từ khoá do được thực hiện tuần tự với biến đếm lần lượt nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối.
*Dạng lùi: Câu lệnh sau từ khoá do được thực hiện tuần tự với biến đếm lần lượt nhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu.
4.Tổng kết nội dung, đánh giá cuối bài: 
	-Cấu trúc chung của lệnh For-do; 
-Sơ đồ thực hiện của cấu trúc For-do.
5.Dặn dò, kế hoạch học tập tiết sau: 
-Về nhà học bài và xem trước ví dụ 1, ví dụ 2 (SGK tr44). 
IV. NHỮNG VẤN ĐỀ CẦN RÚT KINH NGHIỆM:
Ngày soạn: 24/11/2007
Bài 	§10. CẤU TRÚC LẶP (tt)
(Tiết PPCT: 14)
III. TIẾN TRÌNH LÊN LỚP:
1. Ổ định, tổ chức lớp: CBL báo cáo sĩ số.
2. Kiểm tra bài cũ:	 Hãy trình bày cấu trúc lặp với số lần biết trước For-do với 2 dạng tiến và lùi? Cho biết sự khác nhau giữa dạng lặp tiến với dạng lặp lùi?
Điều kiện
 Câu lệnh 1
 Câu lệnh 2
Đúng
Sai
3. Bài giảng:
Hoạt động của thầy và trò
Nội dung ghi bảng
Hoạt động 1:
-Nội dungHĐ: Rèn luyện kĩ năng vận dụng câu lệnh For- do trong VD1.
-Mục tiêu: Sử dụng đúng lệnh lặp For-do để giải quyết một số bài toán đơn giản.
-Các bước tiến hành:
GV: Yêu cầu HS nhắc lại thuật toán Tong_1a giải quyết BT1 ở tiết trước?
HS: 
 Thuật toán Tong_1a:
B1: S ¬ 1/a ; N ¬ 0;
B2: N ¬ N+1;
B3: Nếu N > 100 thì chuyển đến B5;
B4: S ¬ S +1/(a + N); rồi quay lại B2;
B5: Đưa S ra màn hình, rồi kết thúc.
GV: Yêu cầu HS xác định giá trị đầu, giá trị cuối và lệnh cần lặp lại trong TT?
HS: -giá trị đầu: 1, 
 -giá trị cuối: 100 
 -lệnh cần lặp lại: S:= S + 1.0/(a+N).
GV: Hướng dẫn HS viết chương trình.
HS: Thực hiện.
GV: Yêu cầu HS nhắc lại thuật toán Tong_1b giải quyết BT1?
HS: 
 Thuật toán Tong_1b:
B1: S ¬ 1/a ; N ¬ 101;
B2: N ¬ N -1;
B3: Nếu N < 1 thì chuyển đến B5;
B4: S ¬ S +1/(a + N); rồi quay lại B2;
B5: Đưa S ra màn hình, rồi kết thúc.
GV: Yêu cầu HS xác định giá trị đầu, giá trị cuối và lệnh cần lặp lại trong TT?
HS: Trả lời các yêu cầu của GV.
GV: Hướng dẫn HS viết chương trình.
HS: Thực hiện.
Hoạt động 2:
-Nội dungHĐ: Rèn luyện kĩ năng vận dụng câu lệnh For- do trong VD2.
-Mục tiêu: Sử dụng đúng lệnh lặp For-do để giải quyết một số bài toán đơn giản.
-Các bước tiến hành:
GV: Gọi HS đọc nội dung VD2 (SGK).
HS: Đọc nội dung VD.
GV: Yêu cầu HS xác định bài toán?
HS: Đứng tại chỗ trả lời.
GV: Hướng dẫn HS viết thuật toán.
HS: Làm việc theo nhóm, sau đó đưa ra thuật toán.
GV: Yêu cầu HS xác định giá trị đầu, giá trị cuối và lệnh cần lặp lại trong BT?
HS: Trả lời các yêu câu của GV.
GV: Hướng dẫn HS viết chương trình.
HS: Thực hiện.
2/ Lặp với số lần biết trước và câu lệnh For- do: (tt)
d/ Vận dụng:
VD1: (SGK tr44)
program Tong_1a;
uses crt;
var S: real;
 a, N: integer;
begin
 clrscr;
 write(‘Hay nhap gia tri a vao!’);
 readln(a);
 S:= 1.0/a;
 for N:=1 to 100 do
 S:= S + 1.0/(a+N);
 write(‘Tong S la:’, S:8:4);
 readln
end. 
program Tong_1b;
uses crt;
var S: real;
 a, N: integer;
begin
 clrscr;
 write(‘Hay nhap gia tri a vao!’);
 readln(a);
 S:= 1.0/a;
 for N:=100 downto 100 do
 S:= S + 1.0/(a+N);
 write(‘Tong S la:’, S:8:4);
 readln
end. 
VD2: (SGK tr45)
*XĐBT:
 -Input: Nhập hai số nguyên dương M, N
 (M < N).
 -Output: Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ M đến N.
*Thuật toán:
*Viết chương trình:
program Vi_du_2;
uses crt;
var M, N, I: integer;
 Tong: longint;
begin
 clrscr;
 writeln(‘Nhap so M nho hon N’);
 write(‘M = ’); readln(M);
 write(‘N = ’); readln(N);
 Tong:= 0;
 for I:= M to N do
 if (I mod 3 = 0) or (I mod 5 = 0) then
 Tong:= Tong + I;
 writeln(‘Ket qua: ‘, Tong);
 readln
end.
4.Tổng kết nội dung, đánh giá cuối bài: 
	-Câu lệnh For. . .to. . .do và câu lệnh for . . . downto . . . do. 
5.Dặn dò, kế hoạch học tập tiết sau: 
	-Xem học bài và làm bài 5a (SGK tr 51).
-Xem trước phần 3/ Lặp với số lần chưa biết trước và câu lệnh While-do.
IV. NHỮNG VẤN ĐỀ CẦN RÚT KINH NGHIỆM:
Ngày soạn: 24/11/2007
Bài 	§10. CẤU TRÚC LẶP (tt)
(Tiết PPCT:15)
III. TIẾN TRÌNH LÊN LỚP:
1. Ổ định, tổ chức lớp: CBL báo cáo sĩ số.
2. Kiểm tra bài cũ:	 Viết chương trình tính tổng S = 2 + 4 + 6 + . . . + 100.
Điều kiện
 Câu lệnh 1
 Câu lệnh 2
Đúng
Sai
3. Bài giảng:
Hoạt động của thầy và trò
Nội dung ghi bảng
Hoạt động 1:
-Nội dungHĐ: Lặp với số lần chưa biết trước và câu lệnh While-do
-Mục tiêu: HS biết được cấu trúc chung của câu lệnh While-do; Hiểu được ý nghĩa của các thành phần trong lệnh; Biết được sự thực hiện của máy khi gặp lệnh While-do; Vẽ được sơ đồ thực hiện lệnh While-do.
-Các bước tiến hành:
GV: Nêu nội dung BT2. Cho HS viết TT giải quyết BT2.
HS: Đưa ra TT.
GV: Giải thích thuật toán.
HS: Chú ý nghe.
GV: Yêu cầu HS nghiên cứu SGK và cho biết cấu trúc chung của lệnh While-do?
HS: Đưa ra cấu trúc chung lệnh While-do.
GV: Hãy cho biết ý nghĩa của lệnh While-do?
HS: Trả lời câu hỏi.
GV: Giải thích sự thực hiện của máy khi gặp lệnh While-do.
HS: Chú ý lắng nghe.
GV: Vẽ được sơ đồ thực hiện lệnh While-do và giải thích các bước thực hiện của máy.
Hoạt động 2:
-Nội dungHĐ: Rèn luyện kĩ năng vận dụng câu lệnh While-do.
-Mục tiêu: Sử dụng đúng lệnh lặp For-do để giải quyết một số bài toán đơn giản.
-Các bước tiến hành:
VD1:
GV: Hướng dẫn HS vẽ sơ đồ TT Tong_2.
HS: Lên bảng vẽ sơ đồ:
1/(a+N)
< 0,0001
Đúng
Sai
Nhập a
S ¬ 1/a;
N ¬ 0
N ¬ N+1;
S ¬ S+1/(a+N)
Đưa ra S,
Rồi kết thúc
GV: Hướng dẫn HS viết chương trình.
HS: Thực hiện.
VD2:
GV: Nhắc lại TT Tìm ƯCLN(M,N) đã học ở lớp 10.
HS: Chú ý theo dõi.
GV: Hướng dẫn HS vẽ sơ đồ TT.
HS: Lên bảng vẽ sơ đồ:
Đưa ra M;
Kết thúc
Nhập M,N
M=N
M>N
N ¬ N - M
M ¬ M - N
Đúng
Đúng
Sai
Sai
GV: Hướng dẫn HS viết chương trình.
HS: Thực hiện.
3/ Lặp với số lần chưa biết trước và câu lệnh While-do:
BT2:
Thuật toán Tong_2:
B1: Nhập a;
B2: S ¬ 1/a ; N ¬ 0;
B3: Nếu 1/(a + N) < 0,0001 thì chuyển đến B6;
B4: N ¬ N+1;
B5: S ¬ S +1/(a + N); rồi quay lại B3;
B6: Đưa S ra màn hình, rồi kết thúc.
*Cú pháp:
While do ;
trong đó :
 -Điều kiện là biểu thức logic;
-Câu lệnh là một lệnh đơn hay ghép;
*Thực hiện:
 Đầu tiên vào kiểm tra điều kiện, nếu điều kiện đúng thì thực hiện câu lệnh sau từ khoá do sau đó quay lên kiểm tra điều kiện, quá trình cứ lặp liên tiếp cho đến khi gặp điều kiện sai thì thoát khỏi vòng lặp while-do.
*Sơ đồ:
Điều kiện
Câu lệnh
Đúng
Sai
*Vận dụng: 
VD1: (SGK tr 46)
Chương trình tính Tong_2 như sau:
Program Tong_2;
uses crt;
var S: real;
 a, N: integer;
begin
 write(‘Hay nhap gia tri a vao!’);
 readln(a);
 S:= 1.0/a;
 N:= 0;
 while not(1/(a+N) < 0.0001) do
 begin
 N := N+1;
 S := S+1.0/(a+N);
 end;
 writeln(‘Tong S la: ‘, S:8:4);
 readln
end.
VD2: (SGK tr47) Tìm ƯCLN(M,N)
*Thuật toán:
B1: Nhập M, N;
B2: Nếu M = N thì lấy giá trị chung làm 
 ƯCLN rồi chuyển đến B5.
B3: Nếu M > N thì M ¬M –N
 ngược lại N ¬N-M;
B4: Quay lại B2;
B5: Đưa ra kết quả ƯCLN rồi kết thúc.
*Chương trình tìn ƯCLN:
Program UCLN;
var M, N: integer;
begin
 write(‘Hay nhap gia tri cho M và N:’);
 readln(M, N);
 while M N do
 if M >N then M:=M–N else N:=N–M;
 writeln(‘UCLN = ‘, M);
 readln
end.
4.Tổng kết nội dung, đánh giá cuối bài: 
 -Ý nghĩa của cấu trúc lặp có số lần chưa xác định.
 -Cấu trúc chung của lệnh While-do trong ngôn ngữ Pascal.
 -Sơ đồ thực hiện của lệnh lặp While-do; Sự thực hiện của máy khi gặp lệnh While-do
5.Dặn dò, kế hoạch học tập tiết sau: 
	-Xem học bài và làm bài 5b, 6, 7, 8 (SGK tr 51).
-Xem trước Bài tập và thực hành 2: Cấu trúc rẽ nhánh và lặp.
IV. NHỮNG VẤN ĐỀ CẦN RÚT KINH NGHIỆM:

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

  • docBai10_CIII_T13-14-15.doc