Giải Tin học 10 – Bài 20. Câu lệnh lặp for – KNTT
1. Lệnh for
Câu hỏi. 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.
S = 0
for k in range (1, n + 1):
S = S + k
Hướng dẫn giải: Giá trị S trong đoạn chương trình với tổng 1 + 2 + … + n bằng nhau.
2. Lệnh range
Câu hỏi. 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
c) 0, 1
d) 10.
Hướng dẫn giải:
a) range (1; 51)
b) range (5, 11)
c) range (2)
d) range (10, 11)
Luyện tập
Câu 1. Đoạn chương trình sau in ra kết quả gì?
n = int(input(“Nhập số tự nhiên n: “))
S = 0
for k in range (n + 1):
S = S + k
print (S* S)
Câu 2. Viết đoạn chương trình tính tích 1 x 2 x 3 x … x n với n được nhập từ bàn phím.
Hướng dẫn giải:
Câu 1: Đoạn chương trình sau in ra kết quả là bình phương của tổng dãy các số tự nhiên liên tiếp từ 0 đến n. Ví dụ n = 3 thì S = (1 + 2 + 3)2 có kết quả là 9.
Câu 2: Chương trình
n = int(input("Nhập số tự nhiên n:"))
S = 1
for i in range(1, n + 1):
S = S * i
print(S)
Vận dụng
Câu 1. Viết chương trình nhập từ bàn phím số tự nhiên n và in ra kết quả: $S = 1 + \frac{1}{2} + … + \frac{1}{n}$
Câu 2. 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:
S = 13 + 23 +…+ n3
Hướng dẫn giải:
Câu 1: Chương trình
n = int(input("Nhập số tự nhiên n:"))
S = 0
for i in range(1,n + 1):
S = S + 1/i
print(S)
Câu 2: Chương trình
n = int(input("Nhập số tự nhiên n:"))
S = 0
for i in range(1,n + 1):
S = S + i**3
print(S)
Xem thêm Bài 21. Câu lệnh lặp while