Bài toán đặt vấn đề Lập ch ơng trình tính tổng sau: Hãy xác định INPUT và OUTPUT của bài toán trên!. 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ả
Trang 1TRƯỜNG THPT HIỆP HOÀ 2
Người soạn: Ngô Khắc Quyết
Trang 2Bµi 10
(tiÕt 1)
Trang 3Bà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
Các bài toán đặt vấn đề : Tính tổng S, với a là số nguyên và a>2
cho đến khi 1 < 0 0001
+ N a
Trang 4XuÊ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 5Bà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 6CÊu tróc lÆp
Trang 71 Bài toán đặt vấn đề
Lập ch ơng trình tính tổng sau:
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 1
Trang 8Ph©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
Ssau = Str íc+ 1/i víi i ch¹y tõ 2 → 100
2
1
+
3
1
+
4
1
100
Trang 9
§ 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
Trang 10FOR <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 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 2 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
Trang 11 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 giá trị cuối.
For i:= 100 to 200 do write(i);
Giá trị biến đếm đ ợc điều chỉnh tự động, vì vậy câu
lệnh sau DO không đ ợc thay đổi giá trị biến đếm.
Trong đó
Biến đếm là biến kiểu số nguyên hoặc kí tự.
For i:=1 to 10 do write(i);
For i:=‘a‘ to ‘z‘ do write(i);
Trang 12Uses crt;
Var i,N : Integer; S : real;
BEGIN
Readln;
END.
S:=1;
FOR i:=2 to N do S := S+1/i;
Writeln(‘ Tong S =’,S:8:3);
Write(‘ Nhap vao gia tri cua N :’);readln(N);
Program Tinh_tong;
Hãy áp dụng câu lệnh lặp dạng tiến để viết ch
ơng trình giải bài toán đặt vấn đề.
Lập ch ơng trình tính tổng sau:
N
1
4
1 3
1 2
1 1
Trang 13S := 1 ; i := 2;
S := S +1/ i ;
i := i +1;
2.08 1.83
1.5
1
4 3
2
L ît i
5
NhËp N
S := 1 ; i := 2;
2>5 ?
S
S := 1 +1/2 ;
i := 2 +1;
3>5 ?
S := 1.5+1/3 ;
i := 3 +1;
4>5 ?
S := 1.83+1/4 ;
i := 4 +1;
5>5 ?
S := 2.08+1/5;
i := 5 +1;
6
S
6>5 ? Tæng S=2.28 In Tæng S
Víi N = 5
2.28
§
M« pháng thuËt to¸n
Trang 143 Ví dụ
Tính tổng S (với a là số nguyên nhập vào từ bàn phím và a>2 ).
100
1
2
1 1
1
1
+
+
+ +
+ +
+
=
a a
a a
S
? • Hãy xác định giá trị khởi đầu của S, quy luật thay đổi giá
trị của S và số lần lặp
• Viết ch ơng trình để giải bài toán trên.
- S:=1/a;
- S:= S + 1/(a+i);
- i chạy từ 1 đến 100 => Số lần lặp là 100 lần.
Trang 15BÀI TẬP TRẮC NGHIỆM
Trang 16Hãy chọn cú pháp đúng của cấu trúc
lặp For?
Đúng rồi, kích phím bất kỳ để đi
tiếp
Đúng rồi, kích phím bất kỳ để đi
tiếp Sai, kích phím bất kỳ để đi tiếp Hoan hô, bạn đã trả lời đúng
Your answer:
The correct answer is:Bạn phải trả lời trước khi sang Chưa đúng, hãy thử lại
câu tiếp theo
Bạn phải trả lời trước khi sang
câu tiếp theo Trả lờiTrả lời Làm lạiLàm lại
A) For <biến đếm>:=<giá trị đầu> To <giá trị cuối>
Do <Câu lệnh>;
B) For <biến đếm>:=<giá trị đầu> Do <giá trị cuối>
To <Câu lệnh>;
C) For <biến đếm>:=<giá trị đầu> To <giá trị cuối>
Do <Câu lệnh>
D) For <biến đếm>=<giá trị đầu> To <giá trị cuối>
Do <Câu lệnh>;
Trang 17Hãy chọn câu lệnh For cho bài toán sau: S= 1+2+3+ +100 (với biến đếm i)
Đúng rồi, kích phím bất kỳ để đi
tiếp
Đúng rồi, kích phím bất kỳ để đi
tiếp Sai, kích phím bất kỳ để đi tiếp Hoan hô, bạn đã trả lời đúng
Your answer:
The correct answer is:Bạn phải trả lời trước khi sang Chưa đúng, hãy thử lại
câu tiếp theo
Bạn phải trả lời trước khi sang
câu tiếp theo Trả lờiTrả lời Làm lạiLàm lại
A) For i:= 1 To 100 Do S:=S+i
B) For i:= 1 To 100 Do S:=S+i;
C) For i= 1 To 100 Do S:=S+i
D) For i:= 1 Do 100 To S:=S+i;
Trang 18Hãy chọn câu lệnh For đúng ?
Đúng rồi, kích phím bất kỳ để đi
tiếp
Đúng rồi, kích phím bất kỳ để đi
tiếp Sai, kích phím bất kỳ để đi tiếp Hoan hô, bạn đã trả lời đúng
Your answer:
The correct answer is:Bạn phải trả lời trước khi sang Chưa đúng, hãy thử lại
câu tiếp theo
Bạn phải trả lời trước khi sang
câu tiếp theo Trả lờiTrả lời Làm lạiLàm lại
A) for <biến đếm>:=<giá trị cuối> Downto <giá trị
đầu> Do <câu lệnh>;
B) for <biến đếm>:=<giá trị cuối> to <giá trị đầu>
Do <câu lệnh>;
C) for <biến đếm>:=<giá trị đầu> Downto <giá trị
cuối> Do <câu lệnh>;
D) for <biến đếm>:=<giá trị cuối> Downto <giá trị
đầu> To <câu lệnh>;
Trang 19Hãy điền từ vào chỗ trống.
Đúng rồi, kích phím bất kỳ để đi
tiếp
Đúng rồi, kích phím bất kỳ để đi
tiếp Sai, kích phím bất kỳ để đi tiếp Hoan hô, bạn đã trả lời đúng
Your answer:
The correct answer is:Bạn phải trả lời trước khi sang Chưa đúng, hãy thử lại
câu tiếp theo
Bạn phải trả lời trước khi sang
câu tiếp theo Trả lờiTrả lời Làm lạiLàm lại
biến đếm
, giá trị
Biến đếm là biến có
với đầu và giá trị cuối phải
Trang 20Your Score {score}
Max Score {max-score}
Number of Quiz
Attempts {total-attempts}
Question Feedback/Review Information Will
Appear Here
Question Feedback/Review Information Will
Appear Here
Review Quiz Continue