Tải bản đầy đủ (.ppt) (20 trang)

bai 8 Lap voi so lan chua biet truoc

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.01 MB, 20 trang )

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

<b>KIỂM TRA BÀI CŨ</b>


<b>KIỂM TRA BÀI CŨ</b>



<b>- Hãy nêu cú pháp câu lệnh lặp </b><i><b>For…Do</b></i><b>. </b>

<b>Câu hỏi</b>



<i><b>Cú pháp:</b></i>


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

<b>VD1:</b> Viết chương trình
tính tổng các số tự
nhiên từ 1 đến 100


S = 1 + 2 + 3 + . . .+100


<i><b>Laëp 100 lần</b></i>


<b>VD2:</b> Viết chương trình
nhập vào các số cho đến
khi gặp 0 thì dừng lại.
Tính tổng các số vừa
nhập.


<i><b>Ch a bi t l p m y l n</b><b>ư</b></i> <i><b>ế ặ</b></i> <i><b>ấ ầ</b></i>


Lặp với số lần biết trước,
sử dụng câu lệnh lặp For…
Do để viết chương trình


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

 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>Các em hãy cho thêm những </b>
<b>ví dụ về hoạt động lặp với số </b>


<b>lần chưa biết trước?</b>


<b>1. Các hoạt động lặp với số lần chưa biết trước:</b>


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

<b>VD1VD1</b>(Sgk):


<b>Long sẽ lặp lại hoạt </b>
<b>động gọi điện mấy lần?</b>


<b>1. Các hoạt động lặp với số lần chưa biết trước:</b>


<b>Chưa thể biết trước được. Điều </b>
<b>kiện để kết thúc hoạt động lặp </b>


<b>đó là có người nhấc máy.</b>


Một ngày khác, <i><b>Long </b></i>quyết định cứ 10


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

<b>VD2</b>


<b>VD2</b>(Sgk):<b>:</b>


<b>1. Các hoạt động lặp với số lần chưa biết trước:</b>


<b>Điều kiện như thế nào </b>
<b>thì kết thúc hoạt động </b>



<b>lặp?</b>


<b>Điều kiện: Khi tổng T<sub>n</sub> nhỏ </b>
<b>nhất lớn hơn 1000 thì kết </b>


<b>thúc hoạt động lặp</b>


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

<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'>(10)</span><div class='page_container' data-page=10>

<b>S </b><b> 0, n </b><b> 0.</b>


<b>Nếu S≤1000, n </b><b> n+1; Ngược lại, chuyển tới bước 4.</b>


<b>S </b><b> S + n và quay lại bước 2.</b>


<b>In kết quả: S và n là số tự nhiên nhỏ nhất sao cho </b>
<b>S>1000. Kết thúc thuật toán.</b>


<b>1. Các hoạt động lặp với số lần chưa biết trước:</b>


Kí hiệu <b>S</b> là tổng cần tìm và ta có thuật tốn như sau:


Các hoạt động lặp với số lần
chưa biết trước <i><b>phụ thuộc </b></i>
<i><b>vào cái gì</b></i> và chỉ <i><b>dừng lại khi </b></i>
<i><b>nào</b></i>?


* Có thể diễn tả bài toán
trên bằng sơ đồ như sau:


<b>S</b><b>1000?</b> Sai


<b>n </b><b> n+1;</b>


<b>S </b><b> S+n;</b>


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

<b>2. Ví d v l nh l p với số lần chưa biết trước:ụ ề ệ</b> <b>ặ</b>
<b>VD1:</b> While a<=b do a:=a+1;



<b>VD2:</b> While a>b do


Begin write(‘a>b’); a:=a-1; End;


<sub>Trong đó : </sub><sub> </sub><sub></sub><sub> While, do </sub><sub>là các từ khóa.</sub>


 Điều kiện là a<=b (chứa phép so sánh).
 Câu lệnh là a:=a+1 (câu lệnh đơn).


<sub>Trong đó : </sub><sub> </sub><sub></sub><sub> While, do </sub><sub>là các từ khóa.</sub>


 Điều kiện là a>b (chứa phép so sánh).


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

<b>VD:</b> Dùng câu lệnh lặp <i><b>While … Do</b></i> để viết chương trình thể
hiện thuật tốn trong Ví dụ 2 (Sgk)


<b>2. Ví d v l nh l p với số lần chưa biết trước:ụ ề ệ</b> <b>ặ</b>


<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(‘Tong S= ’,S,‘ va ’,n,’ la so tu nhien nho nhat </b>
<b>sao cho S>1000’);</b>


<b>Readln;</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>


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

<b>Học sinh thảo luận theo nhóm (2 bàn 1 nhóm)</b>


<b>Học sinh thảo luận theo nhóm (2 bàn 1 nhóm)</b>


- Có 4 câu hỏi. Mỗi nhóm chỉ được phép chọn 1 câu hỏi,


nhóm chọn câu hỏi, cử đại diện đứng lên đọc đề. Sau đó
tất cả các nhóm cùng thảo luận.


- Cách thức trả lời:


+ Nếu câu hỏi trắc nghiệm: tất cả các nhóm cùng giơ đáp
án lên.


+ Nếu câu hỏi tự luận: nhóm chọn câu hỏi cử đại diện
đứng lên trả lời. Các nhóm khác nhận xét.


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

<b>A</b>



<b>A</b>
<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>
<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>
<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>CC</b>


<b>C</b> Mỗi ngày học bài 2 lần.


30
29282610111213141516171819202122232425279876543210


<b>Câu 1: Trong các hoạt động dưới </b>


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

<b>a) X:= 10; while X:= 10 do X:= X + 5;</b>



<b>b) X:= 10; while X = 10 do X = X + 5;</b>


<b>c) S:= 0; n:=0; while S <= 10 do n:= n + 1; S:= S + n ;</b>
<b>Thừa </b>


<b>dấu :</b>


<b>Thiếu </b>
<b>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>A</b>
<b>A</b>
<b>B</b>
<b>BB</b>
<b>B</b>
<b>C</b>
<b>CC</b>
<b>C</b>
<b>D</b>
<b>DD</b>
<b>D</b>


<b>Câu 3: Đoạn lệnh sau đây cho kết quả là gì?</b>
<b> S:=1; While s < 10 do </b>


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

<b>B. 10 vòng lặp, S=5B. 10 vòng lặp, S=5</b> <b>D.</b> <b>12 vòng lặp, S=4</b>
<b>A.</b> <b>9 vòng lặp, S=5.5</b> <b>C. 11 vòng lặp, S=4.5</b>


SAI RỒI!


SAI RỒI!

SAI RỒI!



<b>Câu 4: Thuật tốn sau thực hiện bao nhiêu vòng lặp? </b>
<b>Khi kết thúc, giá trị của S bằng bao nhiêu?</b>


<b> </b>


<b> - Bước 1: S </b><b> 10, x </b><b> 0.5.</b>



<b> - Bước 2: Nếu S </b><b> 5.2 chuy n t i bể</b> <b>ớ ước 4.</b>


<b> - Bước 3: S </b><b> 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>.


<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>


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

<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>



<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>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20></div>

<!--links-->

×