Giải Tin học 7 kết nối bài 20: Câu lệnh lặp For

Giải bài 20: Câu lệnh lặp For - Sách tin học 10 kết nối tri thức. Phần đáp án chuẩn, hướng dẫn giải chi tiết cho từng bài tập có trong chương trình học của sách giáo khoa. Hi vọng, các em học sinh hiểu và nắm vững kiến thức bài học.

KHỞI ĐỘNG

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.

Em có thể xác định được trong mỗi ví dụ trên công việc nào cần phải lặp và được lặp lại bao nhiêu lần không?

Trả lời

  • Đếm số lượng các số chia hết cho 3 trong khoảng từ 1 đến 50: lặp 50 lầ
  • Kể tên tất cả các bạn trong lớp có 30 học sinh: lặp 30 lần

1. LỆNH LẶP FOR

Hoạt động 1: Làm quen với lệnh lặp for

Thực hiện đoạn chương trình sau trong chế độ gõ lệnh trực tiếp của Python để tính tổng 0 + 1 + ... + 9. Tổng này có giá trị bao nhiêu? Giải thích kết quả.

-------------------------------

>>>S=0

>>>for k in range (10):

S = S+k

>>>print (S)

45

-------------------------------

Trả lời

  • Trong đoạn chương trình trên, lệnh range(10) trả lại một vùng giá trị gồm 10 số 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. 
  • Lệnh for sẽ thực hiện 10 lần lặp, mỗi lần lặp ứng với một giá trị k trong vùng trên. 
  • Sau lệnh lặp for trên, biến S có giá trị bằng 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45.

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

Trả lờ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

Hoạt động 2: Tìm hiểu vùng giá trị xác định bởi lệnh range()

Quan sát các lệnh for sau và so sánh kết quả in ra để biết vùng giá trị được xác định bởi lệnh range(). Lưu ý, lệnh print() có thêm tham số để in bộ dữ liệu theo hàng ngang

Giải Tin học 7 kết nối bài 20: Câu lệnh lặp For

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

Trả lời

a) range (1; 51)

b) range (5, 11)

c) range (2)

d) range (100, 1)

B. Bài tập và hướng dẫn giải

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 1x 2x 3x...x n với n được nhập vào từ bàn phím

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= $1^{3}$ +$2^{3}$ +....+ $n^{3}$

Thêm kiến thức môn học

Từ khóa tìm kiếm: Giải tin học 10 kết nối tri thức, giải sách chân trời sáng tạo 10 môn tin học, giải tin học 10 sách mới bài 20, bài 20 Câu lệnh lặp For

Bình luận

Giải bài tập những môn khác