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

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *