•- Ñ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 Tn nhỏ 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)