Ở bài học trước các em đã được tìm hiểu về câu lệnh rẽ nhánh If trong Python để xử lí các tình huống, cũng giống như các ngôn ngữ lập trình bậc cao khác Python cũng có câu lệnh để xử lý các bài toán liên quan đến vòng lặp đó là câu lệnh For. Cùng HOC247 tìm hiểu nội dung bài giảng của Bài 20: Câu lệnh lặp For dưới đây để có các kiến thức về câu lệnh lặp For.
Tóm tắt lý thuyết
1.1. Lệnh For
- Phân tích đoạn chương trình dưới đây để xác định cấu trúc và quy trình thực hiện của lệnh for:
+ 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 giá trị trên.
+ Sau lệnh lặp for trên, biến S sẽ có giá trị là tổng 0 + 1 + ... + 9 = 45.
+ Lệnh range (n) trả lại vùng giá trị gồm n số từ 0 đến n - 1.
- Định nghĩa:
+ Lệnh for là câu lệnh lặp với số lần được xác định trước.
+ Số lần lặp thường được xác định bởi vùng giá trị của lệnh range ()
- Cú pháp chung của câu lệnh for:
- Sơ đồ khối:
Hình 20.1
- Quy trình thực hiện: 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ụ:
+ 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ố các số nguyên nhỏ hơn n (n = 20) và là bội của 3
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 i vùng giá trị của lệnh range (). |
---|
1.2. Lệnh Range
- Quan sát đoạn chương trình sau đây để biết vùng giá trị được xác định bởi lệnh range (). Lệnh print () là lệnh in ra màn hình
+ Quan sát hình ta thấy:
. Lệnh range (3,10) trả lại vùng có giá trị gồm các số 3, 4, 5, 6, 7, 8, 9
. Lệnh range (0,15) trả lại vùng có giá trị gồm các số 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
- 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.
+ range(1,n+1) cho vùng gồm các số 1, 2, ...., n.
+ range (0,99) cho vùng giá trị gồm các số 0, 1, 2, ...., 98.
+ range(100,1) cho vùng rỗng.
Lệnh tạo vùng giá trị có cú pháp range (start, stop) trả lại vùng giá trị gồm các số nguyên liên tiếp từ start đến stop - 1. |
---|
Bài tập minh họa
Bài tập 1: Để 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 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ó 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?
Hướng dẫn giải:
- Kể tên tất cả các bạn trong lớp có 30 học sinh: lặp 30 lần
- Đếm số lượng các số chia hết cho 3 trong khoảng từ 1 đến 50: lặp 50 lần
Bài tập 2: Viết chương trình nhập vào từ bàn phím số tự nhiên n và tính tổng:
S = 1 + 1/2 + 1/3 + .... + 1/n
Hướng dẫn giải:
Chương trình có thể viết như sau:
S = 0
n = int(input("Nhập số tự nhiên n: "))
for i in range(1, n + 1)
S = S +1/i
print ("Tổng nghịch đảo các số từ 1 tới ",n," là: ",S)
Luyện tập
Qua bài học các em cần nắm được các về:
- Biết được ý nghĩa của vùng giá trị tạo bời lệnh range( ).
- Biết được chức năng của lệnh lặp for và cách dùng trong Python.
3.1. Trắc nghiệm Bài 20 Tin học 10 KNTT
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 10 Kết nối tri thức Chủ đề 5 Bài 20 cực hay có đáp án và lời giải chi tiết.
-
Câu 1:
Cho đoạn chương trình sau:
S=0
for i in range(1,6):
S= S * i
Sau khi thực hiện xong, kết quả S bằng:
- A. 15
- B. 0
- C. Kết quả khác
- D. 120
-
- A. 1
- B. 15
- C. 6
- D. 21
-
Câu 3:
Cho đoạn lệnh sau:
for i in range(1,10,2):
print(i)
Trên màn hình i có các giá trị là:
- A. 1,3,5,7,9
- B. 1,2,3,4,5,6,7,8,9,10
- C. 1,3,5,7,9,10
- D. 1,3,5,7,10
Câu 4-10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
3.2. Bài tập SGK Bài 20 Tin học 10 KNTT
Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 10 Kết nối tri thức Chủ đề 5 Bài 20 để giúp các em nắm vững bài học và các phương pháp giải bài tập.
Khởi động trang 105 SGK Tin học 10 Kết nối tri thức - KNTT
Hoạt động 1 trang 105 SGK Tin học 10 Kết nối tri thức - KNTT
Câu hỏi mục 1 trang 106 SGK Tin học 10 Kết nối tri thức - KNTT
Hoạt động 2 trang 106 SGK Tin học 10 Kết nối tri thức - KNTT
Câu hỏi mục 2 trang 107 SGK Tin học 10 Kết nối tri thức - KNTT
Luyện tập trang 107 SGK Tin học 10 Kết nối tri thức - KNTT
Vận dụng trang 107 SGK Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 20.1 trang 42 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 20.2 trang 42 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 20.3 trang 42 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 20.4 trang 42 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 20.5 trang 42 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 20.6 trang 42 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 20.7 trang 42 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 20.8 trang 42 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 20.9 trang 43 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 20.10 trang 43 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 20.11 trang 43 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 20.12 trang 43 SBT Tin học 10 Kết nối tri thức - KNTT
Hỏi đáp Bài 20 Tin học 10 KNTT
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học HOC247 sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 10 HỌC247