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

Giáo á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

 - Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán.

 - Hiểu cấu trúc lặp với số lần định trước và kiểm tra điều kiện trước.

 - Biết cách vận dụng đúng đắn cấu trúc lặp vào tình huống cụ thể.

 2. Kĩ năng

 - Mô tả được thuật toán của một số bài toán sử dụng lệnh lặp.

 - Viết đúng các lệnh lặp với số lần định trước, kiểm tra điều kiện.

 - Viết thuật toán của một số bài toán đơn giản.

 3. Thái độ

II. Phương tiện, phương pháp

 1. Phương tiện

 -Máy tính, máy chiếu, phông chiếu, bảng phấn.

 - Đính kèm Slide bài giảng bằng Power Point.

 2. Phương pháp: nêu – giải quyết vấn đề.

 

doc 4 trang Người đăng minh_thuy Lượt xem 3459Lượt tải 0 Download
Bạn đang xem tài liệu "Giáo á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: 22 / 11 /2014 
Ngày dạy:27 /11 /2014 
Lớp: 11CB2 
Tuần: 15 Tiết CT: 15
CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP
Bài 10: CẤU TRÚC LẶP
I.Mục đích yêu cầu
 1.Kiến thức
 - Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán.
 - Hiểu cấu trúc lặp với số lần định trước và kiểm tra điều kiện trước.
 - Biết cách vận dụng đúng đắn cấu trúc lặp vào tình huống cụ thể.
 2. Kĩ năng
 - Mô tả được thuật toán của một số bài toán sử dụng lệnh lặp.
 - Viết đúng các lệnh lặp với số lần định trước, kiểm tra điều kiện.
 - Viết thuật toán của một số bài toán đơn giản.
 3. Thái độ
Phương tiện, phương pháp
 1. Phương tiện
 -Máy tính, máy chiếu, phông chiếu, bảng phấn.
 - Đính kèm Slide bài giảng bằng Power Point.
 2. Phương pháp: nêu – giải quyết vấn đề.
III. Nội dung:
 1. Ổn định lớp(1’)
 2. Kiểm tra bài cũ
 3. Giới thiệu bài mới
 4. Nội dung bài mới
TG
Hoạt động của GV
Hoạt động của HS
Nội dung
8’
3’
4’
1’
10’
7’
10’
- Em hãy viết chương trình đưa ra màn hình các số từ 1 đến 10 như sau: 1 2 3 4 5 6 7 8 9 10
- Bây giờ muốn đưa ra 100 hay 1000 chữ số theo thứ tự như trên thì sao?
- Nếu chúng ta viết 100 hay 1000 câu lệnh write() như trên thì mất rất nhiều thời gian và dễ sai sót, các câu lệnh thực hiện tương tự nhau được viết lại rất nhiều lần. 
- Vậy có cách nào khác để giải các bài toán có nội dung tương tự như vậy không?
Giới thiệu bài: Cấu trúc lặp
- Xét bài toán: Tính tổng S với a là số nguyên và a >2
Bài toán 1:
Bài toán 2:
 cho đến khi 
- Sau mỗi lần thực hiện giá trị tổng S tăng thêm bao nhiêu? Với bài toán 1:
- Việc tăng giá trị cho tổng S được lặp đi lặp lại bao nhiêu lần? số lần lặp biết trước
Với bài toán 2: 
- Việc tăng giá trị cho tổng S được lặp đi lặp lại cho đến khi nào? 
số lần lặp chưa biết trước
Xét bài toán 1:
So sánh 2 thuật toán tong_1a và tong_1b.
Thuật toán có lặp không?
Lặp bao nhiêu lần?
Cái gì thay đổi trong 2 thuật toán này?
S1= 1/a
S2=S1+1/(a+1)
S3= S2 +1/(a+2)
.
S100= S99 +1/(a+99)
S101= S100 +1/(a+100)
Nhận xét: Bắt đầu từ S2 việc tính S được lặp đi lặp lại theo quy luật Ssau= Strước + 1/(a+N) với N chạy từ 1 đến 100
Xây dựng thuật toán:
Áp dụng câu lệnh lặp dạng tiến để viết chương trình cho bài toán trên.
è Đây thực chất là 2 thuật toán có cách tính ngược nhau. Một cách tính tổng tiến lên, còn cách khác là lùi dần.
Giá trị của biến N và biến S thay đổi.
Ví dụ 2: Lập chương trình tính tổng sau:
- Hướng dẫn HS xây dựng thuật toán.
-Yêu cầu HS viết chương trình tính tổng dựa vào thuật toán để viết dạng tiến và dạng lùi.
-Nhận xét và chốt lại vấn đề. Cho HS ghi bài.
Write (‘1’);
Write (‘ 2’);
.
Write (‘ 10’);
Hoặc 
i:=i+1;
write(i);
write(i+1);
write(i+2);
.
write(i+9);
- Viết lệnh in ra 100, 1000 lần
- Sử dụng cấu trúc lặp
Với bài toán 1:
1/(a+i) với i = 1,2,..N
100 lần
- Với bài toán 2: 
Nhận xét:
có lặp.
Lặp 100 lần.
So sánh:
B1: tong1a gán N=0, tong1b gán N=101.
B2: tong1a gán N=N+1, tong1b gán N=N-1.
B3: điều kiện trở về B5 của tong1a là N>100, tong1b là N<1.
B4, B5: giống nhau.
-Dạng tiến:
Program tong_1a;
Var N : byte; 
 S : real;
