LÆp víi sè lÇn lÆp kh«ng biÕt tr íc.. LÆp víi sè lÇn lÆp biÕt tr íc.[r]
(1)TiÕt 12 - Bµi 10
(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
XÐt : Tính tổng S, với a số nguyên a>2
cho n 1 0.0001
N
(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 đ ợc lặp lặp lại 100 lần.
tìm khác biệt
(5)Cấu trúc lặp
I Lặp với số lần lặp biÕt tr íc
(6)1 Bài tốn đặt vấn đề
- D÷ liƯu (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 OUTPUT ca
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 1
(7)Phân tích 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 lặp lại 99 lần theo quy luËt
Ssau = Str íc+ 1/i
víi i ch¹y tõ 100
2 1
3 1
4 1
. 1
100
(8)§
S
NhËp N
S:= ; i:= 2
i > N ?
S:= S + 1/i
§ a S råi kÕt thóc
B1: NhËp N;
B2: S:=1; i:=2;
B3: NÕu i > N đ a 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
(9)FOR <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO < câu lệnh>;
VÝ dô: S:=1;
FOR i:=2 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:=1;
FOR i:=100 DOWNTO DO S:=S+1/i; a D¹ng (d¹ng tiÕn)
(10)Sự thực câu lệnh
FOR <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO < câu lệnh>;
FOR <biến đếm> := <giá trị cuối> DOWNTO <giá trị đầu> DO <câu lệnh >;
Begin
Biến điều khiển:= giá trị đầu
DO <Công việc>
Biến điều khiển:= biến điều khiển +
Biến điều khiển > giá trị
cuối
End
S Đ
Begin
Biến điều khiển:= giá trị Cuối
DO <Công việc> Biến điều khiển := biến
điều khiển -
Biến điều khiển < giá trị đầu
End
(11)S := ; i := 2;
i >N KT
S := S +1/ i ; i := i +1;
2.08 1.83 1.5 1 4 3 2 L ỵt i S 2.28 5 NhËp N
S := ; i := 2;
2>5 ? S
S
S := +1/2 ; i := +1;
3>5 ?
S := 1.5+1/3 ; i := +1;
4>5 ?
S := 1.83+1/4 ; i := +1;
5>5 ?
S := 2.08+1/5; i := +1;
6
SSS
6>5 ? Tỉng S=2.28In Tỉng S
Víi N = 5
2.28
Đ
Đ
Mô thuật toán
(12)S := 1/5 ; i := 4;
i >N KT
S := S +1/ i ; i := i -1;
1,28 0,78 0,45 0,2 2 3 4 L ỵt i S 2.28 1 NhËp N
S := 1/5 ; i := 4;
4<1 ? S
S
S := 0,2 ; i := 5-1;
3<1 ?
S := 0,2+1/4 ; i := - 1;
2<1 ?
S := 0,45+1/3 ; i := 3-1;
1<1 ?
S := 0,78+1/2; i := 2-1;
0
SS S
0<1 ? Tỉng S=2.28In Tỉng S
Víi N = 5
2.28
Đ
Đ
Mô thuật to¸n
(13)Bài 1:Viết chương trình hiển thị số từ đến 10 ra hình
Var i: byte; Begin
For i:= to 10 Write(i);
(14)Bài 2: Viết chương trình tính Tổng : S= + 2+ +….+ 100
Var s,i: integer; BEGIN
S:=1;
For i:= to 100 S:= S+1; Write(s);