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

Bai_8_Lap_voi_so_lan_chua_biet_truoc_afa860b447

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.42 MB, 24 trang )

Chào mừng quý thầy cô và các em
học sinh
Tin học 8

1


2


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

3



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
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 sử
dụng
100
lầnlệ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ầ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 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?
5


BÀI 8: LẶP VỚI SỐ LẦN

CHƯA BIẾT TRƯỚC

6


 Gieo hai hạt xúc xắc cho đến khi được
hai mặt có cùng số nút
 Thử nhiều chìa khóa vào một ổ khóa cho đến khi
tìm được đúng chìa khóa của ổ khóa
 Tơi phải nhập dữ liệu vào máy tính cho đến khi
nhập xong.

7


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 thúc vịng lặp: Có
Khi nào thì kết thúc vịng lặp?
người nhấc máy thì thơi.

8


Tiết 48- 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
kiện:
Khi
tổngthế
Tn nào
nhỏ nhất
Điều
kiện
như
thì
lớn hơn 1000 thì kết thúc hoạt
kết thúc hoạt động lặp?
động lặp

9


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

10


1. Các hoạt động lặp với số
Ví dụ
2:
2 Tabiết

lần
chưa
có thuậttrước:
tốn như sau:
Kí hiệu S là tổng cần tìm
S  0, n  0.
Nếu S≤1000, S  S + n và ;Ngược lại chuyển tới bước 4.
n  n + 1 và quay lại bước 2 .
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:
11


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ộtlặp
nhóm
Cáclặp
hoạt
với sốhoạt
lần
chưa
biết
phụ thuộc
động

với
sốtrước
lần chưa
xác
vàotrước
cái gì phụ
và chỉthuộc
dừng vào
lại khi
định
nào?
một điều 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?

Sai

Đúng
n  n+1;
S  S+n;

12


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
13


Cú pháp:

While <điều kiện> do <câu lệnh >;
Trong

đó:

while
Điều kiện

do

While, do: là các từ khóa.
Câu lệnh
Đ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.

14


Bước 1Quan
: Kiểm
điều kiện.
sát tra
sơ đồ
Bướckhối,
2 : - hãy
Nếucho
điều
kiện sai,
biết
câu sẽ
lệnh
câu lệnh
bị while..
bỏ qua và việc
Do lệnh
đượclặp
thực
thực hiện

kết thúc.
nào thực hiện
- Nếu hiện
điềunhư
kiệnthế
đúng,
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

15


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).

16


Dùng câu lệnh while
do viết chương trình
thực hiện ở ví dụ 2
Cần những biến nào? Khai báo ra sao?


Câu lệnh ở đây là gì ?
Điều kiện ở đây là gì ?
17


- Hai biến : S và n.
- Khai báo : S:=0; n:=0;
- Điều kiện : S<= 1000.
- Câu lệnh : While S<=1000 do
Begin
n:=n+1; S:= S+n;
End;

18


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;

19


Mô phỏng thuật toán:

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

Bt u
n := 1

635<=
4<=
12<=
<=5?
5?

Sai
Kt qu

ỳng

Vit
Vit15432ra
ramn
mnhỡnh
hỡnh
n:=
n:=1+1=2
3+1=4
4+1=5
5+1=6
2+1=3

1

2

3

4

5

Kt thúc
20


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

21



* 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ố ngun 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
22


* 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>;

23






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

24



×