Dễ hiểu giải tin học 10 kết nối bài 20: Câu lệnh lặp for

Giải dễ hiểu bài 20: Câu lệnh lặp for. Trình bày rất dễ hiểu, nên tiếp thu Tin học 10 Kết nối dễ dàng. Học sinh nắm được kiến thức và biết suy rộng ra các bài tương tự. Thêm 1 dạng giải mới để mở rộng tư duy. Danh mục các bài giải trình bày phía dưới


Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây

BÀI 20 CÂU LỆNH LẶP FOR

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?

Giải nhanh:

  • Đọc tên từng bạn → lặp lại 30 lần
  • Kiểm tra lần lượt các số và ghi ra các số chia hết cho 3 → lặp lại 50 lần.

1. LỆNH 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ả.

Giải nhanh:

Tổng bằng 45. Lệnh range (10) trả lại một vùng giá trị. Lệnh for sẽ thực hiện 10 lần lặp. Sau lệnh lặp for trên, biến S sẽ có giá trị là tổng 0 + 1 + ... + 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

Giải nhanh:

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.

Giải nhanh:

a) range (1; 51) b) range (5, 11)

c) range (2) d) range (100, 1)

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)

Giải nhanh:

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.

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.

Giải nhanh:

n = int(input("Nhập số tự nhiên n:"))

S = 1

for k in range (1; n + 1):

    S = S* k

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 + 12 +..+ 1n

Giải nhanh:

n = int(input("Nhập số tự nhiên n:"))

S = 0

for k in range (1, n + 1):

      S = S + 1/k

print (S)

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

Giải nhanh:

n = int(input("Nhập số tự nhiên n:"))

S = 0

for k in range (1, n + 1):

    S = S + k**3

print (S)


Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây

Nội dung quan tâm khác

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

Bình luận

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