Ở 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 DapAnHay 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.
- 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 (). |
---|
- 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 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)
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.
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.
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:
Cho đoạn chương trình sau:
s=0
for i in range(6):
s=s+i
Sau khi thực hiện đoạn chương trình trên giá trị của s là:
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à:
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é!
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
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 DapAnHay 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 DapAnHay
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:
Cho đoạn chương trình sau:
s=0
for i in range(6):
s=s+i
Sau khi thực hiện đoạn chương trình trên giá trị của s là:
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à:
Cho đoạn chương trình sau:
s=0
for i in range(1,7,2):
s=s+i
Sau khi thực hiện đoạn chương trình trên giá trị của s là:
Cho đoạn lệnh sau:
for i in range(1,5):
print(i)
Trên màn hình i có các giá trị là:
Cho đoạn lệnh sau:
for i in range(5):
print(i)
Trên màn hình i có các giá trị là:
Cấu trúc lặp với số lần biết trước có dạng như thế nào?
Lệnh range (3,10) trả lại vùng có giá trị gồm các số nào?
Lệnh range(100,1) cho vùng giá trị như thế nào?
Lệnh range (n) cho vùng gồm các số nào?
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 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?
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ả.
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.
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
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
1. Đoạn chương trình sau in ra kết quả gì?
2. Viết đoạn chương trình tính tích 1 × 2 × 3 × … × n với n được nhập từ bàn phím.
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}\)
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}\)
Họ và tên
Tiêu đề câu hỏi
Nội dung câu hỏi
0 Bình luận
Để lại bình luận
Địa chỉ email của hạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *