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>- Hãy nêu cú pháp câu lệnh lặp </b><i><b>For…Do</b></i><b>. </b>
<i><b>Cú pháp:</b></i>
<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
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>
<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
<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>
<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
<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>
<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).
<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>
<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.
<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>
<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>
<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>
<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>
<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>
- 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>