100 ... 1
2 1 1 1 1
+ + + +
+ + +
= a a a a
S
Bài toán 2: tính và đưa kết quả ra màn hình tổng
1 ...
2 ...
1 1 1
1 +
+ + + +
+ + +
= a a a a N
S
cho đến khi 1 <0,0001 +N
a
+ Xuất phát S được gán cho giá trị a 1 + Tiếp theo cộng vào S một giá trị:
N a+
1 với N =1, 2, 3, ...
* Cấu trúc lặp có hai loại: lặp với số lần biết trước và lặp với số lần không biết trước.
Tiết CT: 13 Tuần: 13 Ngày soạn: 07.10.2013 Ngày dạy: 07.11.2013
HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG sẽ kết thúc khi đã thực hiện
việc cộng 100 lần
Còn ở bài toán 2: số lần lặp chưa biết trước nhưng việc cộng vào tổng kết thúc khi điều kiện 1 <0,0001
+N
a được thoả
mãn.
Nói chung một số thuật toán có những thao tác lặp đi lặp lại một số lần.
Các NNLT đều có các câu lệnh để mô tả cấu trúc lặp
Hoạt động 2
Trao đổi nhóm trong 3 phút và lên bảng viết thuật toán 1a và 1b:
Nhóm 1, 2, 3 nghiên cứu thuật toán 1a;
Nhóm 4, 5, 6 nghiên cứu thuật toán 1b;
Ta thấy thuật toán Tong_1a giá trị N khi bắt đầu tham gia vòng lặp là 1 và sau mỗi lần lặp là tăng lên 1cho đến khi N >100 Thuật toán Tong_1b giá trị N khi bắt đầu tham gia vòng lặp là 100 và sau mỗi lần lặp là giảm xuống 1 cho đến khi N <1
Ta nói cách lặp ở thuật toán Tong_1a là dạng tiến còn Tong_1b là dạng lùi.
Ở dạng lặp tiến câu lệnh sau từ khoá do được thực hiện tuần tự, biến đếm lần lược nhận giá trị liên tiếp từ giá trị đầu đến giá trị cuối.
Ở dạng lặp lùi câu lệnh sau từ khoá do được thực hiện tuần tự, biến đếm lần lược nhận giá trị giảm liên tiếp từ giá trị cuối đến giá trị đầu
Chia nhóm thảo luận và lên bảng trình bày
Các nhóm khác nhận xét và bổ sung
2. Lặp với số lần biết trước và câu lệnh for……do…..
Thuật toán Tong_1a
B1: S ← 1/a; N ← 0; {khởi tạo S,N};
B2: N ← N + 1;
B 3: Nếu N > 100 thì chuyển đến B5;
B 4: 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_1a
B1: S ← 1/a; N ← 101; {khởi tạo S,N};
B2: N ← N − 1;
B 3: Nếu N < 1 thì chuyển đến B5;
B 4: 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
* Trong Pascal ta dùng câu lệnh lặp for−do + Lặp dạng tiến:
For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
+ Lặp dạng lùi:
For <biến đếm>:=<giá trị cuối> downto
<giá trị đầu> do <câu lệnh>;
•Biến đếm là biến đơn và là kiểu nguyên
•Giá trị đầu giá trị cuối cùng kiểu với biến đếm
* Chú ý: giá trị 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.
V. CỦNG CỐ - DẶN DÒ 1. Củng cố:
Cấu trúc lặp dạng lặp với số lần biết trước Cú pháp của dạng lặp tiến và lặp lùi 2. Dặn dò
Về nhà học bài và xem tiếp phần sau VI. RÚT KINH NGHIỆM
§ 10. CẤU TRÚC LẶP (tt)
I. MỤC ĐÍCH – YÊU CẦU
− Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể
− Mô tả một số thuật toán của một số bài toán đơn giản có sd lệnh lặp.
− Viết được chương trình đơn giản có sd dòng lặp for ……do……
− Biết sử dụng cấu trúc lặp với số lần chưa biết trước bằng câu lệnh while … do…
II. PHƯƠNG PHÁP Phát vấn, diễn giảng.
III. PHƯƠNG TIỆN DẠY HỌC Hình vẽ khổ lớn, bảng phụ…
IV. NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP 1. Ổn định lớp (kiểm tra sĩ số)
2. Kiểm tra bài cũ:
Câu hỏi: Viết cú pháp của câu lệnh lặp dạng tiến và dạng lùi và giải thích biến đếm, giá trị đầu giá trị cuối phải như thế nào ?
3. Nội dung
HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Ở tiết trước các em đã học cú pháp của dòng lặp for ... do ...
Tiết này chúng ta đi tìm hiểu cách vận dụng vòng lặp đó để viết chương trình
Trao đổi nhóm trong 5 phút
lên bảng viết chương trình Lên bảng trình bày
Các nhóm còn lại chú ý nhận xét bổ sung
2. Lặp với số lần biết trước và câu lệnh for……do…..
Ví dụ1
Program Tong_1a;
Uses crt;
Var S: real;
a, N: integer;
Begin Clrscr;
Write(‘hay nhap gia tri a vao’);
Readln(a);
S:=1/a;
For N:=1 to 100 do S:= S+1/(a+N);
Write(‘tong S = ’, S:8:4);
Readln End.
Program Tong_1a;
Uses crt;
Var S: real;
a, N: integer;
Begin Clrscr;
Write(‘hay nhap gia tri a vao’);
Readln(a);
S:=1/a;
Tiết CT: 14 TUần: 14 Ngày soạn: 14.10.2013 Ngày dạy: 14.11.2013
HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Hãy xác định bài toán
Thảo luận trong 4 phút lên bảng trình bày
Nhận xét đánh giá cho điểm
Thảo luận nhóm đưa để đưa ra thuật toán tính tổng bài toán 2 Nhận xét, đánh giá cho điểm Như vậy, việc lặp với số lần chưa biết trước sẽ chỉ kết thúc khi một điều cho trước được thoả mãn.