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: Hoàng Thị Vân
Ngày gửi: 08h:35' 25-02-2023
Dung lượng: 1'010.4 KB
Số lượt tải: 117
Nguồn:
Người gửi: Hoàng Thị Vân
Ngày gửi: 08h:35' 25-02-2023
Dung lượng: 1'010.4 KB
Số lượt tải: 117
Số lượt thích:
0 người
KIỂM TRA BÀI CŨ
Hãy
cú pháp
lặp:to…do.
For…to…do?
Khinêu
sử dụng
lệnhcâu
lặplệnh
For…
Số lần
lặp sẽ được tính như thế nào?
Cú pháp:
For:= to do
;
Số lần lặp = - +1
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
Theo em khi sử dụng lệnh
Lặp 100 lần
lặp để viết chương trình trên
thì phép cộng được lặp lại
mấy lần?
Lặp với số lần biết trước, sử
dụng câu lệnh lặp For…to…do
để viết chương trình
VD2: Viết chương trình tính
tổng n số tự nhiên (Tn) đầu
tiên để ta nhận được tổng Tn
nhỏ nhất lớn hơn 1000?
Theo em phép cộng trên có
Không thể biết
biết trước số lần lặp không?
trướclệnh
số lần
lặp
Có sử dụng
lặp for…
vàđược
không
sử dụng
to…do
không?
lệnh For … to…
do được.
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?
Tiết
47+48
BÀI 8
Lặp với số lần chưa biết trước
Các hoạt động lặp với
1
số lần chưa biết trước
NỘI
DUNG
Ví dụ về lệnh lặp với
2 số lần chưa biết trước
1. Các hoạt động 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.
Các em hãy cho thêm những
ví dụ về hoạt động lặp với số
lần chưa biết trước?
1. Các hoạt động lặp với số lần chưa biết trước
Ví dụ 1:
Một ngày, Long quyết định cứ 10 phút gọi điện
một lần cho Trang cho đến khi nào có người nhấc
máy thì thôi.
Hoạt
độngđộng
lặp: Gọi
Hoạt
lặpđiện
là hoạt
Sốđộng
lầnhoạt
lặp
đã
được
biết
Kết
thúc
động
lặp:
gì ? Khi nào thì
trước
chưa?
Cókết
người
nhấc
máy
thì lặp?
thúc
hoạt
động
thôi.
1. Các hoạt động lặp với số lần chưa biết trước
Ví dụ 2:
Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1,2,3,…).
T =1
Ta sẽ được kết quả:
1
T2 = 1 + 2
T3 = 1 + 2 + 3
… tăng dần
Điều kiện: Khi tổng Tn nhỏ
nhất
lớn
hơn
Điều
kiện
như
thế1000
nào thì kết
thúc
hoạt
động
lặp
kết thúc
hoạt
động
lặp?
1. Các hoạt động lặp với số lần chưa biết trước
Phân tích bài toán:
T0:=0; n:=0;
n
Tổng Tn
1
T1 = 1
T2 = 1 + 2
T3 = 1 + 2 + 3
…
2
3
…
?
Tn = 1 + 2 + 3 + … +?
(Sao cho Tn nhỏ nhất
lớn hơn 1000)
Điều kiện Tn ≤ 1000
Đúng
Đúng
Đúng
…
Sai, kết thúc việc tính
tổng
1. Các hoạt động lặp với số lần chưa biết trước
Kí hiệu S là tổng cần tìm
Böôùc 1:
S 0, n 0.
Böôùc 2:
Nếu S≤1000, n n+1; Ngược lại, chuyển tới b4.
Böôùc 3: S S + n và quay lại bước 2.
Böôùc 4: 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.
Các hoạt động lặp với số lần
Sai
S1000?
Việc
lặp
lại
một
nhóm
hoạt
động
với
số
lần
chưa
* Cóchưa
thểbiết
diễn
tả bài
trên
trước
phụtoán
thuộc
vào
bằng
sơgìđồ
như
sau:
xác
định
trước
phụlạithuộc
vào một điều kiệnĐúng
cụ thể
cái
và
chỉ dừng
khi nào?
được thỏa mãn và chỉ dừng lại khi điềunkiện
n+1; không
S S+n;
thỏa mãn
1. Các hoạt động lặp với số lần chưa biết trước:
S1000?
Đúng
n n+1;
S S+n;
Sai
Điều kiện
TQ
Sai
Đúng
Câu lệnh
Để chỉ dẫn máy tính thực hiện các hoạt động lặp
trên, ta có thể sử dụng câu lệnh có dạng: Lặp với số
lần chưa biết trướ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;
while
Điều kiện
do
Câu lệnh
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.
2. Ví dụ về lệnh lặp với số lần chưa biết trước
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.
Chừng nào điều kiện còn đúng thì câu lệnh còn thực hiện.
2. Ví dụ về lệnh lặp với số lần chưa biết trước
VD 4: 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;
Câu lệnh ghép
while S<=1000 do
begin
n:=n+1;
S:=S+n ;
end;
write('Tong S= ',S,' va ',n,' la so tu nhien nho nhat sao cho
S>1000');
Readln;
End.
Tong S= 1035 va 45 la so tu nhien nho nhat sao cho S>1000
Thực Hành
Viết chương trình tính tổng của N số tự
nhiên đầu tiên. (Sử dụng lệnh While…do)
S = 1 + 2 + 3 + ∙∙∙ + N
Thực Hành
Viết chương trình tính tổng của N số tự
nhiên đầu tiên. (Sử dụng lệnh While…do)
S = 1 + 2 + 3 + ∙∙∙ + N
Chương trình sử dụng lệnh For…to…do:
Var i,N:byte; S:integer;
Begin
S:=0;
Write('N=');readln(N);
for i:=1 to N do S:=S+i;
Writeln('S=', S);
readln
End.
Var i, N: byte;
S:integer;
Begin
i:=1;S:=0;
Write('N=');readln(N);
while i<=N do
begin
S:=S+i; i:=i+1;
end;
Writeln('S=', S);
Readln;
End.
Nhận xét : Qua ví dụ này cho thấy rằng chúng ta có thể sử
dụng câu lệnh while…do thay cho câu lệnh for…do.
“ Add your company slogan ”
LOGO
Hãy
cú pháp
lặp:to…do.
For…to…do?
Khinêu
sử dụng
lệnhcâu
lặplệnh
For…
Số lần
lặp sẽ được tính như thế nào?
Cú pháp:
For
Số lần lặp =
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
Theo em khi sử dụng lệnh
Lặp 100 lần
lặp để viết chương trình trên
thì phép cộng được lặp lại
mấy lần?
Lặp với số lần biết trước, sử
dụng câu lệnh lặp For…to…do
để viết chương trình
VD2: Viết chương trình tính
tổng n số tự nhiên (Tn) đầu
tiên để ta nhận được tổng Tn
nhỏ nhất lớn hơn 1000?
Theo em phép cộng trên có
Không thể biết
biết trước số lần lặp không?
trướclệnh
số lần
lặp
Có sử dụng
lặp for…
vàđược
không
sử dụng
to…do
không?
lệnh For … to…
do được.
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?
Tiết
47+48
BÀI 8
Lặp với số lần chưa biết trước
Các hoạt động lặp với
1
số lần chưa biết trước
NỘI
DUNG
Ví dụ về lệnh lặp với
2 số lần chưa biết trước
1. Các hoạt động 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.
Các em hãy cho thêm những
ví dụ về hoạt động lặp với số
lần chưa biết trước?
1. Các hoạt động lặp với số lần chưa biết trước
Ví dụ 1:
Một ngày, Long quyết định cứ 10 phút gọi điện
một lần cho Trang cho đến khi nào có người nhấc
máy thì thôi.
Hoạt
độngđộng
lặp: Gọi
Hoạt
lặpđiện
là hoạt
Sốđộng
lầnhoạt
lặp
đã
được
biết
Kết
thúc
động
lặp:
gì ? Khi nào thì
trước
chưa?
Cókết
người
nhấc
máy
thì lặp?
thúc
hoạt
động
thôi.
1. Các hoạt động lặp với số lần chưa biết trước
Ví dụ 2:
Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1,2,3,…).
T =1
Ta sẽ được kết quả:
1
T2 = 1 + 2
T3 = 1 + 2 + 3
… tăng dần
Điều kiện: Khi tổng Tn nhỏ
nhất
lớn
hơn
Điều
kiện
như
thế1000
nào thì kết
thúc
hoạt
động
lặp
kết thúc
hoạt
động
lặp?
1. Các hoạt động lặp với số lần chưa biết trước
Phân tích bài toán:
T0:=0; n:=0;
n
Tổng Tn
1
T1 = 1
T2 = 1 + 2
T3 = 1 + 2 + 3
…
2
3
…
?
Tn = 1 + 2 + 3 + … +?
(Sao cho Tn nhỏ nhất
lớn hơn 1000)
Điều kiện Tn ≤ 1000
Đúng
Đúng
Đúng
…
Sai, kết thúc việc tính
tổng
1. Các hoạt động lặp với số lần chưa biết trước
Kí hiệu S là tổng cần tìm
Böôùc 1:
S 0, n 0.
Böôùc 2:
Nếu S≤1000, n n+1; Ngược lại, chuyển tới b4.
Böôùc 3: S S + n và quay lại bước 2.
Böôùc 4: 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.
Các hoạt động lặp với số lần
Sai
S1000?
Việc
lặp
lại
một
nhóm
hoạt
động
với
số
lần
chưa
* Cóchưa
thểbiết
diễn
tả bài
trên
trước
phụtoán
thuộc
vào
bằng
sơgìđồ
như
sau:
xác
định
trước
phụlạithuộc
vào một điều kiệnĐúng
cụ thể
cái
và
chỉ dừng
khi nào?
được thỏa mãn và chỉ dừng lại khi điềunkiện
n+1; không
S S+n;
thỏa mãn
1. Các hoạt động lặp với số lần chưa biết trước:
S1000?
Đúng
n n+1;
S S+n;
Sai
Điều kiện
TQ
Sai
Đúng
Câu lệnh
Để chỉ dẫn máy tính thực hiện các hoạt động lặp
trên, ta có thể sử dụng câu lệnh có dạng: Lặp với số
lần chưa biết trướ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
while
Điều kiện
do
Câu lệnh
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.
2. Ví dụ về lệnh lặp với số lần chưa biết trước
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.
Chừng nào điều kiện còn đúng thì câu lệnh còn thực hiện.
2. Ví dụ về lệnh lặp với số lần chưa biết trước
VD 4: 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;
Câu lệnh ghép
while S<=1000 do
begin
n:=n+1;
S:=S+n ;
end;
write('Tong S= ',S,' va ',n,' la so tu nhien nho nhat sao cho
S>1000');
Readln;
End.
Tong S= 1035 va 45 la so tu nhien nho nhat sao cho S>1000
Thực Hành
Viết chương trình tính tổng của N số tự
nhiên đầu tiên. (Sử dụng lệnh While…do)
S = 1 + 2 + 3 + ∙∙∙ + N
Thực Hành
Viết chương trình tính tổng của N số tự
nhiên đầu tiên. (Sử dụng lệnh While…do)
S = 1 + 2 + 3 + ∙∙∙ + N
Chương trình sử dụng lệnh For…to…do:
Var i,N:byte; S:integer;
Begin
S:=0;
Write('N=');readln(N);
for i:=1 to N do S:=S+i;
Writeln('S=', S);
readln
End.
Var i, N: byte;
S:integer;
Begin
i:=1;S:=0;
Write('N=');readln(N);
while i<=N do
begin
S:=S+i; i:=i+1;
end;
Writeln('S=', S);
Readln;
End.
Nhận xét : Qua ví dụ này cho thấy rằng chúng ta có thể sử
dụng câu lệnh while…do thay cho câu lệnh for…do.
“ Add your company slogan ”
LOGO
 








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