Tải bản đầy đủ (.ppt) (41 trang)

Bai 8 lap voi so lan chua biet truoc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.27 MB, 41 trang )

Tin Học 8



KIỂM TRA BÀI CŨ
Hãy
pháplệnh
câu lặp
lệnhFor…
lặp: For…to…do?
Khinêu
sửcú
dụng
to…do. Số

lần lặp sẽ được tính như thế nào?

Cú pháp:
For <biến đếm>:=<giá trị đầu> to cuối> do <câu lệnh>;
Số lần lặp = <giá trị cuối> - <giá trị đầu> +1


KIỂM TRA BÀI CŨ
Ví dụ:

Số lần lặp = 4- 1+1= 4

For i:= 1 To 4 Do
Writeln(‘Day la so lan lap thu’ ,i);
Day la so lan lap thu 1


Day la so lan lap thu 2
Day la so lan lap thu 3
Day la so lan lap thu 4


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
For i:=1 to 100 do s:=s+i;
Theo emLặp
khi 100
sử dụng
lần
lệnh lặp for…to…do để
viết chương trình trên thì
phép cộng được lặp lại
mấy
Lặplần?
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 n số tự nhiên đầu
tiên để ta nhận được tổng
Tn nhỏ nhất lớn hơn
1000?
Không thể biết trước số

lần
lặp em
và phép
khôngcộng
sử dụng
Theo
được
lệnh
trên có
biếtfor…to…do
trước số .
lần lặp không? Có sử
dụng lệnh lặp for…to…
do được không?
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?


LẶP VỚI SỐ LẦN
CHƯA BiẾT TRƯỚC


Tiết 49- Bài 8

 Nam học cho đến khi thuộc bài.
 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.



Tiết 49- Bài 8

1. Các hoạt động lặp với số
Ví dụ
1:
1
lần
chưa
biết trước:

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
lặp:
Gọi
Số
lầnHoạt
lặp động
đã
biết
chưa?
lặp
làđiện
gì ?
Kết nào
thúcthì
vòng

lặp: vòng
Có lặp?
Khi
kết thúc
người nhấc máy thì thơi.



Tiết 49- Bài 8

1. Các hoạt động lặp với số
Ví dụ
2:
2
lần
chưa
biết trước:

Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1,2,3,…). Ta sẽ
được kết quả:

… tăng dần

Điều
Tn nhỏ
Điềukiện:
kiện Khi
như tổng
thế nào
thì

nhất
lớn hơn
kết
kết thúc
hoạt1000
độngthì
lặp?
thúc hoạt động lặp


Tiết 49- Bài 8

1. Các hoạt động lặp với số
Ví dụ 2:
2 Phân tích bài tốn:
lần
chưa
biết trước:
T0:=0; n:=0;
n

Tổng Tn

1

T1 = 1
T2 = 1 + 2
T3 = 1 + 2 + 3

Tn = 1 + 2 + 3 + … +n


2
3

n

(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


Tiết 49- Bài 8

1. Các hoạt động lặp với số
Ví dụ 2:
2 Ta có thuật tốn như sau:
lần
chưa
biết trước:
Kí hiệu S là tổng cần tìm
S ← 0, n ← 0.
Nếu S≤1000, thì: n ← n+1; S ← S + n và quay lại bước 2.
Ngược lại, chuyển tới bước 3.

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 tốn.

* Có thể diễn tả bài tốn
trên bằng sơ đồ như sau:


Tiết 49- Bài 8

1. Các hoạt động lặp với số
lần chưa biết trước:
Việc
lạiđộng
một lặp
nhóm
hoạt
Cáclặp
hoạt
với số
lần
động
với
sốtrước
lần chưa
xác
chưa
biết
phụ thuộc
vàotrước
cái gìphụ

và chỉ
dừng
lại
định
thuộc
vào
khiđiều
nào?
một
kiện cụ thể được
thỏa mãn và chỉ dừng lại
khi điều kiện khơng thỏa
mãn

S≤ 1000?
Đúng
n ← n+1;
S ← S+n;

Sai


Tiết 49- Bài 8

1. Các hoạt động lặp với số
lần chưa biết trước:
S≤ 1000?
Đúng
n ← n+1;
S ← S+n;


Sai

Điều kiện

Sai

Đúng

Câu lệnh
SƠ ĐỒ KHỐI

Để 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


Tiết 49- 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 <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

while
Điều kiện

do
Câu lệnh

 Câu lệnh: có thể là câu lệnh đơn giản hay câu lệnh ghép.


Tiết 49- Bài 8

2. Ví dụ về lệnh lặp với số lần chưa biết trước
Bước Quan
1 : Kiểm
sáttra
sơđiều
đồ kiện.
Bướckhối,
2 : - hãy
Nếucho
điềubiết
kiện sai,
cách
câu lệnh
sẽthực
bị bỏhiện
qua và việc
câulệnh
lệnhlặp
lặp?
thực hiện
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

KẾT THÚC


Tiết 49- Bài 8

2. Ví dụ về lệnh lặp với số lần chưa biết trước
VD1: While a<=b do a:=a+1;
 While, do là các từ khóa.
 Điều kiện là a<=b (chứa phép so sánh).
 Câu lệnh là a:=a+1 (câu lệnh đơn).
VD2: While a>b do
Begin
write(‘a>b’);
a:=a-1;
End;

 While, do là các từ khóa.
 Điều kiện là a>b (chứa phép
so sánh).
 Câu lệnh là Write(‘a>b’) và
a:=a-1 (câu lệnh ghép).


Tiết 49- Bài 8


2. Ví dụ về lệnh lặp với số lần chưa biết trước
Viết câu lệnh in ra 5 số tự nhiên liên tiếp bắt đầu bằng số 1.
Sử dụng lệnh lặp với số lần lặp
chưa biết trước while…do

Hướng dẫn:
Gán n
Đặt điều kiện
begin
in ra n;
n tăng 1 đơn vị;
end;

n:=1
while n<=5 do
begin
writeln(n);
n:=n+1;
end;


M« pháng thuËt to¸n:

n:=1
while n<=5 do
begin
writeln(n);
n:=n+1;
end;


Bắt đầu
n := 1

635<=
21<=
4<=
<=5?
5?

Sai
Kết quả

Đúng
Viết
Viết15432ra
ramàn
mànhình
hình
n:=
n:=1+1=2
3+1=4
4+1=5
5+1=6
2+1=3

1
Kết thúc

2


3

4

5


BÀI TẬP VẬN DỤNG


* 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?
A Tính diện tích 10 ngôi nhà.
B Nhập các số nguyên từ bàn phím
cho đến khi đủ 50 số.
C Nhặt từng ngọn lá ngoài sân.
D Tính tổng các số tự nhiên từ 1
đến 20
21


* 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à?
A For <biến_đếm>:= <gt_đầu> to
<gt_cuối> do <câu_lệnh>;
B


While
kiện>;

<câu lệnh> do <điều

C While i<10 do i:= i-1;
D While <điều kiện> do lệnh>;

22


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;
Thừa dấu:

b) X:= 10; while X = 10 do X = X + 5;
Thiếu
dấu :
c) S:= 0; n:=0; while S <= 10 do n:= n + 1; S:= S + n ;
Thiếu
Begin

Thiếu
End


• Về nhà học thuộc bài.
• Làm bài tập 1,2,3a SGK.

• Đọc trước phần còn lại của bài.


Tin Học 8


×