Bài 10
cấu trúc lặp
(2 tiết)
Thực hiện: lê thị hạnh
lớp : 48 atin
Bµi to¸n 1:
Bµi to¸n 2:
100
1
...
2
1
1
11
+
++
+
+
+
+=
aaaa
S
...
1
...
2
1
1
11
+
+
++
+
+
+
+=
Naaaa
S
đặt vấn đề : tính tổng s với a là số nguyên và a>2
cho ®Õn khi
0001.0
1
<
+ Na
Xut phỏt
a
S
1
=
1
1
+
+
a
Ln 1
2
1
+
+
a
Ln 2
+
Ln n
Na +
+
1
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
Tỡm thut toỏn
Bài toán 1: Bài toán 2:
100
1
...
2
1
1
11
+
++
+
+
+
+=
aaaa
S
...
1
...
2
1
1
11
+
+
++
+
+
+
+=
Naaaa
S
Cho đến khi
00010
1
.<
+ Na
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
Na
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.
CÊu tróc lÆp
1bi toỏn t vn :
- Dữ liệu ra (Output) : Tổng S
Lập chương trình tính tổng sau:
- Dữ liệu vào (Input) : Nhập N
Hãy xác định
INPUT và
OUTPUT của bài
toán trên!
I. Lặp với số lần lặp biết trước
N
1
...
4
1
3
1
2
1
1S +++++=
Phân tích bài toán với N = 100
Nhận xét:
S1 = 1
S2 = S1 + 1/2
S3 = S2 + 1/3
S4 = S3 + 1/4
.....
S100 = S99 + 1/100
1=S
Bắt đầu từ S2 việc tính S được
lặp đi lặp lại 99 lần theo quy
luật
S
sau
= S
trước
+ 1/i
với i chạy từ 2
100
2
1
+
3
1
+
4
1
+
. . .+ +
1
100
. . . . . . . . . . . . . . . . . . . .
§
S
NhËp N
S:= 1 ; i:= 2
i > N ?
S:= S + 1/i
§a ra S råi kÕt thóc
B1: NhËp N;
B2: S:=1; i:=2;
B3: NÕu i > N th× ®a ra gi¸
trÞ S => KÕt thóc;
B4 : S:= S + 1/i;
B5: i := i +1 quay l¹i B3.
X©y dùng thuËt to¸n
i:= i+1
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 2 (dạng lùi)
FOR <biến đếm> := <giá trị cuối> DOWNTO <giá trị đầu> DO <câu lệnh >;
Ví dụ: S:=1;
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