LẶP VỚI SỐ LẦN LẶP BIẾT TRƯỚC VÀ CÂU LỆNH FOR-DO... 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 hoặc bằng giá trị cuối.. DOBiến đếm: = G
Trang 2Bài toán 1:
Bài toán 2:
100
1
2
1 1
1
1
+
+
+ +
+ +
+
=
a a
a a
S
1
2
1 1
1
1
+ +
+
+ +
+ +
+
=
N a
a a
a S
cho đến khi 1 < 0 0001
a
BÀI TOÁN ĐẶT VẤN ĐỀ:
Với a là số nguyên và a>2.
1 LẶP
Trang 3Xuất phát
a
1
1
+
+
a
Lần 1
2
1
+
+
a
Lần 2
+…
Lần N
N
Mỗi lần thực hiện giá trị tổng S tăng thêm bao nhiêu? 1
Sau mỗi lần thực hiện giá trị tổng S tăng thêm ( với i =1; 2; 3 ; ;N)
a + i
CÙNG TÌM THUẬT TOÁN
Trang 4Bài toán 1: Bài toán 2:
100
1
2
1 1
1
1
+
+
+ +
+ +
+
=
a a
a a
+
+
+ +
+ +
+
=
N a
a a
a S
+ N a
Số lần lặp biết trước.
• Việc tăng giá trị cho tổng S
được lặp đi lặp lại cho đến khi
0.0001 N
a
1
<
+
• Việc tăng giá trị cho tổng
S được lặp đi lặp lại 100
lần
TÌM SỰ KHÁC BIỆT
Số lần lặp chưa biết trước.
Trang 5CẤU TRÚC LẶP
Trang 6- Dữ liệu ra ( Output) : Tổng S
- Dữ liệu vàoHãy xác định (Input) : Nhập a
INPUT và OUTPUT của bài
toán trên!
2 LẶP VỚI SỐ LẦN LẶP BIẾT TRƯỚC VÀ CÂU LỆNH FOR-DO
Bài toán 1
100
1
2
1 1
1
1
+
+
+ +
+ +
+
=
a a
a a
S
Trang 7- 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 bước 2.
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;
B3: Nếu N <1 thì chuyển đến B5.
quay lại bước 2.
B5: Đưa S ra màn hình rồi kết thúc.
MÔ TẢ THUẬT TOÁN BÀI TOÁN 1
2 LẶP VỚI SỐ LẦN LẶP BIẾT TRƯỚC VÀ CÂU LỆNH FOR-DO
Trang 8FOR <BIẾN ĐẾM> := <GIÁ TRỊ ĐẦU> TO <GIÁ TRỊ CUỐI>
DO <CÂU LỆNH>;
FOR i:=1 TO 100 DO S:=S+1/i;
b) Dạng 2 (dạng lùi)
FOR <BIẾN ĐẾM> := <GIÁ TRỊ CUỐI> DOWNTO <GIÁ TRỊ ĐẦU>
DO <CÂU LỆNH >;
FOR i:=100 DOWNTO 1 DO S:=S+1/i;
a) Dạng 1 (dạng tiến)
2 LẶP VỚI SỐ LẦN LẶP BIẾT TRƯỚC VÀ CÂU LỆNH FOR-DO
Trang 9 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 hoặc bằng giá trị cuối.
For i:= 100 to 200 do write(i);
- Chú ý:
viết sau DO không được thay đổi giá trị biến đếm.
- Trong đó
Biến đếm là biến đơn, thường có kiểu nguyên.
For i:=1 to 10 do write(i);
Trang 10SƠ ĐỒ KHỐI VÒNG LẶP DẠNG TIẾN: FOR TO DO
Biến đếm: = Giá trị đầu
Biến đếm >Gía trị cuối
Câu lệnh
Tăng biến đếm lên 1 đơn vị
Đ
S Cho biết cách hoạt động của vòng lặp dạng
tiến
Trang 11Hoạt động
B1: Biến đếm được gán
bằng Gía trị đầu.
B2: So sánh Biến đếm với
Giá trị cuối
B3: Nếu Biến đếm>Gía trị
cuối thì thoát khỏi vòng
lặp Nếu Biến đếm<=Gía
trị cuối thì câu lệnh
được thực hiện, sau đó
biến đếm được tăng lên
1 đơn vị và quay lại B2.
Biến đếm : = Giá trị đầu
Biến đếm >
Gía trị cuối
Câu lệnh
Tăng biến đếm lên 1 đơn vị
Đ
S
Trang 12SƠ ĐỒ KHỐI VÒNG LẶP DẠNG LÙI:
SƠ ĐỒ KHỐI VÒNG LẶP DẠNG LÙI: FOR DOWNTO DO FOR DOWNTO DO
Biến đếm: = Giá trị cuối
Biến đếm <Gía trị đầu
Câu lệnh
Giảm biến đếm xuống 1 đơn vị
Đ
S Cho biết cách hoạt động của vòng lặp dạng
lùi
Trang 13Hoạt động
B1: Biến đếm được gán bằng Giá
trị cuối.
B2: So sánh Biến đếm với Giá trị
đầu
B3: Nếu Biến đếm < Giá trị đầu
thì thoát khỏi vòng lặp Nếu
Biến đếm >= Giá trị đầu thì
câu lệnh được thực hiện, sau
đó biến đếm được giảm xuống
1 đơn vị và quay lại B2.
Biến đếm : = Giá trị cuối
Biến đếm <
Gía trị đầu
Câu lệnh
Giảm biến đếm xuống 1
đơn vị
Đ
S
Trang 14Hãy nhớ!
- Câu lệnh lặp
FOR TO DO …
FOR DOWNTO DO
+ Lặp với số lần lặp biết
trước.
+ Lặp với số lần lặp không
biết trước.
- Câu lệnh lặp với số lần biết trước
+ Dạng lặp tiến
+ Dạng lặp lùi
- Về nhà các em làm
các bài tập sau:
+ Bài 5, 7, 8 Tr_51
SGK;
+ Bài 3.11, 3.12, 3.13,
3.14 Tr_21 SBT.