LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚC tiếp1.. Các hoạt động 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 SAI, câu lệnh sẽ bị
Trang 1LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚC (tiếp)
1 Các hoạt động 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 đó:
- Đ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.
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 SAI, câu lệnh sẽ bị bỏ qua và chuyển
sang câu lệnh tiếp theo trong chương trình Nếu điều kiện ĐÚNG, thực hiện câu lệnh và quay lại bước 1.
Tiết 45 Bài 8
2 Ví dụ về lệnh lặp với số lần chưa biết trướcVí dụ:- Tập lái xe đến khi biết lái
- Học thuộc lòng một bài thơ cho tới khi bố mẹ kiểm tra là đã thuộc thì mới kết
thúc, nếu không thì phải học lại…
?Em Hãy trình bày cú
pháp của câu lệnh lặp
với số lần chưa biết trước? Nêu hoạt động
của câu lệnh?
?Em hãy nêu một vài
ví dụ về hoạt động lặp với số lần chưa biết
trước?
Trang 2LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚC (tiếp)
1 Các hoạt động lặp với số lần chưa biết trước.
Tiết 45 Bài 8
2 Ví dụ về lệnh lặp với số lần chưa biết trước
Ví dụ 5: Viết chương trình tính tổng
100
1
3
1 2
1
=
T
?Bài toán trên là
hoạt động lặp với số
lần biết trước hay lặp
với số lần chưa biết
trước?
Bài toán trên là hoạt động lặp với số lần biết trước
Trang 3Ví dụ 5: Viết chương trình tính tổng
NhËn xÐt:
T1 = 1
T2 = T1 + 1/2
T3 = T2 + 1/3
T4 = T3 + 1/4
T100 = T99 + 1/100
B¾t ®Çu tõ T2 viÖc tÝnh T ® îc lÆp
®i lÆp l¹i 99 lÇn theo quy luËt
T sau = T tr íc + 1/i víi i ch¹y tõ 2 → 100
1
=
T
2
1
+
3
1
+
4
1
100
100
1
3
1 2
1
1+ + + +
=
T
Phân tích bài toán:
Trang 4Program vidu5_1;
Var i: integer;
T: real;
Begin T:=0;
For i:=1 to 100 do T:=T+1/i;
Writeln (T);
End
*) Giải bài toán bằng câu lệnh lặp với số lần biết trước:
Cú pháp của câu lệnh:
For <biến đếm>:= <giá trị đầu> To <giá trị cuối> Do <câu lệnh>;
Giá trị đầu: 1
Giá trị cuối: 100
Câu lệnh: T:=T+1/i;
Chương trình được viết như sau:
?Em hãy nhắc lại
cũ pháp của câu lệnh lặp với số lần biết trước?
Trang 5Program vidu5_2;
Var i: integer;
T: real;
Begin T:=0;
i:=1;
while i<=100 do begin T:=T+1/i;
i:=i+1; end;
end
*) Giải bài toán bằng câu lệnh lặp với số lần chưa biết trước:
Nếu sử dụng câu lệnh while… do thì điều kiện của chương trình là: i<=100
Vòng lặp sẽ dừng lại khi:
Chương trình sẽ được viết như sau:
i>100
Trang 6Qua ví dụ này cho ta thấy rằng chúng ta có thể sử dụng câu lệnh While do thay cho câu lệnh for… do Nhưng tùy trường hợp mà chúng ta sử dụng câu lệnh for…do… thay cho câu lệnh while…do… vì lệnh lặp while…do… chỉ phù hợp cho lệnh lặp với số lần chưa biết trước còn câu lệnh for…do phù hợp lệnh lặp với số lần biết trước
Kết quả của hai chương trình trên là như nhau
Trang 7Củng cố
?Trong các hoạt động dưới đây, hoạt động nào sẽ được thực hiện lặp lại với số lần chưa biết?
A Tính tổng của 20 số tự nhiên đầu tiên
B Nhập một số hợp lệ, ví dụ số nguyên trong khoảng
từ 0 đến 10, vào máy tính Nếu số nhập vào không hợp lệ thì được yêu cầu nhập lại
C Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số
D Nhập các số từ bàn phím và tính tổng cho đến khi lần đầu tiên nhận được tổng lớn hơn 1000 thì kết thúc
Trang 8Dặn dò
Về nhà học bài.
Xem trước ví dụ 4, phần 3 giờ sau học tiếp.