Tìm kiếm Bài giảng
Bài 8. Lặp với số lần chưa biết trước

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Đặng Thị Bích Hà (trang riêng)
Ngày gửi: 14h:27' 19-02-2022
Dung lượng: 2.3 MB
Số lượt tải: 358
Nguồn:
Người gửi: Đặng Thị Bích Hà (trang riêng)
Ngày gửi: 14h:27' 19-02-2022
Dung lượng: 2.3 MB
Số lượt tải: 358
Số lượt thích:
0 người
CHÀO MỪNG QUÝ THẦY CÔ VỀ DỰ GIỜ THĂM LỚP
PHÒNG GD THÀNH PHỐ HUẾ
TRƯỜNG THCS NGUYỄN THỊ MINH KHAI
GV: Đặng Thị Bích Hà
TIME LIMIT:
2 minutes
Nêu các ví dụ về hoạt động lặp chưa biết trước?
TIME’S UP
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Bài 8
(Tiếp theo)
S1 = 1
S2 = 1 + 2
S3 = 1 + 2 + 3
....
Cần cộng bao nhiêu số tự nhiên n thì ta nhận được tổng Sn nhỏ nhất lớn hơn 1000?
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c.
tăng dần
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
Ví dụ 2:
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c.
Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào cái gì và chỉ dừng lại khi nào?
* Có thể diễn tả bài toán trên bằng sơ đồ như sau:
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
Bước 1 :S 0, n 0.
Ngược lại, chuyển tới bước 4.
Bước 3 : S S + n và quay lại bước 2.
Bước 2: Nếu S≤1000, thì n n+1;
Bước 4: In kết quả: n là số tự nhiên để tổng S nhỏ nhất sao cho S>1000. Kết thúc thuật toán.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
2. Ví dụ về lệnh lặp với số lần chưa biết trước
Cú pháp:
While <điều kiện> do;
Trong đó:
While, do: là các từ khóa.
Điều kiện: thường là một phép so sánh
Câu lệnh: có thể là câu lệnh đơn giản hay câu lệnh ghép.
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c.
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c.
2. Ví dụ về lệnh lặp với số lần chưa biết trước
Cú pháp:
While <điều kiện> do;
Quan sát sơ đồ khối, hãy cho biết cách thực hiện câu lệnh lặp?
Bước 1 : Kiểm tra điều kiện.
Bước 2 : Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc.
Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
Chừng nào điều kiện còn đúng thì câu lệnh còn thực hiện.
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c.
2. Ví dụ về lệnh lặp với số lần chưa biết trước
Cú pháp:
While <điều kiện> do;
Bước 1 : Kiểm tra điều kiện.
Bước 2 : Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc.
Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
Dùng câu lệnh lặp While … do để viết chương trình thể hiện thuật toán sau
Bước 1 :S 0, n 0.
Ngược lại, chuyển tới bước 4.
Bước 3 : S S + n và quay lại bước 2.
Bước 2: Nếu S≤1000, thì n n+1;
Bước 4: In kết quả: n là số tự nhiên để tổng S nhỏ nhất sao cho S>1000. Kết thúc thuật toán.
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c.
2. Ví dụ về lệnh lặp với số lần chưa biết trước
Cú pháp:
While <điều kiện> do;
Bước 1 : Kiểm tra điều kiện.
Bước 2 : Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc.
Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
Chương trình:
var S,n: integer;
Begin
S:=0; n:=0;
while S<=1000 do
begin
n:=n+1;
S:=S+n ;
end;
write(‘So tu nhien n de tong >1000 la ’, n);
write(‘Tong dau tien >1000 la’, S);
Readln;
End.
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c.
2. Ví dụ về lệnh lặp với số lần chưa biết trước
Cú pháp:
While <điều kiện> do;
Bước 1 : Kiểm tra điều kiện.
Bước 2 : Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc.
Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
Ví dụ 3: Viết chương trình tính tổng
Bài toán này lặp với số lần biết trước hay chưa biết trước?
Tìm input và output của bài toán?
Input: 1+1/2+1/3+…+1/100
Output: Tổng T
Tổ 1,2: Viết chương trình sử dụng for..do
Tổ 3,4: Viết chương trình sử dụng while..do
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Chương trình sử dụng lệnh lặp
với số lần biết trước:
Chương trình sử dụng câu lệnh lặp với số lần chưa biết trước:
Program vidu5_1;
Var i: integer;
T: real;
Begin
T:=0;
For i:=1 to 100 do T:=T+1/i;
Writeln (T);
Readln;
End.
Program vidu5_2;
Var i: integer;
T: real;
Begin
T:=0;
i:=1;
while i<=100 do
begin
T:=T+1/i;
i:=i+1;
end;
Writeln(T);
Readln;
end.
Kết quả hai chương trình như nhau.
Tiết 46:Bài 8
* Lưu ý:
- Chúng ta có thể sử dụng câu lệnh while…do thay cho câu lệnh for…to…do.
- Tùy trường hợp mà chúng ta sử dụng câu lệnh while…do… thay cho câu lệnh for…to…do… Vì lệnh lặp while…do… phù hợp cho bài toán với số lần lặp chưa biết trước còn câu lệnh for…to…do phù hợp với bài toán có số lần lặp biết trước.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
Học sinh thảo luận theo nhóm (1 bàn 1 nhóm)
Có 4 câu hỏi. Mỗi nhóm chỉ được phép chọn 1 câu hỏi, nhóm chọn câu hỏi, cử đại diện đứng lên đọc đề. Sau đó tất cả các nhóm cùng thảo luận.
Cách thức trả lời:
+ Nếu câu hỏi trắc nghiệm: tất cả các nhóm cùng giơ đáp án lên.
+ Nếu câu hỏi tự luận: nhóm chọn câu hỏi cử đại diện đứng lên trả lời. Các nhóm khác nhận xét.
BÀI TẬP
CU 1
CU 2
CU 3
CU 4
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
CU 1: Trong cc ho?t d?ng ny, ho?t d?ng no l ho?t d?ng l?p v?i s? l?n chua bi?t tru?c?
a) X:= 10; while X:= 10 do X:= X + 5;
b) X:= 10; while X = 10 do X = X + 5;
c) S:= 0; n:=0; while S <= 10 do n:= n + 1; S:= S + n ;
Cu 2: Hy ch? ra l?i trong cc cu l?nh sau?
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
In ra cc s? t? 1 d?n 9
In ra cc s? t? 1 d?n 10
In ra c s? 1 ra cc s? 1
Khơng phuong n no dng
Cu 3: Do?n l?nh sau ny cho k?t qu? l gi?
S:=1; While s < 10 do
Begin writeln(s); s:=s+1; end;
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
B. 10 vòng lặp, S=5
D. 12 vịng l?p, S=4
B. 10 vịng l?p, S=5
A. 9 vịng l?p, S=5.5
C. 11 vịng l?p, S=4.5
SAI RỒI!
SAI RỒI!
SAI RỒI!
35
Cu 4: Thu?t tốn no sau th?c hi?n bao nhiu vịng l?p? Khi k?t thc, gi tr? c?a S b?ng bao nhiu?
- Bu?c 1: S ? 10, x ? 0.5.
- Bu?c 2: N?u S ? 5*2 chuy?n t?i bu?c 4.
- Bu?c 3: S ? S -x v quay l?i bu?c 2.
- Bu?c 4: Thơng bo S v k?t thc thu?t tốn
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
- Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào một điều kiện cụ thể và chỉ dừng lại khi điều kiện đó sai.
GHI NH?
- Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng:
While <điều kiện> do;
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
DẶN DÒ
- Tìm thêm một vài ví dụ về hoạt động lặp với số lần chưa biết trước
- Về nhà học bài, làm bài tập 2 sgk trang 71.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
PHÒNG GD THÀNH PHỐ HUẾ
TRƯỜNG THCS NGUYỄN THỊ MINH KHAI
GV: Đặng Thị Bích Hà
TIME LIMIT:
2 minutes
Nêu các ví dụ về hoạt động lặp chưa biết trước?
TIME’S UP
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Bài 8
(Tiếp theo)
S1 = 1
S2 = 1 + 2
S3 = 1 + 2 + 3
....
Cần cộng bao nhiêu số tự nhiên n thì ta nhận được tổng Sn nhỏ nhất lớn hơn 1000?
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c.
tăng dần
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
Ví dụ 2:
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c.
Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào cái gì và chỉ dừng lại khi nào?
* Có thể diễn tả bài toán trên bằng sơ đồ như sau:
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
Bước 1 :S 0, n 0.
Ngược lại, chuyển tới bước 4.
Bước 3 : S S + n và quay lại bước 2.
Bước 2: Nếu S≤1000, thì n n+1;
Bước 4: In kết quả: n là số tự nhiên để tổng S nhỏ nhất sao cho S>1000. Kết thúc thuật toán.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
2. Ví dụ về lệnh lặp với số lần chưa biết trước
Cú pháp:
While <điều kiện> do
Trong đó:
While, do: là các từ khóa.
Điều kiện: thường là một phép so sánh
Câu lệnh: có thể là câu lệnh đơn giản hay câu lệnh ghép.
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c.
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c.
2. Ví dụ về lệnh lặp với số lần chưa biết trước
Cú pháp:
While <điều kiện> do
Quan sát sơ đồ khối, hãy cho biết cách thực hiện câu lệnh lặp?
Bước 1 : Kiểm tra điều kiện.
Bước 2 : Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc.
Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
Chừng nào điều kiện còn đúng thì câu lệnh còn thực hiện.
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c.
2. Ví dụ về lệnh lặp với số lần chưa biết trước
Cú pháp:
While <điều kiện> do
Bước 1 : Kiểm tra điều kiện.
Bước 2 : Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc.
Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
Dùng câu lệnh lặp While … do để viết chương trình thể hiện thuật toán sau
Bước 1 :S 0, n 0.
Ngược lại, chuyển tới bước 4.
Bước 3 : S S + n và quay lại bước 2.
Bước 2: Nếu S≤1000, thì n n+1;
Bước 4: In kết quả: n là số tự nhiên để tổng S nhỏ nhất sao cho S>1000. Kết thúc thuật toán.
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c.
2. Ví dụ về lệnh lặp với số lần chưa biết trước
Cú pháp:
While <điều kiện> do
Bước 1 : Kiểm tra điều kiện.
Bước 2 : Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc.
Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
Chương trình:
var S,n: integer;
Begin
S:=0; n:=0;
while S<=1000 do
begin
n:=n+1;
S:=S+n ;
end;
write(‘So tu nhien n de tong >1000 la ’, n);
write(‘Tong dau tien >1000 la’, S);
Readln;
End.
1. Cc ho?t d?ng l?p v?i s? l?n chua bi?t tru?c.
2. Ví dụ về lệnh lặp với số lần chưa biết trước
Cú pháp:
While <điều kiện> do
Bước 1 : Kiểm tra điều kiện.
Bước 2 : Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc.
Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
Ví dụ 3: Viết chương trình tính tổng
Bài toán này lặp với số lần biết trước hay chưa biết trước?
Tìm input và output của bài toán?
Input: 1+1/2+1/3+…+1/100
Output: Tổng T
Tổ 1,2: Viết chương trình sử dụng for..do
Tổ 3,4: Viết chương trình sử dụng while..do
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Chương trình sử dụng lệnh lặp
với số lần biết trước:
Chương trình sử dụng câu lệnh lặp với số lần chưa biết trước:
Program vidu5_1;
Var i: integer;
T: real;
Begin
T:=0;
For i:=1 to 100 do T:=T+1/i;
Writeln (T);
Readln;
End.
Program vidu5_2;
Var i: integer;
T: real;
Begin
T:=0;
i:=1;
while i<=100 do
begin
T:=T+1/i;
i:=i+1;
end;
Writeln(T);
Readln;
end.
Kết quả hai chương trình như nhau.
Tiết 46:Bài 8
* Lưu ý:
- Chúng ta có thể sử dụng câu lệnh while…do thay cho câu lệnh for…to…do.
- Tùy trường hợp mà chúng ta sử dụng câu lệnh while…do… thay cho câu lệnh for…to…do… Vì lệnh lặp while…do… phù hợp cho bài toán với số lần lặp chưa biết trước còn câu lệnh for…to…do phù hợp với bài toán có số lần lặp biết trước.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
Học sinh thảo luận theo nhóm (1 bàn 1 nhóm)
Có 4 câu hỏi. Mỗi nhóm chỉ được phép chọn 1 câu hỏi, nhóm chọn câu hỏi, cử đại diện đứng lên đọc đề. Sau đó tất cả các nhóm cùng thảo luận.
Cách thức trả lời:
+ Nếu câu hỏi trắc nghiệm: tất cả các nhóm cùng giơ đáp án lên.
+ Nếu câu hỏi tự luận: nhóm chọn câu hỏi cử đại diện đứng lên trả lời. Các nhóm khác nhận xét.
BÀI TẬP
CU 1
CU 2
CU 3
CU 4
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
CU 1: Trong cc ho?t d?ng ny, ho?t d?ng no l ho?t d?ng l?p v?i s? l?n chua bi?t tru?c?
a) X:= 10; while X:= 10 do X:= X + 5;
b) X:= 10; while X = 10 do X = X + 5;
c) S:= 0; n:=0; while S <= 10 do n:= n + 1; S:= S + n ;
Cu 2: Hy ch? ra l?i trong cc cu l?nh sau?
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
In ra cc s? t? 1 d?n 9
In ra cc s? t? 1 d?n 10
In ra c s? 1 ra cc s? 1
Khơng phuong n no dng
Cu 3: Do?n l?nh sau ny cho k?t qu? l gi?
S:=1; While s < 10 do
Begin writeln(s); s:=s+1; end;
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
B. 10 vòng lặp, S=5
D. 12 vịng l?p, S=4
B. 10 vịng l?p, S=5
A. 9 vịng l?p, S=5.5
C. 11 vịng l?p, S=4.5
SAI RỒI!
SAI RỒI!
SAI RỒI!
35
Cu 4: Thu?t tốn no sau th?c hi?n bao nhiu vịng l?p? Khi k?t thc, gi tr? c?a S b?ng bao nhiu?
- Bu?c 1: S ? 10, x ? 0.5.
- Bu?c 2: N?u S ? 5*2 chuy?n t?i bu?c 4.
- Bu?c 3: S ? S -x v quay l?i bu?c 2.
- Bu?c 4: Thơng bo S v k?t thc thu?t tốn
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
- Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào một điều kiện cụ thể và chỉ dừng lại khi điều kiện đó sai.
GHI NH?
- Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng:
While <điều kiện> do
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
DẶN DÒ
- Tìm thêm một vài ví dụ về hoạt động lặp với số lần chưa biết trước
- Về nhà học bài, làm bài tập 2 sgk trang 71.
LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Tiết 46:Bài 8
 








Các ý kiến mới nhất