Tải bản đầy đủ (.pptx) (19 trang)

Tin học 8 - Tiết 39, 40 - Bài 8. Lặp với lần chưa biết trước

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 (1.39 MB, 19 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 </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-->

×