•- Ñeå chæ daãn cho maùy tính thöïc hieän hoaït ñoäng laëp nhö treân, ta söû duïng caáu truùc laëp vôùi soâ laàn chöa bieát tröôùc vaø ñöôïc moâ taû baèng sô ñoà H39.. •- Moïi ngoân [r]
(1)Người thực : Lê Xuân Tâm
Người thực : Lê Xuân Tâm
(2)
KIỂM TRA BÀI CŨ
Câu 1
:
Trong lập trình, cấu trúc lặp sử
dụng đ làm gì?
ể
- Cấu trúc lặp đ c thể gì?
ượ
(3)Trả lời
Câu 1
:
Cấu trúc lặp sử dụng để thị cho máy tính thực
hiện lặp lại vài hoạt động điều kiện
nào thoả mãn.
- Cấu trúc lăp thể câu lệnh lặp.
Câu 2:
Cú pháp câu lệnh lặp với số lần lặp cho trước ngơn
ngữ lập trình Pascal:
(4)(5)Tiết
41
Ví dụ 1:
Một ngày chủ nhật, bạn
Long gọi điện cho Trang Khơng
có nhấc máy Long định
gọi thêm hai lần Nếu
khơng có nhấc máy
khơng có nhà Như
Long biết trước lặp
lại hoạt động gọi điện thêm hai
lần Một ngày khác, Long
định 10 phút gọi điện lần
cho Trang có
người nhấc máy Lần nàyLong
sẽ lặp lại hoạt động gọi
lần?
1 Các hoạt động lặp với số lần chưa
biết trước
Ví d 1: (SGK)
ụ
-Long ch a bi t đ c s l p l i ho t
ư
ế ượ ẽ ặ ạ
ạ
đ ng g i n m y l n.
ộ
ọ ệ
ấ ầ
- i u ki n k t thúc hoạt động lặp
Đ ề
ệ
ế
có người nhấc máy.
(6)Tieát
41
Ví dụ 2:
Nếu cộng n số tự
nhiên (n=1, 2, 3,…), Ta
được kết T1=1, T2=1+2,
T3=1+2+3,… tăng dần Cần cộng
bao nhiêu số tự nhiên dể ta
nhân tổng T
nnhỏ lớn
1000 ?
Thuật toán
: Kí hiệu S 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 bước 4.
Bước 3:
S S+n quay lại bước
2.
Bước 4:
In kết quả: S n số tự
nhiên nhỏ cho S >1000.
Kết thúc thuật toán.
1 Các hoạt động lặp với số lần chưa
biết trước
Ví d 1: (SGK)
ụ
-Long ch a bi t đ c s l p l i ho t
ư
ế ượ ẽ ặ ạ
ạ
đ ng g i n m y l n.
ộ
ọ ệ
ấ ầ
- i u ki n k t thúc hoạt động lặp
Đ ề
ệ
ế
có người nhấc máy.
Ví d 2: (SGK)
ụ
-Thực phép cộng với số
hay dừng phải kiểm tra tổng lớn
hơn 1000 hay chưa.
•Thuật tốn: (SGK)
•- Việc thực phép cộng thuật
tốn lặp lại với số lần chưa
biết trước.
(7)Tieát
41
1 Các hoạt động lặp với số lần chưa
biết trước
Cấu trúc lặp với sô lần chưa
biết trước
•
Tóm lại:
•
-
Việc lặp lai nhóm hoạt động
với sơ lần chưa xác định trước phụ
thuộc vào điều kiện cụ thể có
được thoả mãn hay khơng.
•- Để dẫn cho máy tính thực
hoạt động lặp trên, ta sử dụng cấu
trúc lặp với sô lần chưa biết trước
được mơ tả sơ đồ H39.
•- Mọi ngơn ngữ lập trình có câu
lệnh lặp với số lần chưa biết trước để
thể cấu trúc lặp trên.
Điều kiện ?
Câu lệnh
Sai
Đúng
(8)Tiết
41
2 Ví dụ lệnh lặp với sô lần chưa
biết trước
Trong Pascal, cú pháp 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> <câu lệnh> ;
Trong đó:
Điều kiện thường phép so sánh;
Câu lệnh câu lệnh đơn giản hay câu lệnh ghép
* Câu lệnh lặp thực sau:
Bước 1: Kiểm tra điều kiện
Bước 2: Nếu điều kiện SAI, câu lệnh bị bỏ qua việc thực lệnh lặp kết thúc Nếu điều kiện ĐÚNG, thực câu lệnh quay lại bước
* Ý nghĩa: Trong <điều kiện> cịn thực hiên <câu lệnh>
Cấu trúc lặp với sô lần chưa
biết trước
Điều kiện ?
Câu lệnh
Sai
(9)Tiết
41
2 Ví dụ lệnh lặp với sô lần chưa
biết trước
Trong Pascal, cú pháp 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> <câu lệnh> ;
Trong đó:
Điều kiện thường phép so sánh;
Câu lệnh câu lệnh đơn giản hay câu lệnh ghép
* Câu lệnh lặp thực sau:
Bước 1: Kiểm tra điều kiện
Bước 2: Nếu điều kiện SAI, câu lệnh bị bỏ qua việc thực lệnh lặp kết thúc Nếu điều kiện ĐÚNG, thực câu lệnh quay lại bước
* Ý nghĩa: Trong <điều kiện> cịn thực hiên <câu lệnh>
Ví dụ 3: Nếu n(n>0) lớn 1/n nhỏ, ln ln lớn
Với giá trị n 1/n < 0.005 1/n < 0.003? Chương trình tính số n nhỏ để 1/n nhỏ sai số cho trước
Uses crt; Var x: real;
n: integer;
Const sai_so=0.003; Begin
clrscr;
x:=1; n:=1;
while x>= sai_so begin n:=n+1; x:=1/n end;
Writeln(‘ So n nho nhat de 1/n ‘, sai_so:6:4, ‘la ‘,n); Readln
(10)Hoạt động nhóm
- Câu lệnh lặp với số lần chưa biết trước câu lệnh nào? Điều kiện
câu lệnh tương ứng câu lệnh lặp gì?
- Giải thích ý nghóa câu lệnh lăp chương trình này?
Uses crt;
Var x: real;
n: integer; Const sai_so=0.003; Begin
clrscr
x:=1; n:=1;
while x>= sai_so begin n:=n+1; x:=1/n end;
Writeln(‘ So n nho nhat de 1/n <‘, sai_so:6:4, ‘la ‘,n); Readln
(11)HOẠT ĐỘNG NHĨM
• Câu lệnh lăp với số lần chưa biết trước:
•
while x>= sai_so begin n:=n+1; x:=1/n end;
Điều kiện:
x>= sai_so
Câu lệnh:
begin n:=n+1; x:=1/n end
Giải thích:
Trong x >= sai_so
thực
(12)Tieát
41
1 Các hoạt động lặp với số lần chưa
biết trước
-
Việc lặp lai nhóm hoạt động với
sơ lần chưa xác định trước phụ thuộc
vào điều kiện cụ thể có
thoả mãn hay khơng.
•- Để dẫn cho máy tính thực
hoạt động lặp trên, ta sử dụng cấu
trúc lặp với sô lần chưa biết trước
được mơ tả sơ đồ H39.
•- Mọi ngơn ngữ lập trình có câu
lệnh lặp với số lần chưa biết trước để
thể cấu trúc lặp trên.
2 Ví dụ lệnh lặp với sô lần chưa
biết trước
Trong Pascal, cú pháp 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> <câu lệnh> ;
Trong đó:
Điều kiện thường phép so sánh;
Câu lệnh câu lệnh đơn giản hay câu lệnh ghép
* Câu lệnh lặp thực sau:
Bước 1: Kiểm tra điều kiện
Bước 2: Nếu điều kiện SAI, câu lệnh bị bỏ qua việc thực lệnh lặp kết
thúc Nếu điều kiện ĐÚNG, thực câu lệnh quay lại bước
(13)