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 (434.38 KB, 9 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>Long lặp lại hoạt động </b>
<b>gọi điện thoại mấy lần?</b>
<b>Long lặp lại hoạt động </b>
<b>gọi điện thoại mấy lần?</b>
<b>Long lặp lại hoạt động </b>
<b>gọi điện thoại mấy lần?</b>
<b>Long lặp lại hoạt động </b>
<b>gọi điện thoại mấy lần?</b>
Nếu cộng lần lượt <i>n</i> số tự nhiên đầu tiên (<i>n </i>= 1, 2, 3,...), ta
sẽ được các kết quả:
<i>T</i><sub>1</sub> =1
<i>T</i><sub>2</sub> =1 + 2
<i>T</i><sub>3</sub> =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 <i>Tn</i> nhỏ nhất lớn hơn 1000?
Trả lời: không biết trước.
Trong trường hợp này, để quyết định thực hiện phép cộng
với số tiếp theo hay dừng, trong từng bước cần phải kiểm
tra điều gì?
Kí hiệu <i>S </i>là tổng cần tìm và ta có thuật tốn như sau:
<i>Bước 1.</i> <i>S </i> 0, <i>n </i> 0.
<i>Bước 2.</i> Nếu <i>S ≤</i> 1000, <i>n </i> <i>n </i>+ 1; ngược lại chuyển tới
bước 4.
<i>Bước 3.</i> <i>S </i> <i>S </i>+ <i>n </i>và quay lại bước 2.
<i>Bước 4.</i> In kết quả: <i>S</i> và <i>n</i> là số tự nhiên nhỏ nhất sao cho
Bây giờ chúng ta sẽ chạy tay thử chương trình với điều kiện
là <b>S <= 10</b>.
n = 6
S = 10+5 = 15
n = 5
lần 5
S = 6+4 = 10
n = 4
lần 4
S = 3+3 = 6
n = 3
lần 3
S = 1+2 = 3
n = 2
lần 2
S = 0+1 = 1
n = 1
lần 1
S = 0
n = 0
2. 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>;
Công dụng: lặp với số lần chưa xác đị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.
Ví dụ3: (sgk).
<b>uses</b> crt;
<b>var</b> x: real;
n: integer;
<b>const</b> sai_so=0.003;
<b>begin</b>
clrscr;
x:=1; n:=1;
<b>while</b> x>=sai_so <b>do</b> <b>begin</b> n:=n+1; x:=1/n <b>end</b>;
writeln('So n nho nhat de 1/n < ',sai_so:6:4, 'la ',n);
readln
Bây giờ chúng ta sẽ chạy tay thử chương trình với điều kiện
<b>sai_so = 0.3</b>
x = 1/4
n = 4
x = 1/3
n = 3
x = 1/2
n = 2
x = 1
n = 1