Bài 21. Câu lệnh lặp while trang 43, 44 SBT Tin học 10 Kết nối tri thức với cuộc sống
Hãy cho biết đoạn chương trình sau sẽ in những gì ra màn hình? Khi nào thì quá trình in kết thúc?
21.1
Hãy cho biết đoạn chương trình sau sẽ in những gì ra màn hình? Khi nào thì quá trình in kết thúc?
Phương pháp giải:
Quan sát đoạn chương trình
Số lần lặp của lệnh While phụ thuộc vào điều kiện của lệnh
Lời giải chi tiết:
a) Lần lượt in ra trên cùng một dòng các giá trị bằng (gần đúng) của 1/3, 1/4, 1/5, 1/6. Chương trình dừng khi giá trị i= 5
b) Chương trình không in gì mà kết thúc luôn, do điều kiện thực hiện vòng lặp (i < 5) không được thoả mãn
21.2
Đoạn chương trình sau thực hiện công việc gì? Khi nào vòng lặp kết thúc?
Phương pháp giải:
Quan sát đoạn chương trình
Số lần lặp của lệnh While phụ thuộc vào điều kiện của lệnh
Lời giải chi tiết:
Đoạn chương trình đã cho thực hiện việc nhập dữ liệu thu nhập của hộ gia định từ bàn phím. Khi giá trị được nhập vào nhỏ hơn hoặc bằng 0 thì quá trình nhập dữ liệu kết thúc.
21.3
Em hãy cho biết kết quả thực hiện hai đoạn chương trình sau:
Phương pháp giải:
Quan sat hai đoạn chương trình
Lời giải chi tiết:
Cả hai đoạn chương trình đều tính và in ra tổng các số tự nhiên từ 1 đến 10
21.4
Em hãy sử dụng câu lệnh lặp While để thay thế câu lệnh lặp for trong đoạn chương trình sau:
Phương pháp giải:
Quan sat hai đoạn chương trình
Lời giải chi tiết:
Đoạn chương trình thực hiện việc tính tổng bình phương các số tự nhiên từ 5 đến 10.
Em có thể dùng câu lệnh while để thay thế câu lệnh for như sau:
s=0
i=5
while i <11:
s = s + i*i
i = i + 1
print(s)
21.5
Em hãy quan sát kĩ cách thay thế câu lệnh for bằng câu lệnh while trong các câu 21.3 và 21.4 để thay thế câu lệnh for dạng tổng quát dưới đây bằng nhóm câu lệnh có sử dụng câu lệnh while tương ứng:
for<biến> in range(gia_tri1, gia_tri2):
<khối lệnh>
Phương pháp giải:
Vận dụng kiến thức đã học về câu lệnh for và câu lệnh while
Lời giải chi tiết:
Em có thể thay câu lệnh for đã cho bằng nhóm các câu lệnh có sử dụng while tương ứng như sau.
<biến> gia_tri1
while <biến> <gia_tri2:
<khối lệnh>
<biến> = <biến> + 1
21.6
Em hãy cho biết đoạn chương trình sau thực hiện công việc gì?
s=0
i=0
while s <2:
i = i + 1
s= s + 1/i
print("Giá trị i cần tìm = ", i)
Phương pháp giải:
Việc thực hiện <khối lệnh> được lặp đi lặp lại tới khi <điều kiện> không còn được thỏa mãn.
Lời giải chi tiết:
Đoạn chương trình thực hiện việc in ra số tự nhiên ở nhỏ nhất sao cho tổng:
S=1+ 1/2+ 1/3 +…+ 1/i ≥2
21.7
Viết chương trình đếm xem trong dãy 100 số tự nhiên đầu tiên có bao nhiêu số thoả mãn điều kiện hoặc chia hết cho 5 hoặc chia cho 3 dư 1.
Phương pháp giải:
Có thể sử dụng câu lệnh while đã học
Lời giải chi tiết:
- Chương trình có thể viết như sau:
21.8
Sử dụng câu lệnh while để giải bài toán "Gà và Chó" (Câu 20.9).
Phương pháp giải:
- Cấu trúc của câu lệnh while có dạng:
while <điều kiện>:
<khối lệnh>
Lời giải chi tiết:
21.9
Em hãy viết chương trình tính tổng của các chữ số của một số tự nhiên n được nhập từ bàn phím.
Phương pháp giải:
- Cấu trúc của câu lệnh while có dạng:
while <điều kiện>:
<khối lệnh>
Lời giải chi tiết:
21.10
Em hãy viết chương trình in các số tự nhiên từ 1 tới 100 thành 1 bảng có 10 hàng, mỗi hàng có 10 số theo trình tự từ trái qua phải, từ trên xuống dưới.
Phương pháp giải:
- Cấu trúc của câu lệnh while có dạng:
while <điều kiện>:
<khối lệnh>
Lời giải chi tiết:
Chương trình có thể như sau
21.11
Để có số liệu đánh giá về các hộ nghèo của một địa phương, người ta đã tiến hành một khảo sát xã hội học. Em hãy viết chương trình để hỗ trợ cho nhóm tổ chức khảo sát. Xác định mức thu nhập bình quân của tất cả các hộ gia đình được khảo sát (số hộ được khảo sát là một số lớn hơn 0); Xác định số các hộ gia đình có thu nhập dưới 20 triệu cùng thu nhập bình quân của các hộ đó. Yêu cầu số liệu về thu nhập của các hộ gia đình được lần lượt nhập vào từ bàn phím cho tới khi nào nhập vào số 0.
Phương pháp giải:
Vận dụng kiến thức đã học để viết chương trình
Lời giải chi tiết:
Chương trình có thể viết như sau
21.12
Em hãy tìm trong chương trình giải Câu 21.11 một số khối lệnh tương ứng với các cấu trúc lập trình cơ bản mà em đã được học.
Phương pháp giải:
Các khối lệnh tương ứng với các cấu trúc lập trình cơ bản trong câu 21.11: cấu trúc tuần tự, cấu trúc rẽ nhánh, cấu trúc lặp.
Lời giải chi tiết:
- Cấu trúc tuần tự:
- Cấu trúc rẽ nhánh:
- Cấu trúc lặp:
21.13
Số Palindrom là số mà nếu viết các chữ số của số đó theo trình tự ngược lại ta thu được số có giá trị bằng chính số ban đầu. Ví dụ 121, 13455431 là các số Palindrom. Em hãy viết chương trình xác định một số tự nhiên được nhập vào từ bàn phím có phải là số Palindrom hay không.
Phương pháp giải:
Vận dụng kiến thức đã học để viết chương trình
Lời giải chi tiết:
Chương trình có thể viết như sau
21.14
Số hoàn hảo là số tự nhiên có giá trị bằng tổng các ước thực sự của nó (các ước nhỏ hơn chính nó). Ví dụ một vài số hoàn hảo:
6:1+2+3= 6
28: 1+2+4+7+14= 28
496: 1+2+4+8+ 16 +31 +62 + 124 +248 = 496
8128: 1+2+4+8+16+32 +64 +127+254 +508 +1016+2032+4064 = 8128
Em hãy viết chương trình xác định số hoàn hảo đầu tiên lớn hơn số tự nhiên n được nhập vào từ bàn phím.
Phương pháp giải:
Vận dụng kiến thức đã học để viết chương trình
Lời giải chi tiết: