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

BAI 8: CAU LENH LAP(T1)

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



KIỂM TRA BÀI CŨ
KIỂM TRA BÀI CŨ
- Hãy nêu cú pháp câu lệnh lặp ở hai
dạng: lặp tiến, lặp lùi.


Câu hỏi


Cú pháp:
-
Cấu trúc dạng lặp tiến:
For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do
<câu lệnh>;
-
Cấu trúc dạng lặp lùi:
For <biến đếm>:=<giá trị cuối> dowto <giá trịđầu>
do <câu lệnh>;

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
Laëp 100 laàn
VD2: Viết chương trình nhập
vào các số cho đến khi
gặp 0 thì dừng lại. Tính
tổng các số vừa nhập.
Ch a bi t l p 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
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?


 Nam sẽ học bài cho đến khi thuộc.
 Cơ ấy phải đi bộ như vậy cho đến khi về tới nhà.
Về nhà 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:
 Tơi phải nhập dữ liệu vào máy tính cho đến
khi nhập xong.



VD1
VD1(Sgk):
Long sẽ lặp lại hoạt
động gọi điện mấy lần?
1. Các hoạt động lặp với số lần chưa biết trước:
Chưa thể biết trước được. Điều
kiện để kết thúc hoạt động lặp
đó là có người nhấc máy.
Một ngày chủ nhật, Long quyết đònh
cứ 10 phút gọi điện một lần cho Trang, cho

đến khi có người nhấc máy.

VD2
VD2(Sgk)
:
:
1. Các hoạt động lặp với số lần chưa biết trước:
Điều kiện như thế nào
thì kết thúc hoạt động
lặp?
Điều kiện: Khi tổng T
n
nhỏ
nhất lớn hơn 1000 thì kết
thúc hoạt động lặp
tăng dần

1. Các hoạt động lặp với số lần chưa biết trước:
n Tổng T
n
Điều kiện T
n
≤ 1000
1
T
1
= 1 Đúng
2 T
2
= 1 + 2 Đúng

Đúng
… … …
?
T
n
= 1 + 2 + 3 + … +?
(Sao cho T
n

nhỏ nhất
lớn hơn 1000)
Sai, kết thúc việc tính
tổng
3 T
3
= 1 + 2 + 3
Phân tích bài tốn:

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 tốn.
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 và ta có thuật tốn như sau:
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 tốn

trên bằng sơ đồ như sau:
S≤1000?
Sai
n ← n+1;
S ← S+n;
Đúng


Nói chung, hoạt động lặp với số lần chưa
biết trước có thể được mô tả như sau:
Điều kiện?
Sai
Câu lệnh
Đúng



Trong Pascal câu lệnh lặp với số lần chưa
biết trước có dạng:
Trong đó:

Đ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 hay là 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:ụ ề ệ ặ





Câu lệnh lặp này được thực hiện như sau:
1) Kiểm tra điều kiện.
2) + Nếu điều kiện ĐÚNG, thực hiện
câu lệnh và quay lại bước 1.
+ 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.
2. Ví d v l nh l p với số lần chưa biết trước:ụ ề ệ ặ
Sơ đồ
hoạt động


điều kiện
C U LệNh
SAI
SAI
NG
NG
Lu Đồ miêu tả quá trình hoạt động của vòng lặp WHILE DO
Kieồm tra
ủieu kieọn
Thực hiện
lệnh
Thoát khỏi
vòng lặp

2. Ví d v l nh l p vôùi soá laàn chöa bieát tröôùc:ụ ề ệ ặ
VD1: While
a<=b
a<=b do a:=a+1;
VD2: While

a>b
a>b do
Begin write(‘a>b’); a:=a-1; End;

Trong đó :  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).

Trong đó :  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).


VD: 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)
2. Ví d v l nh l p vôùi soá laàn chöa bieát tröôùc:ụ ề ệ ặ
var S, n: integer;
Begin
S := 0; n := 0;
while S <= 1000 do
begin
n := n+1; S := S+n ;
end;
writeln(‘So can tim la:’,n);
Writeln(‘ Tong tim duoc la:’,S);
Readln;
End.
Hãy nêu Cú Pháp câu lệnh lặp
với số lần chưa biết trước?
Tong S= 1035 va 45 la so tu nhien nho nhat sao cho S>1000

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


Học sinh thảo luận theo nhóm (chia 4 nhóm)
Học sinh thảo luận theo nhóm (chia 4 nhóm)
-

Có 4 câu hỏi. Các nhóm cùng suy nghó về câu hỏi trong thời
gian 30 giây, hết thời gian cử dại diện giơ câu trả lời của nhóm
mình.
-
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.
Câu 1
Câu 2
Câu 3
Câu 4

A
A
Tính tổng các số tự nhiên từ 1 đến 20.
B
B
Nhập các số ngun từ bàn phím cho đến khi đủ 50 số.
D
D
Nhập vào 1 số cho đến khi số nhập vào là số chẵn thì dừng.
C

C
Mỗi ngày học bài 2 lần.
30292827262524
23
222120191817161514131211109876543210
Câu 1: Trong các hoạt động dưới
đây, hoạt động nào là hoạt động lặp
với số lần chưa biết trướ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 ;
Thừa dấu :
Thiếu
dấu :
Thiếu Begin
Thiếu End
Câu 2: Hãy chỉ ra lỗi trong các câu lệnh sau đây?
30292827262524
23
222120191817161514131211109876543210

In ra các số từ 1 đến 9
In ra các số từ 1 đến 9
In ra các số từ 1 đến 10
In ra các số từ 1 đến 10
In ra các số 1
In ra các số 1
Không phương án nào đúng.
Không phương án nào đúng.

A
A
B
B
C
C
D
D
Câu 3: Đoạn lệnh sau đây cho kết quả là gì?
S:=1; While s < 10 do
Begin writeln(s); s:=s+1; end;
30292827262524
23
222120191817161514131211109876543210

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!
Câu 4: Thuật toán sau thực hiện bao nhiêu vòng lặp?
Khi kết thúc, giá trò của S bằng bao nhiêu?

- Bước 1: S ← 10, x ← 0.5.
- Bước 2: Nếu S ≤ 5.2 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.
30292827262524

23
222120191817161514131211109876543210

- 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 <câu lệnh>;

- Xem trước VD3, VD4, VD5, Lặp vô hạn
lần–Lỗi lập trình cần tránh.
- 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.


CHóC Quý THÇY C¤
CHóC Quý THÇY C¤
CïNG ToµN THÓ C¸C EM
CïNG ToµN THÓ C¸C EM
LU¤N LU¤N M¹NH
LU¤N LU¤N M¹NH
KHáE!
KHáE!

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×