Bài 8. Lặp với số lần chưa biết trước
Chia sẻ bởi Hồ Nhật Trí |
Ngày 24/10/2018 |
35
Chia sẻ tài liệu: Bài 8. Lặp với số lần chưa biết trước thuộc Tin học 8
Nội dung tài liệu:
NHIỆT LIỆT CHÀO MỪNG QUÝ THẦY CÔ ĐẾN DỰ GIỜ
BUỔI HỌC NGÀY HÔM NAY.
1
Hãy cho ví dụ về hoạt động được thực hiện lặp đi lặp lại với số lần lặp biết trước và với số lần lặp chưa biết trước?
2
KT BÀI CŨ
* VD2: Tính tổng của 10 số tự nhiên được nhập vào từ bàn phím?
* VD1: Tính tổng các số tự nhiên được nhập vào từ bàn phím, cho đến khi nào nhập số 0 thì dừng lại?
3
KT BÀI CŨ
S:= 0;
Begin
Write(‘nhap n= ‘);
readln(n);
S:= S+ n;
End;
............................
For i:=1 to 10 do
* VD2: Tính tổng của 10 số tự nhiên được nhập vào từ bàn phím?
* VD1:
Tính tổng các số tự nhiên được nhập vào từ bàn phím, cho đến khi nào nhập số 0 thì dừng?
4
KT BÀI CŨ
For := to do
;
Cấu trúc
điều khiển?
LẶP VỚI SỐ LẦN
CHƯA BIẾT TRƯỚC
Bài 8:
5
6
* Ví dụ 1: SGK/67
- TH1: Một ngày nọ, Hỷ gọi điện thoại rủ bạn Linh đi chơi nhưng không có ai nhấc máy. Và Hỷ quyết định gọi cho Linh thêm 3 lần nữa mà không có người bắt máy thì chắc không có ai ở nhà.
7
* Ví dụ 1:
- TH2: Sáng hôm sau, Hỷ quyết định cứ 10 phút sẽ gọi điện thoại đến nhà Linh một lần cho đến khi nào có người nhấc máy.
8
Lần này Hỷ đã lặp lại hoạt động trên mấy lần?
Hoạt động gọi điện thoại của bạn Hỷ sẽ dừng lại khi nào?
* Ví dụ 2: SGK/67
Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1,2,3,…) thì ta được kết quả T1=1; T2=1+2; T3=1+2+3;… tăng dần. Cần cộng bao nhiêu số tự nhiên đầu tiên để được tổng Tn nhỏ nhất lớn hơn 1000?
9
0
T1 T0+1= 1
Đúng
2
T2 T1+2=1+2
Đúng
Đúng
…
…
…
n
Tn = Tn-1+n
Sai, kết thúc việc tính tổng
3
T3 T2+3= 1+2+3
1
T0 0
Đúng
10
(Sao cho Tn>1000)
11
- Thuật toán:
+B1: T 0; n 0;
+B2: Nếu T1000, n n+1. Ngược lại, qua B4.
+B3: T T+n và quay lại B2.
+ B4: In T và n.
- Thuật toán:
+B1: T 0; n 0;
+B2: Nếu T1000, n n+1. Ngược lại, qua B4.
+B3: TT+n
và quay lại B2.
+ B4: In T và n.
Bước nào lặp lại nhiều nhất và lặp lại bao nhiêu lần?
Việc tính tổng dừng lại khi nào?
12
13
- Thuật toán:
+B1: T 0; n 0;
+B2:Nếu T 1000, n n+1. Ngược lại, qua B4.
+B3: TT+n
và quay lại B2.
+ B4: In T và n.
VD 2.1:
a:= 10;
While a>0 do
a:= a-1;
14
- VD 2.2:
b:= 0;
While b<10 do
Begin
b:= b+1;
write(b:3);
end;
- Cú pháp:
While <điều kiện> do
;
15
- Trong đó:
+ While, do: là từ khóa.
+ <điều kiện>: thường là 1 phép so sánh hay biểu thức logic.
+: có thể là câu lệnh đơn hoặc ghép.
VD 2.1:
a:= 5;
While a>0 do
a:= a-1;
- VD 2.2:
b:= 0;
While b<10 do
Begin
b:= b+1;
write(b:3);
end;
16
- Cú pháp:
While <điều kiện> do
;
17
Var n: integer;
T: longint;
Begin
n:= 0; T:= 0;
while T<=1000 do
begin n:= n+1; T:= T + n; End;
writeln(‘Tong T= ’,T);
writeln(‘N nho nhat la: ‘,n);
Readln
End.
VD2. Tính tổng N số tự nhiên đầu tiên: T=1+2+3+..+N, sao cho T nhỏ nhất lớn 1000.
18
19
* Lưu ý: Trong câu lệnh lặp While…do: <Điều kiện> đúng thì mới thực hiện được.
- Cú pháp:
While <điều kiện> do
;
20
21
For := to do
;
While <điều kiện> do
;
CẤU TRÚC LẶP
CẤU TRÚC LẶP
22
ĐÁNH CÁ
23
LUẬT CHƠI
SẴN SÀNG?
24
* Câu 1: Hoạt động nào sau đây là không phải là lặp với số lần biết trước?
25
* Câu 2: Cú pháp của câu lệnh lặp với số lần chưa biêt trước là?
26
* Câu 3: Hãy tìm lỗi sai trong đoạn chương trình sau?
X:= 10;
while X:=10 do writeln(X);
27
*Câu 4: Đoạn CT sau thực hiện điều gì?
S:= 1;
While s<5 do
Begin write(s:3); s:= s+1; end;
28
* Câu 5: Vòng lặp sau, thực hiện tất cả bao nhiêu lần?
j:= 0;
While j < 7 do
j:=j+2;
29
BÀI HỌC
KẾT THÚC!
30
31
* Ví dụ 3: Tìm số n nguyên dương để 1/n < 0.005. Với 0.005 là sai số cho trước.
- Thuật toán:
+B1: S 1; n 1;
+B2:Nếu S 0.005, qua B3. Ngược lại, qua B4.
+B3: nn+1; S:= 1/n; và quay lại B2.
+ B4: In S và n.
const saiso= 0.005;
var n: integer;
s: real;
Begin
s:=1; n:= 1;
while s>= saiso do
begin n:= n+1; s:= 1/n; end;
writeln(`N luc nay la: `,n);
writeln(`S luc nay la: `,S:10:8);
readln
End.
32
33
* Ví dụ 5: Tính tổng
T= 1 + 1/2 + 1/3 + .. + 1/100
34
* Ví dụ 3.1:
var n: integer;
Begin
n:= 10;
while n > 0 do
write(n:5);
readln
End.
Đoạn CT trên lặp vô hạn lần.
Để thoát khỏi hoạt động lặp vô hạn đó ta nhấn Ctrl+Break;
35
* Do vậy, <điều kiện> trong vòng lặp While..do cần phải thay đổi từ đúng sang sai sau một số vòng lặp nhất định nào đó.
36
BUỔI HỌC NGÀY HÔM NAY.
1
Hãy cho ví dụ về hoạt động được thực hiện lặp đi lặp lại với số lần lặp biết trước và với số lần lặp chưa biết trước?
2
KT BÀI CŨ
* VD2: Tính tổng của 10 số tự nhiên được nhập vào từ bàn phím?
* VD1: Tính tổng các số tự nhiên được nhập vào từ bàn phím, cho đến khi nào nhập số 0 thì dừng lại?
3
KT BÀI CŨ
S:= 0;
Begin
Write(‘nhap n= ‘);
readln(n);
S:= S+ n;
End;
............................
For i:=1 to 10 do
* VD2: Tính tổng của 10 số tự nhiên được nhập vào từ bàn phím?
* VD1:
Tính tổng các số tự nhiên được nhập vào từ bàn phím, cho đến khi nào nhập số 0 thì dừng?
4
KT BÀI CŨ
For :=
Cấu trúc
điều khiển?
LẶP VỚI SỐ LẦN
CHƯA BIẾT TRƯỚC
Bài 8:
5
6
* Ví dụ 1: SGK/67
- TH1: Một ngày nọ, Hỷ gọi điện thoại rủ bạn Linh đi chơi nhưng không có ai nhấc máy. Và Hỷ quyết định gọi cho Linh thêm 3 lần nữa mà không có người bắt máy thì chắc không có ai ở nhà.
7
* Ví dụ 1:
- TH2: Sáng hôm sau, Hỷ quyết định cứ 10 phút sẽ gọi điện thoại đến nhà Linh một lần cho đến khi nào có người nhấc máy.
8
Lần này Hỷ đã lặp lại hoạt động trên mấy lần?
Hoạt động gọi điện thoại của bạn Hỷ sẽ dừng lại khi nào?
* Ví dụ 2: SGK/67
Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1,2,3,…) thì ta được kết quả T1=1; T2=1+2; T3=1+2+3;… tăng dần. Cần cộng bao nhiêu số tự nhiên đầu tiên để được tổng Tn nhỏ nhất lớn hơn 1000?
9
0
T1 T0+1= 1
Đúng
2
T2 T1+2=1+2
Đúng
Đúng
…
…
…
n
Tn = Tn-1+n
Sai, kết thúc việc tính tổng
3
T3 T2+3= 1+2+3
1
T0 0
Đúng
10
(Sao cho Tn>1000)
11
- Thuật toán:
+B1: T 0; n 0;
+B2: Nếu T1000, n n+1. Ngược lại, qua B4.
+B3: T T+n và quay lại B2.
+ B4: In T và n.
- Thuật toán:
+B1: T 0; n 0;
+B2: Nếu T1000, n n+1. Ngược lại, qua B4.
+B3: TT+n
và quay lại B2.
+ B4: In T và n.
Bước nào lặp lại nhiều nhất và lặp lại bao nhiêu lần?
Việc tính tổng dừng lại khi nào?
12
13
- Thuật toán:
+B1: T 0; n 0;
+B2:Nếu T 1000, n n+1. Ngược lại, qua B4.
+B3: TT+n
và quay lại B2.
+ B4: In T và n.
VD 2.1:
a:= 10;
While a>0 do
a:= a-1;
14
- VD 2.2:
b:= 0;
While b<10 do
Begin
b:= b+1;
write(b:3);
end;
- Cú pháp:
While <điều kiện> do
15
- Trong đó:
+ While, do: là từ khóa.
+ <điều kiện>: thường là 1 phép so sánh hay biểu thức logic.
+
VD 2.1:
a:= 5;
While a>0 do
a:= a-1;
- VD 2.2:
b:= 0;
While b<10 do
Begin
b:= b+1;
write(b:3);
end;
16
- Cú pháp:
While <điều kiện> do
17
Var n: integer;
T: longint;
Begin
n:= 0; T:= 0;
while T<=1000 do
begin n:= n+1; T:= T + n; End;
writeln(‘Tong T= ’,T);
writeln(‘N nho nhat la: ‘,n);
Readln
End.
VD2. Tính tổng N số tự nhiên đầu tiên: T=1+2+3+..+N, sao cho T nhỏ nhất lớn 1000.
18
19
* Lưu ý: Trong câu lệnh lặp While…do: <Điều kiện> đúng thì
- Cú pháp:
While <điều kiện> do
20
21
For :=
While <điều kiện> do
CẤU TRÚC LẶP
CẤU TRÚC LẶP
22
ĐÁNH CÁ
23
LUẬT CHƠI
SẴN SÀNG?
24
* Câu 1: Hoạt động nào sau đây là không phải là lặp với số lần biết trước?
25
* Câu 2: Cú pháp của câu lệnh lặp với số lần chưa biêt trước là?
26
* Câu 3: Hãy tìm lỗi sai trong đoạn chương trình sau?
X:= 10;
while X:=10 do writeln(X);
27
*Câu 4: Đoạn CT sau thực hiện điều gì?
S:= 1;
While s<5 do
Begin write(s:3); s:= s+1; end;
28
* Câu 5: Vòng lặp sau, thực hiện tất cả bao nhiêu lần?
j:= 0;
While j < 7 do
j:=j+2;
29
BÀI HỌC
KẾT THÚC!
30
31
* Ví dụ 3: Tìm số n nguyên dương để 1/n < 0.005. Với 0.005 là sai số cho trước.
- Thuật toán:
+B1: S 1; n 1;
+B2:Nếu S 0.005, qua B3. Ngược lại, qua B4.
+B3: nn+1; S:= 1/n; và quay lại B2.
+ B4: In S và n.
const saiso= 0.005;
var n: integer;
s: real;
Begin
s:=1; n:= 1;
while s>= saiso do
begin n:= n+1; s:= 1/n; end;
writeln(`N luc nay la: `,n);
writeln(`S luc nay la: `,S:10:8);
readln
End.
32
33
* Ví dụ 5: Tính tổng
T= 1 + 1/2 + 1/3 + .. + 1/100
34
* Ví dụ 3.1:
var n: integer;
Begin
n:= 10;
while n > 0 do
write(n:5);
readln
End.
Đoạn CT trên lặp vô hạn lần.
Để thoát khỏi hoạt động lặp vô hạn đó ta nhấn Ctrl+Break;
35
* Do vậy, <điều kiện> trong vòng lặp While..do cần phải thay đổi từ đúng sang sai sau một số vòng lặp nhất định nào đó.
36
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Hồ Nhật Trí
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)