- Hình 2: Người thứ 2 dùng một chiếc xô không rõ dung tích để đổ đầy nước vào một chiếc thùng có dung tích 30 lít.. Sau 30 lần đổ Chừng Nào đầy Quá trình như vậy được gọi là lặp... 1/ L
Trang 2TiÕt 14 - Bµi
10
Trang 3Quan sát 2 hình sau
Dung tích
30 Lít
1 Lít
Dung tích
30 Lít
Lít
- Hình 1: Người thứ nhất
dùng một chiếc xô dung
tích 1 lít đổ đầy nước
vào một chiếc thùng có
dung tích 30 lít Hỏi bao
lâu thì xong?
- Hình 2: Người thứ 2 dùng một chiếc xô không rõ dung tích để
đổ đầy nước vào một chiếc thùng có dung tích 30 lít Hỏi bao lâu thì xong?
Sau
30 lần đổ
Chừng Nào đầy
Quá trình như vậy được gọi là lặp
Trang 41/ LẶP
Lặp là điều khiển thực hiện công việc lặp đi lặp lại khi chưa đủ số lần lặp hoặc khi có một điều kiện nào đó còn đúng.
Trang 51
2
1 1
1
1
+
+
+ +
+ +
+
=
a a
a a
S
1
2
1 1
1
1
+ +
+
+ +
+ +
+
=
N a
a a
a S
+ N a
bµi to¸n 1:
bµi to¸n 2:
TÝnh tæng S, víi a lµ sè nguyªn vµ a>2
Trang 6XuÊ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 N=1; 2; 3 ; )
a + N
Cïng t×m thuËt to¸n
Trang 7Bà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
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 đ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 81/ LẶP
Lặp là điều khiển thực hiện công việc lặp đi lặp lại khi chưa đủ số lần lặp hoặc khi có một điều kiện nào đó còn đúng.
Các loại c ấu trúc lặp:
+ Lặp với số lần biết trước.
+ Lặp với số lần chưa biết trước
Trang 9A Nhập vào 1 số cho đến khi số nhập vào là số chẵn thỡ dừng.
B Nhập vào cỏc số nguyờn cho đến khi nhấn phớm Enter thỡ dừng.
D Tớnh tổng cỏc số tự nhiờn từ 1 đến 20.
C Học bài cho đến khi thuộc bài.
30
29 26 25 24 23 22 21 19 10 11 98 10
Câu hỏi: Trong các hoạt động d ới đây,
hoạt động nào là hoạt động lặp với số
lần biết tr ớc?
Trang 10Bµi to¸n:
- D÷ liÖu ra (Output) : Tæng S
- D÷ liÖu vµo (Input) : a (a nguyªn, a>2)
100
1
2
1 1
1
1
+
+
+ +
+ +
+
=
a a
a a
S
Với a >2, a là số nguyên Lập chương trình tính tổng sau:
2/ LÆp víi sè lÇn biÕt tr íc vµ c©u lÖnh For - do
Trang 11Ph©n tÝch bµi to¸n (ý t ëng)
NhËn xÐt:
Ban ®Çu : S := 1/a
Céng lÇn 1: S1: = S + 1/(a+1)
Céng lÇn 2: S2: = S1 + 1/(a+2)
Céng lÇn 3: S3: = S2 + 1/(a+3)
Céng lÇn 100: S100: = S99 + 1/(a+100)
a
1
=
S
B¾t ®Çu tõ lÇn céng 1 viÖc tÝnh S ® îc lÆp ®i lÆp l¹i
100 lÇn theo quy luËt
S sau := S tr íc + 1/(a+N) víi N ch¹y tõ 1 → 100
1
1
+
+
1
+
+
1
+
+
a
100
1
+
+
+
a
Tõ ý t ëng trªn em h·y viÕt thuËt to¸n cho bµi to¸n
Trang 12B1: S1/a; N0;
B3: Nếu N >100 thì chuyển đến b ớc 5;
B4: S S + 1/(a+N) rồi quay lại b ớc 2;
B2: N N +1;
Xây dựng thuật toán 1a
Nhận xét:
Liệt kờ
100
1
2
1 1
1
1
+
+
+ +
+ +
+
=
a a
a a
S
B5: Đ a S ra màn hình, rồi kết thúc;
Thuật toán trên, giá trị N bắt đầu tham gia vòng lặp là 1 sau mỗi lần lặp
N tăng lên 1 cho đến khi N > 100 (N= 101) thì kết thúc lặp (thực hiện 100
lần).
Dựa vào thuật toỏn trờn, em hóy cho biết giỏ trị N bắt đầu
tham gia vũng lặp là bao nhiờu và kết thỳc khi nào?
Trang 13B1: S1/a; N101;
B3: NÕu N < 1 th× ® a ra gi¸ trÞ S råi KÕt thóc;
B4: S S + 1/(a+N) råi quay l¹i b íc 2;
B2: N N -1;
X©y dùng thuËt to¸n 1b
1
2
1 1
1
1
+
+
+ +
+ +
+
=
a a
a a
S
B5: § a S ra mµn h×nh, råi kÕt thóc;
Trang 14FOR <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO < câu lệnh>;
Ví dụ: S:=1/a;
FOR N:=1 TO 100 DO S:=S+1/(a+N);
Dạng 2 (dạng lùi)
FOR <biến đếm> := <giá trị cuối> DOWNTO <giá trị đầu> DO <câu lệnh >;
Dạng 1 (dạng tiến)
2/ Lặp với số lần biết tr ớc và câu lệnh For - do
Trang 15 for, to, downto, do: Là từ khóa trong Pascal;
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 nhỏ hơn hoặc bằng giá trị cuối)
Trang 16In ra 9 s 1 ố
In ra 9 s 1 ố
In ra các s t 1 ố ừ đế n 10
In ra các s t 1 ố ừ đế n 9
A
B
C
Câu lệnh sau đây cho kết là gì?
s:=1; for i:=1 to 9 do
writeln(s); 30 23 21 10 24 22 11 98 10
Trang 17vÝ dô 1: ViÕt ch ¬ng tr×nh in ra màn hình 20 câu: chao cac ban.
Program vidu1;
Uses crt;
Var i: integer;
Begin
clrscr;
For i:= 1 to 20 do
writeln(‘chao cac ban LOP 11A4’);
Readln;
End.
Trang 18ví dụ 2: Cài đặt thuật toán Tong_1a
Trang 19CỦNG CỐ
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>
down to <giá trị đầu> do <câu lệnh>;
1 Khái niệm lặp
2.Lặp với số lần biết trước và câu lệnh for …do
Cú pháp :
Cú pháp :