Bước 2 : 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. Nếu điều kiện[r]
Trang 2Tớ phải bị phạt
đi tới đi lui như
thế này cho tới
bao giờ ?
Còn tớ phải bị phạt tập thể dục như thế này cho tới bao giờ ?
Mỗi tình huống mơ tả điều gì được lặp lại? Và lặp bao nhiêu lần?
Cậu phải đi cho đến khi trời mưa.
Cậu phải làm 50 lần như thế.
Trang 4Bài 8: L p v i s l n ch a ặ ớ ố ầ ư
bi t tr ế ướ c
(2 tiết)
Trang 5Bài 8: L p v i s l n ch a bi t tr ặ ớ ố ầ ư ế ướ c
Bài 8: L p v i s l n ch a bi t tr ặ ớ ố ầ ư ế ướ c
Nội dung chính:
1/ Các hoạt động lặp với số lần chưa biết trước
2/ Ví dụ về lệnh lặp với số lần chưa biết trước
• Cú pháp của câu lệnh
• Ví dụ
3/ Lặp vô hạn – Lỗi lập trình cần tránh
Trang 61/ Các hoạt động lặp với số lần chưa biết trước
Trang 8• VD 2: Nếu cộng lần lượt n số tự nhiên đầu tiên (n = 1, 2, 3, ), ta sẽ được các kết quả :
Trang 91/ Các hoạt động lặp với số lần chưa biết trước
Thuật toán
• Bước 1 S := 0, n := 0.
• Bước 2 Nếu S ≤ 10, n n + 1; ngược lại chuyển
tới bước 4
• Bước 3 S S + n và quay lại bước 2.
• Bước 4 In kết quả: S và n là số tự nhiên nhỏ nhất
sao cho S > 10 Kết thúc thuật toán.
Trang 101/ Các hoạt động lặp với số lần chưa biết trước
Thuật toán
• Bước 1 S := 0, n := 1.
• Bước 2 Nếu S ≤ 10, S S + n; ngược lại chuyển
tới bước 4
• Bước 3 n n + 1 và quay lại bước 2.
• Bước 4 In kết quả: S và n là số tự nhiên nhỏ nhất
sao cho S > 10 Kết thúc thuật toán.
Trang 111/ Các hoạt động lặp với số lần chưa biết trước
Câu lệnh
Đúng
Sai
Điều Kiện
Trang 121/ Các hoạt động lặp với số lần chưa biết trước
Trang 142/ 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 khi điều kiện đúng thì thực hiện câu lệnh
Trong đó:
• While, do: từ khoá
• <câu lệnh>: là câu lệnh đơn hoặc câu lệnh ghép
• < điều kiện>: là phép so sánh (<, >, =, <=, >=,<>)
Trang 152/ 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:
Bước 2 : 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 Nếu điều kiện
đúng , thực hiện câu lệnh và quay lại bước 1.
Bước 1 : Kiểm tra điều kiện.
Trang 162/ Ví dụ về lệnh lặp với số lần chưa biết trước
Câu lệnh
Đúng
Sai
Điều Kiện
Trang 17…
Trang 18Trở lại Ví dụ 2: Nếu cộng lần lượt n số tự
nhiên đầu tiên (n = 1, 2, 3, ), ta sẽ được
các kết quả T1 =1, T2 =1 + 2, T3 =1 + 2 + 3, tăng dần Cần cộng bao nhiêu số tự nhiên
đầu tiên để ta nhận được tổng T n nhỏ nhất lớn hơn 1000?
2/ Ví dụ về lệnh lặp với số lần chưa biết trước
Trang 19Chương trình Pascal sau đây thể hiện thuật toán tính
writeln('So n nho nhat de tong > 1000 la ',n);
writeln('Tong dau tien > 1000 la ',S);
end.
Trang 23Chúng ta biết rằng, nếu n càng lớn thì 1/n càng nhỏ, nhưng luôn luôn lớn hơn 0 Vậy với giá trị nào của n thì 1/n < 0.005
Chương trình dưới đây tính số n nhỏ nhất để 1/n nhỏ hơn
một sai số cho trước
Chương trình tính số n nhỏ nhất để 1/n nhỏ hơn một sai
số cho trước
2/ Ví dụ về lệnh lặp với số lần chưa biết trước
Trang 26Nếu sử dụng lệnh lặp while…do, đoạn chương trình dưới
đây cũng cho cùng một kết quả:
Trang 27Xét đoạn chương trình sau
Cần chú ý đặt điều kiện cho phù hợp
.
Trang 28…
Trang 30Nếu S=0,i=1 Sau khi thực hiện câu lệnh