Tải bản đầy đủ (.docx) (3 trang)

kho bài khối 8 trường thcs lam sơn

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 (87.96 KB, 3 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>BÀI 8</b>



<b>LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC</b>



Cuộc sống hằng ngày có nhiều hoạt động được lặp đi lặp lại nhiều lần với số lần chưa thể xác
định trước. Hoạt động lặp được kết thúc phụ thuộc vào một điều kiện cụ thể.


<b>1. Lệnh lặp với số lần chưa biết trước:</b>


<i>Ví dụ 1</i>: Tính tổng của n số tự nhiên đầu tiên sao cho tổng nhỏ nhất lớn hơn 1000?
Thuật toán để giải bài toán trên:


Bước 1: S <- 0, n <- 0


Bước 2: nếu S <= 1000 thì……….; Ngược lại (S > 1000 )
chuyển tới ……….


Bước 3: n <- n + 1; S <- S + n; và quay lại ………….
Bước 4: In kết quả, kết thúc thuật tốn.


 Để viết chương trình chỉ dẫn máy tính thực hiện các hoạt động lặp mà chưa xác định
trước được số lần lặp, ta có thể sử dụng câu lệnh có dạng lặp với số lần chưa xác định.


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> do <câu lệnh>;
Trong đó:


+ while, do: ………
+ điều kiện: ………


+ câu lệnh: có thể là ………


Q trình thực hiện của câu lệnh:


Bước 1: kiểm tra điều kiện


Bước 2: nếu điều kiện ………. thì câu lệnh sẽ …………. và vịng lặp ……….. Ngược lại, nếu
điều kiện ………. thì thực hiện …….. và quay lại bước 1.


<i>Ví dụ 3: </i>Chương trình dưới đây thể hiện thuật tốn tính số n trong Ví dụ 1:
<b>Var ...</b>


<b>Begin</b>
S := 0;
n := 0;


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

Begin


S := S + n;
n := n + 1;
End;


Writeln(‘So n nho nhat de tong > 1000 la ’,……);
Writeln(‘Tong dau tien > 1000 la ’,……….);
<b>End.</b>


<i>Ví dụ 2: </i>


Với giá trị nào của <i>n ( n>o ) </i>thì
1


<i>n</i><sub> < 0.005 hoặc </sub>


1


<i>n</i><sub> < 0.003? Chương trình dưới đây tính số </sub><i><sub>n </sub></i>


nhỏ nhất để
1


<i>n</i><sub> nhỏ hơn một sai số cho trước : </sub>
<b>uses crt;</b>


<b>var ……….</b>
……….
<b>const sai_so=0.003;</b>
<b>begin</b>


clrscr;
x:=1; n:=1;


<b>while x>=sai_so do begin x:=1/n; n:=n+1 end;</b>
writeln('So n nho nhat de 1/n < ',sai_so:5:4, 'la ',n - 1);
readln


<b>end.</b>


<b>Ví dụ 5:</b> Viết chương trình tính tổng


1 1 1


1 ...



2 3 100


<i>T</i>     


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

………
………
………
………
<b>2. Lặp vơ hạn lần – Lỗi lập trình cần tránh.</b>


- Khi thực hiện vòng lặp, <i>…………</i>trong câu lệnh phải được thay đổi để sớm hay muộn giá trị của


<i>…………. </i>được chuyển từ <i>……… </i>sang <i>……</i>… Chỉ như thế chương trình mới khơng "rơi" vào
những "vịng lặp vô tận".


<b>BÀI TẬP</b>


1. Nhập vào số nguyên dương n, viết chương trình tính tổng các số lẻ nhỏ hơn hoặc bằng n.
2. Nhập vào số nguyên dương n, viết chương trình tính tổng các số chẵn nhỏ hơn hoặc bằng n.
3. Viết chương trình nhận biết một số tự nhiên N được nhập vào từ bàn phím có phải là số


ngun tố hay khơng.


4. Viết chương trình in ra các số lẻ nhỏ hơn hoặc bằng n. Với n được nhập từ bàn phím.
5. Viết chương trình in ra các số chẵn nhỏ hơn hoặc bằng n. Với n được nhập từ bàn phím.
6. Viết chương trình tính tổng <i>T</i>= 1


1+2+
2
2+3+



</div>

<!--links-->

×