Begin
Writeln(‘Nhap so a: ’); 
Readln(a);
S:=1/a;
For N:= 1 to 100 do
S:= S+1/(a+N);
Writeln(‘Tong S la : ‘,S:8:3);
Readln
End.
Hs ghi bài
Bước 1: Nhập N
Bước 2: S ! 1, i!2
Bước 3: Nếu i>N thì đến bước 5
Bước 4: S! S+1/i ; i! i+1 rồi quay lại bước 3.
Bước 5: Đưa ra S rồi kết thúc
1. Lặp
Trong lập trình có những thao tác phải lặp lại nhiều lần, khi đó ta gọi là cấu trúc lặp.
Cấu trúc lặp có 2 loại:
Lặp với số lần biết trước.
Lặp với số lần chưa biết trước.
Các NNLT đều có các câu lệnh để mô tả cấu trúc lặp.
2. Lặp với số lần biết trước và câu lệnh for - do
Xét bài toán:
VD1:Tính tổng S với a là số nguyên và a >2
Thuật toán tong1a
B1: S:=1/a; N:=0;
B2: N: =N+1;
B3: nếu N > 100 thì chuyển sang B5;
B4: S:=S+1/(a+N) rồi quay lại B2;
B5: đưa ra S rồi kết thúc.
Thuật toán tong1b
B1: S:=1/a;N:=101;
B2: N:=N-1;
B3: nếu N < 1 thì chuyển sang B5;
B4: S:=S+1/(a+N) rồi quay lại B2;
B5: đưa ra S rồi kết thúc.
Dạng lặp tiến:
For := to do;
VD: S:=1/a;
For N:=1 to 100 do S:= S+1/(a+N);
Dạng lặp lùi: 
For := downto do;
VD: S:=1/a;
For N:=100 downto 1 do S:= S+1/(a+N);
Trong đó:
- Biến đếm là biến kiểu số nguyên hoặc ký tự
VD: For i:=1 to 10 do writeln(i);
 For i:=’a’ to ‘z’ do writeln(i);
- 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 phải nhỏ hơn giá trị cuối.
- Giá trị biến đếm được điều chỉnh tự động, vì vậy câu lệnh sau do không thay đổi giá trị biến đếm được.
* Viết chương trình tính tổng S của bài toán trên.
Program tong_1a;
Var N : byte; 
 S : real;
Begin
Writeln(‘Nhap so a: ’); 
Readln(a);
S:=1/a;
For N:= 1 to 100 do
S:= S+1/(a+N);
Writeln(‘Tong S la : ‘,S:8:3);
Readln
End.
Ví dụ 2: Lập chương trình tính tổng sau:
Bước 1: Nhập N
Bước 2: S ! 1, i!2
Bước 3: Nếu i>N thì đến bước 5
Bước 4: S! S+1/i ; i! i+1 rồi quay lại bước 3.
Bước 5: Đưa ra S rồi kết thúc
Program tinh_tong;
Var i, N: byte;
 S: real;
Begin
Writeln(‘Nhap N: ’); readln(N);
S:=1;
For i:=2 to N do
S:=S+1/i;
Writeln(‘’Tong la: ’, S:8:2);
Readln
End.
IV. Củng cố và dặn dò (1’)
 - Nhắc lại cấu trúc for do 
 - Cách vận dụng các cấu trúc lặp for do để giải bài toán.
V. Rút kinh nghiệm
........................................................................................................................................................................................................................................................................................................................

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

  • docbai_10_cau_truc_lap_tiet_1.doc