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