
Anonymous
0
0
Giải Tin học 10 Bài 20 (Kết nối tri thức): Câu lệnh lặp for
- asked 4 months agoVotes
0Answers
0Views
Giải Tin học lớp 10 Bài 20: Câu lệnh lặp for
Khởi động
Khởi động trang 105 Tin học 10: Em có thể đã gặp những trường hợp cần thực hiện một số công việc lặp đi lặp lại nhiều lần. Ví dụ, để kể tên tất cả các bạn trong lớp có 30 học sinh, em cần lần lượt đọc tên từng bạn; để đếm số lượng các số chia hết cho 3 trong khoảng từ 1 đến 50, em có thể kiểm tra lần lượt các số từ 1 đến 50 và ghi ra các số chia hết cho 3 (chẳng hạn, 3, 6, 9, …) rồi đếm các số đó. Ngôn ngữ lập trình bậc cao có các câu lệnh cho phép viết một cách ngắn gọn các bước cần thực hiện lặp đi lặp lại để tạo thành một cấu trúc lập trình được gọi là cấu trúc lặp.
Trả lời:
Công việc lặp lại: kể tên các bạn trong lớp: 30 lần
+ Các số chia hết cho 3 trong khoảng từ 1→ 50 (3,6, 9…48) : 15 lần
1. Lệnh FOR
Hoạt động
Hoạt động 1 trang 105 Tin học 10: Làm quên với lệnh for
Trả lời:
Tổng trên là kết quả của phép cộng
S = 0 + 1 + 2 + 3 + … + 9 = 45
Câu hỏi
Câu hỏi trang 106 Tin học 10: Với giá trị n cho trước, so sánh giá trị S trong đoạn chương trình sau với tổng 1 + 2 + … + n.
Trả lời:
Câu lệnh trên có giá trị bằng với tổng S = 1 + 2 + … + n
Vì range (1, n+1): gồm các số từ 1 đến n.
2. Lệnh RANGE
Hoạt động
Hoạt động 2 trang 106 Tin học 10: Tìm hiểu vùng giá trị xác định bởi lệnh range ()
Trả lời:
Lệnh range (m, n+1): gồm các số từ 1 đến n. (m < n)
⇒ Kết quả in ra các số từ m đến n
Câu hỏi
Câu hỏi trang 107 Tin học 10: Hãy biểu diễn các dãy sau đây bằng lệnh range ( ).
a) 1, 2, 3, …, 50.b) 5, 6, 7, 8, 9, 10.
Trả lời:
a) range (1,51)
b) range (5,11)
c) range (0,2)
d) range (10,11)
Luyện tập
Luyện tập 1 trang 107 Tin học 10: Đoạn chương trình sau in ra kết quả gì?
n = int(input(“Nhập só tự nhiên n:”))
Trả lời:
Kết quả in ra là bình phương của S: S2 = (0 + 1 + 2 + … + n)2
Luyện tập 2 trang 107 Tin học 10: Viết đoạn chương trình tính tích 1 × 2 × 3 × … × n với n được nhập vào từ bàn phím.
Trả lời:
n = int(input(“nhập vào n:”))
S = 1
for i in range(1, n+1):
S = S*i
print (“tich là:”, S)
Vận dụng
Trả lời:
n = int (input(“nhập vào n:”))
S = 0
for i in range (1, n+1):
S = S + 1/i
print (“tổng S là:”, S)
Vận dụng 2 trang 107 Tin học 10: Viết chương trình nhập từ bàn phím số tự nhiên n và in ra kết quả là tổng sau:
Trả lời:
n = int (input(“nhập vào n:”))
S = 0
for i in range (1, n+1):
S = S + i*i*i
print (“tổng là:”, S)
Lý thuyết Tin học 10 Bài 20: Câu lệnh lặp for
1. Lệnh lặp for
- for là lệnh lặp với số lần biết trước. Số lần lặp thường được xác định bởi vùng giá trị của lệnh range( ).
- Lệnh range(n) trả lại vùng giá trị gồm n số từ 0 đến n – 1. Cú pháp của lệnh lặp với số lần biết trước for:
for in range(n):
<khối lệnh>
⇒ Khi thực hiện, ở mỗi vòng lặp biến i sẽ được gán lần lượt các giá trị trong vùng giá trị của lệnh range( ) và thực hiện <khối lệnh>.
Ví dụ 1: Tính tổng các số tự nhiên chẵn nhỏ hơn n, với n cho trước (n=10)
Ví dụ 2: Đếm số nguyên nhỏ hơn n (n = 20) và là bội của 3
2. Lệnh range
- Lệnh tạo vùng giá trị range() có các dạng sau:
+ range(stop) trả lại vùng giá trị từ 0 đến stop – 1.
+ range(start, stop) trả lại vùng giá trị từ start đến stop – 1.
Ví dụ: range(n) cho vùng gồm các số 0, 1, …, n – 1.
Thực hành: Lệnh lặp for và lệnh range()
Nhiệm vụ: Nhập số tự nhiên n từ bàn phím và in ra màn hình dãy các ước số của n theo chiều ngang màn hình. Ví dụ nếu n = 10 thì chương trình sẽ in ra dãy số 1, 2, 5, 10.
Hướng dẫn
Các ước số của n là các số tự nhiên k thỏa mãn: n%k=0. Muốn in các số trên một hàng ngang cần dùng thêm tham số end = “ ” trong lệnh print().
Chương trình:
Nhiệm vụ 2: Nhập số tự nhiên n từ bàn phím và đếm số các ước thực sự của n. Ước số thực sự của n là số tự nhiên k < n và là ước của n.
Hướng dẫn
Tạo một biến có tên count để đếm số các ước thực sự của n.
Chương trình: