<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 </b>
</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>
<b>Bài 8. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC</b>
2
<b>NỘI DUNG</b>
</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>
<i><b>Bài 8:</b></i>
<b><sub>LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC</sub></b>
Nam làm bài tập cho đến khi làm xong.
Cô ấy phải đi bộ như vậy cho đến khi về tới nhà.
<b>1. Các hoạt động lặp với số lần chưa biết trước</b>
Tôi phải nhập dữ liệu vào máy tính cho đến khi nhập xong.
<i>Hoạt động nào được lặp </i>
<i>lại?</i>
</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>
4
1. Các hoạt động lặp với số lần chưa
biết
-
<sub>Các bạn học sinh nhặt rác ở </sub>
công viên.
-
<sub>Nam học từ vựng tiếng anh bằng cách</sub>
viết lại nhiều lần cho đến khi thuộc.
-
<sub>Con quạ nhặt đá bỏ vào bình cho</sub>
đến khi nước tràn ra.
</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>
<b>T<sub>1</sub> = 1</b>
<b>T<sub>2</sub> = 1 + 2</b>
<b>T<sub>3</sub> = 1 + 2 + 3</b>
<b>…...</b>
Cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng <b>T<sub>n</sub></b>
<b>nhỏ nhất lớn hơn 1000</b> <sub>?</sub>
<b>Điều kiện như thế nào thì </b>
<b>kết thúc hoạt động lặp?</b>
<b>Điều kiện: Khi tổng T</b>
<b><sub>n</sub></b>
<b>nhỏ nhất lớn hơn </b>
<b>1000 thì kết thúc hoạt </b>
<b>động lặp</b>
<b>tăng dần</b>
<b>1. Các hoạt động lặp với số lần chưa biết</b>
</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>
6
1. Các hoạt động lặp với số lần chưa
biết
<i><b>THUẬT TỐN:</b></i>
<b>Kí hiệu S là tổng cần tìm, ta có thuật tốn sau:</b>
<i><b>Bước 1: S 0; n 1;</b></i>
<i><b>Bước 2: Nếu S<= 1000</b></i>
<b>, </b>
<i><b> S S+n</b></i>
<b>; </b>
<i><b> ngược lại</b></i>
<b>, chuyển tới bước 4;</b>
Bước 3
<i><b>: n n+1 </b></i>
<b>và quay lại bước 2;</b>
<b>Bước 4: In kết quả </b>
<b>S</b>
<b> và </b>
<b>n</b>
<b> là số tự nhiên nhỏ </b>
<b>nhất sao cho S > 1000. </b>
<i><b>Kết thúc thuật toán</b></i>
<b>;</b>
</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>
<b>1. Các hoạt động lặp với số lần chưa biết trước:</b>
<b>n</b> <b>Tổng T<sub>n</sub></b> <b>Điều kiện T<sub>n</sub> ≤ 1000</b>
1 T<sub>1</sub> = 1 Đúng
2 T<sub>2 </sub>= 1 + 2 Đúng
Đúng
<b>…</b> <b>… </b> <b>…</b>
?
T<sub>n</sub> = 1 + 2 + 3 + … +?
(Sao cho T<sub>n</sub> nhỏ nhất
lớn hơn 1000)
Sai, kết thúc việc tính
tổng
3 T<sub>3 </sub>= 1 + 2 + 3
</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>
8
S<=1000
S ← S + n;
n ← n +1;
<b>Đúng</b>
<b>Sai</b>
•
<b><sub>Việc thực hiện lặp lại các phép cộng trên với số </sub></b>
</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>
While
a<=b
do
a:=a+1;
While
a>b
do
Begin
a:=a-1;
b:=b+2;
End;
Trong đó : <sub> </sub><b>While</b>, <b>do:</b> là các từ khóa.
<sub> </sub><b>Điều kiện: </b>là a>b (chứa phép so sánh).
<sub> </sub><b>Câu lệnh:</b> câu lệnh đơn hoặc câu lệnh ghép.
<i><b>Bài 8:</b></i>
<b><sub>LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC</sub></b>
<b>2. Ví dụ về lệnh lặp với số lần chưa biết trước</b>
<b>VD1</b>
:
Trong khi a bé hơn
hoặc bằng b thì a tăng
lên 1 đơn vị
</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>
<b>Begin</b>
<b>begin</b>
<b>end;</b>
<b>End.</b>
<b>Hãy nêu Cú Pháp câu lệnh lặp </b>
<b>với số lần chưa biết trước?</b>
<i><b>Bài 8:</b></i>
<b><sub>LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC</sub></b>
</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>
2. Ví dụ về lệnh lặp với số lần chưa biết
trước
11
<b>Chú ý</b>
:
Trong trường hợp
câu lệnh
ghép:
While
<
điều kiện
>
do
Begin
câu lệnh 1;
câu lệnh 2;
…
End;
<b>WHILE <</b>điều kiện<b>> DO <</b>câu lệnh>;
<b>Cú pháp:</b>
</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>
<b>VD: Dùng câu lệnh lặp While … Do</b> để viết chương trình thể
hiện thuật tốn trong Ví dụ 2 (Sgk)
<b>var S,n: integer;</b>
<b>Begin</b>
<b>S:=0; n:=0;</b>
<b>while</b> <b>S<=1000</b> <b>do</b>
<b>begin</b>
<b>n:=n+1; S:=S+n ;</b>
<b>end;</b>
<b>write(‘Ket qua la: ’, S);</b>
<b>Readln;</b>
<b>End.</b>
Tong S= 1035 va 45 la so tu nhien nho nha sao cho S>1000
<i><b>Bài 8:</b></i>
<b><sub>LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC</sub></b>
</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>
<i><b>Lưu ý:</b></i>
-
<i><b><sub>Mỗi một câu hỏi sẽ có 30 giây để suy nghĩ.</sub></b></i>
-
<i><b><sub>Sau 30 giây giáo viên sẽ gọi 1 học sinh bất kì để </sub></b></i>
<i><b> trả lời. Nếu trả lời đúng sẽ được 1 điểm cộng.</b></i>
<i><b>- Học sinh khác có thể bổ sung ý kiến nếu học sinh </b></i>
<i><b> trước đó trả lời sai</b></i>
<b>.</b>
<b>Bài tập</b>
</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>
<b>A</b>
<b>A</b>
Tính tổng các số tự nhiên từ 1 đến 20.
<b>B</b>
<b>B</b>
Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số.
<b>D</b>
<b>D</b>
Nhập vào 1 số cho đến khi số nhập vào là số chẵn thì dừng.
<b>C</b>
<b>C</b>
Mỗi ngày học bài 2 lần.
30
29
28
26
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
27
98
76543210
</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>
<b>a) X:= 10;</b>
<b> While X:= 10 do </b>
<b> X:= X + 5;</b>
<b>b) X:= 10; </b>
<b> While X = 10 do </b>
<b> X = X + 5;</b>
<b>c) S:= 0; n:=0; </b>
<b> While S <= 10 do </b>
<b> n:= n + 1; </b>
<b> S:= S + n ;</b>
<b>Thừa dấu :</b>
<b>Thiếu dấu : </b>
<b>Thiếu Begin</b> <b>Thiếu End;</b>
</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>
<b>In ra các số từ 1 đến 9</b>
<b>In ra các số từ 1 đến 9</b>
<b>In ra các số từ 1 đến 10</b>
<b>In ra các số từ 1 đến 10</b>
<b>In ra các số 1</b>
<b>In ra các số 1</b>
<b>Không phương án nào đúng</b>
<b>Không phương án nào đúng</b>
<b>A</b>
<b>A</b>
<b>B</b>
<b>B</b>
<b>C</b>
<b>C</b>
<b>D</b>
<b>D</b>
<b>Câu 3: Câu lệnh sau đây cho kết quả là gì?</b>
<b> S:=1; </b>
<b> While s < 10 do </b>
<b> Begin </b>
<b> writeln(s);</b>
<b> s:=s+1; </b>
<b> end;</b>
</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>
<b>B. 10 vòng lặp, S=5</b>
<b><sub>B.</sub></b>
<b><sub>4 vịng lặp, S=4</sub></b>
<b>D.</b>
<b> 5</b>
<b> vòng lặp, S=2</b>
<b>A.</b>
<b>2 vòng lặp, S=8</b>
<b>C. </b>
<b>3 vịng lặp, S=6</b>
SAI RỒI!
SAI RỒI!
Sai rồi
<b>Câu 4: Thuật tốn sau khi thực hiện vịng lặp? Khi kết </b>
<b> </b>
<b> thúc giải thuật của S bằng bao nhiêu?</b>
<b> - Bước 1: S 10, x 2.</b>
<b> - Bước 2: Nếu S 5 chuyển tới bước 4.</b>
<b> - Bước 3: S S – x và quay lại bước 2.</b>
<b> - Bước 4: Thông báo S và kết thúc thuật toán.</b>
</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>
- Các hoạt động lặp với số lần chưa biết trước
<i><b>phụ thuộc vào một điều kiện cụ thể</b></i>
và chỉ
dừng lại khi
<i><b>điều kiện đó sai</b></i>
.
<i>Ghi nhớ</i>
<b>- Trong Pascal câu lệnh lặp với số lần chưa </b>
<b>biết trước có dạng:</b>
<b>While <điều kiện> do <câu lệnh>;</b>
</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>
<i><b>Baøi 8:</b></i>
<b><sub>LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC</sub></b>
<b> - Xem trước VD3, VD4, VD5, Lặp vơ hạn </b>
<b>lần–Lỗi lập trình cần tránh. </b>
<i>Dặn dị</i>
<b> - Tìm thêm một vài ví dụ về hoạt động lặp với </b>
<b>số lần chưa biết trước.</b>
</div>
<!--links-->