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: nguyễn thơ
Ngày gửi: 20h:08' 31-01-2023
Dung lượng: 2.1 MB
Số lượt tải: 534
Nguồn:
Người gửi: nguyễn thơ
Ngày gửi: 20h:08' 31-01-2023
Dung lượng: 2.1 MB
Số lượt tải: 534
Số lượt thích:
0 người
VD1: Viết chương trình
tính tổng các số tự
nhiên từ 1 đến 100
S = 1 + 2 + 3 + . . .+100
Lặp 100 lần
Lặp với số lần biết trước,
sử dụng câu lệnh lặp For…
Do để viết chương trình
VD2: Viết chương trình
tính tổng các số tự
nhiên đầu tiên.
S = 1 + 2 + 3 + …. Cho
đến khi S>1000
Chưa biết lặp
mấy lần
Lặp với số lần chưa biết
trước, sử dụng câu lệnh gì
để viết chương trình?
1. Lặp với số lần chưa biết trước
Nam làm bài tập cho đến khi làm xong.
Cô ấy phải đi bộ như vậy cho đến khi về tới nhà.
Tôi phải nhập dữ liệu vào máy tính cho đến khi nhập xong.
Hoạt động sẽ
nàokếtđược
thúclặp
khi
nào?
lại?
1. Lặp với số lần chưa biết trước
VD 1: (SGK)
tăng dần
Điều
kếtđược
thúc lặp?
là gì?
hoạtkiện
độngđểnào
1. Lặp với số lần chưa biết trước
Kí hiệu S là tổng cần tìm và ta có thuật toán như sau:
S 0, n 0.
Nếu S≤1000, n n+1; Ngược lại, chuyển tới bước 4.
S S + n và quay lại bước 2.
In kết quả: S và n là số tự nhiên nhỏ nhất sao cho
S>1000. Kết thúc thuật toán.
VD1: Trong khi a bé hơn
hoặc bằng b thì a tăng
lên 1 đơn vị
While a<=b do
a:=a+1;
VD2: Trong khi a lớn
hơn b thì a giảm xuống
1 đơn vị, b tăng lên 2
đơn vị.
Trong đó : While, do: là các từ khóa.
While a>b do
Begin
a:=a-1;
b:=b+2;
End;
Điều kiện: là a>b (chứa phép so sánh).
Câu lệnh: câu lệnh đơn hoặc câu lệnh ghép.
Hãy nêu Cú Pháp câu lệnh lặp
với số lần chưa biết trước?
Begin
begin
end;
End.
Bài 8. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Cú pháp:
WHILE <điều kiện> DO;
Chú ý : Trong trường hợp câu lệnh ghép:
While <điều kiện> do
Begin
câu lệnh 1;
câu lệnh 2;
…
End;
8
VD 3: (SGK) Dùng câu lệnh lặp While … Do để viết chương
trình thể hiện thuật toán trong Ví dụ 2 (Sgk)
var S,n: integer;
Begin
S:=0; n:=0;
while S<=1000 do
begin
n:=n+1; S:=S+n ;
end;
write('Ket qua la: ', S);
Readln;
End.
Tong S= 1035 va 45 la so tu nhien nho nha sao cho S>1000
Câu 1
Câu 2
Câu 3
Câu 4
Lưu ý:
-Mỗi một câu hỏi sẽ có 30 giây để suy nghĩ.
-Sau 30 giây giáo viên sẽ gọi 1 học sinh bất kì để
trả lời. Nếu trả lời đúng sẽ được 1 điểm cộng.
- Học sinh khác có thể bổ sung ý kiến nếu học sinh
trước đó trả lời sai.
Câu 1: Trong các hoạt động dưới đây,
hoạt động nào là hoạt động với số lần
chưa biết trước?
A
Tính tổng các số tự nhiên từ 1 đến 20.
B
Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số.
C
Mỗi ngày học bài 2 lần.
D
Nhập vào 1 số cho đến khi số nhập vào là số chẵn thì dừng.
23
30
29
28
26
27
24
25
10
11
12
13
14
15
16
17
18
19
20
21
22
6
7
8
9
0
1
2
3
4
5
Câu 2: Hãy chỉ ra lỗi trong các câu lệnh sau đây?
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 ;
Thiếu Begin
Thừa dấu :
Thiếu dấu :
Thiếu End;
23
30
29
28
26
27
10
11
12
13
14
15
16
17
18
19
20
21
22
24
25
6
7
8
9
0
1
2
3
4
5
Câu 3: Câu lệnh sau đây cho kết quả là gì?
S:=1;
While s < 10 do
Begin
writeln(s);
s:=s+1;
end;
A
In ra các số từ 1 đến 9
B
In ra các số từ 1 đến 10
C
In ra các số 1
D
Không phương án nào đúng
23
30
29
28
26
27
24
25
10
11
12
13
14
15
16
17
18
19
20
21
22
6
7
8
9
0
1
2
3
4
5
Câu 4: Thuật toán sau khi thực hiện vòng lặp? Khi kết
thúc giải thuật của S bằng bao nhiêu?
- Bước 1: S 10, x 2.
- Bước 2: Nếu S 5 chuyển tới bước 4.
- Bước 3: S S – x và quay lại bước 2.
- Bước 4: Thông báo S và kết thúc thuật toán.
A. 2 vòng lặp, S=8
C. 3 vòng lặp, S=6
B. 10
4 vòng
B.
voønglặp,
laëp,S=4
S=5
D. 5 vòng lặp, S=2
SAI
SaiROÀ
rồiI!
23
30
29
28
26
27
10
11
12
13
14
15
16
17
18
19
20
21
22
24
25
6
7
8
9
0
1
2
3
4
5
- 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.
- 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;
- Về nhà học bài. Làm bài tập 4 Sgk trang 67.
- 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.
- Xem trước VD4, Lặp vô hạn lần–Lỗi lập
trình cần tránh.
tính tổng các số tự
nhiên từ 1 đến 100
S = 1 + 2 + 3 + . . .+100
Lặp 100 lần
Lặp với số lần biết trước,
sử dụng câu lệnh lặp For…
Do để viết chương trình
VD2: Viết chương trình
tính tổng các số tự
nhiên đầu tiên.
S = 1 + 2 + 3 + …. Cho
đến khi S>1000
Chưa biết lặp
mấy lần
Lặp với số lần chưa biết
trước, sử dụng câu lệnh gì
để viết chương trình?
1. Lặp với số lần chưa biết trước
Nam làm bài tập cho đến khi làm xong.
Cô ấy phải đi bộ như vậy cho đến khi về tới nhà.
Tôi phải nhập dữ liệu vào máy tính cho đến khi nhập xong.
Hoạt động sẽ
nàokếtđược
thúclặp
khi
nào?
lại?
1. Lặp với số lần chưa biết trước
VD 1: (SGK)
tăng dần
Điều
kếtđược
thúc lặp?
là gì?
hoạtkiện
độngđểnào
1. Lặp với số lần chưa biết trước
Kí hiệu S là tổng cần tìm và ta có thuật toán như sau:
S 0, n 0.
Nếu S≤1000, n n+1; Ngược lại, chuyển tới bước 4.
S S + n và quay lại bước 2.
In kết quả: S và n là số tự nhiên nhỏ nhất sao cho
S>1000. Kết thúc thuật toán.
VD1: Trong khi a bé hơn
hoặc bằng b thì a tăng
lên 1 đơn vị
While a<=b do
a:=a+1;
VD2: Trong khi a lớn
hơn b thì a giảm xuống
1 đơn vị, b tăng lên 2
đơn vị.
Trong đó : While, do: là các từ khóa.
While a>b do
Begin
a:=a-1;
b:=b+2;
End;
Điều kiện: là a>b (chứa phép so sánh).
Câu lệnh: câu lệnh đơn hoặc câu lệnh ghép.
Hãy nêu Cú Pháp câu lệnh lặp
với số lần chưa biết trước?
Begin
begin
end;
End.
Bài 8. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
Cú pháp:
WHILE <điều kiện> DO
Chú ý : Trong trường hợp câu lệnh ghép:
While <điều kiện> do
Begin
câu lệnh 1;
câu lệnh 2;
…
End;
8
VD 3: (SGK) Dùng câu lệnh lặp While … Do để viết chương
trình thể hiện thuật toán trong Ví dụ 2 (Sgk)
var S,n: integer;
Begin
S:=0; n:=0;
while S<=1000 do
begin
n:=n+1; S:=S+n ;
end;
write('Ket qua la: ', S);
Readln;
End.
Tong S= 1035 va 45 la so tu nhien nho nha sao cho S>1000
Câu 1
Câu 2
Câu 3
Câu 4
Lưu ý:
-Mỗi một câu hỏi sẽ có 30 giây để suy nghĩ.
-Sau 30 giây giáo viên sẽ gọi 1 học sinh bất kì để
trả lời. Nếu trả lời đúng sẽ được 1 điểm cộng.
- Học sinh khác có thể bổ sung ý kiến nếu học sinh
trước đó trả lời sai.
Câu 1: Trong các hoạt động dưới đây,
hoạt động nào là hoạt động với số lần
chưa biết trước?
A
Tính tổng các số tự nhiên từ 1 đến 20.
B
Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số.
C
Mỗi ngày học bài 2 lần.
D
Nhập vào 1 số cho đến khi số nhập vào là số chẵn thì dừng.
23
30
29
28
26
27
24
25
10
11
12
13
14
15
16
17
18
19
20
21
22
6
7
8
9
0
1
2
3
4
5
Câu 2: Hãy chỉ ra lỗi trong các câu lệnh sau đây?
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 ;
Thiếu Begin
Thừa dấu :
Thiếu dấu :
Thiếu End;
23
30
29
28
26
27
10
11
12
13
14
15
16
17
18
19
20
21
22
24
25
6
7
8
9
0
1
2
3
4
5
Câu 3: Câu lệnh sau đây cho kết quả là gì?
S:=1;
While s < 10 do
Begin
writeln(s);
s:=s+1;
end;
A
In ra các số từ 1 đến 9
B
In ra các số từ 1 đến 10
C
In ra các số 1
D
Không phương án nào đúng
23
30
29
28
26
27
24
25
10
11
12
13
14
15
16
17
18
19
20
21
22
6
7
8
9
0
1
2
3
4
5
Câu 4: Thuật toán sau khi thực hiện vòng lặp? Khi kết
thúc giải thuật của S bằng bao nhiêu?
- Bước 1: S 10, x 2.
- Bước 2: Nếu S 5 chuyển tới bước 4.
- Bước 3: S S – x và quay lại bước 2.
- Bước 4: Thông báo S và kết thúc thuật toán.
A. 2 vòng lặp, S=8
C. 3 vòng lặp, S=6
B. 10
4 vòng
B.
voønglặp,
laëp,S=4
S=5
D. 5 vòng lặp, S=2
SAI
SaiROÀ
rồiI!
23
30
29
28
26
27
10
11
12
13
14
15
16
17
18
19
20
21
22
24
25
6
7
8
9
0
1
2
3
4
5
- 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.
- 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
- Về nhà học bài. Làm bài tập 4 Sgk trang 67.
- 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.
- Xem trước VD4, Lặp vô hạn lần–Lỗi lập
trình cần tránh.
 








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