Tin học lớp 10 Bài 8: Câu lệnh lặp
Phần 1. Lý thuyết Tin học 10 Bài 8: Câu lệnh lặp
1. Cấu trúc lặp trong mô tả thuật toán
– Khi có một thao tác cần được thực hiện lặp lại một số lần liên tiếp trong quá trình thực hiện thuật toán thì cần dùng cấu trúc lặp.
Có hai kiểu cấu trúc lặp:
– Thuật toán biết trước số lần lặp.
Ví dụ: Thuật toán của việc in ra màn hình máy tính 10 dòng “Xin chào Python”.
– Thuật toán không biết trước số lần lặp.
Ví dụ: Khi mô tả thuật toán cho máy tính hỏi và kiểm tra mật khẩu thì ta không tính trước được số lần máy tính yêu cầu nhập lại mật khẩu, vì chừng nào mật khẩu nhập vào chưa đúng thì máy tính còn hỏi lại.
2. Câu lệnh lặp với số lần lặp biết trước trong Python
Hình 8.1: Cấu trúc câu lệnh lặp dạng for
Trong câu lệnh for, hàm range(m,n) dùng để khởi tạo dãy số nguyên từ m đến n-1 (với m < n). Trường hợp m = 0, range(m, n) viết gọn là range(n).
Ví dụ: Minh họa một câu lệnh for trong Python và kết quả thực hiện.
Hình 8.2: Ví dụ câu lệnh for
3. Câu lệnh lặp với số lần lặp không biết trước trong Python
– Trong Python, câu lệnh lặp với số lần không biết trước có dạng là:
while <điều kiện>:
Câu lệnh hay nhóm câu lệnh
Ví dụ: Các phần mềm ứng dụng mang tính cá nhân thường dùng mật khẩu để xác nhận quyền sử dụng. Chương trình ở Hình 8.4 yêu cầu người dùng cập nhập mật khẩu. Người dùng sẽ được yêu cầu nhập lại cho đến khi nhập đúng mật khẩu (là HN123). Khi dữ liệu nhập vào đúng là “HN123” thì thông điệp “Bạn đã nhập đúng mật khẩu” xuất hiện trong màn hình.
Hình 8.4: Chương trình nhập mật khẩu
– Các ngôn ngữ lập trình cung cấp cả hai lệnh for và while tương ứng thể hiện lặp với số lần biết trước và không biết trước. Câu lệnh While cũng thể hiện cấu trúc lặp với số lần biết trước.
Phần 2. Bài tập trắc nghiệm Tin học 10 Bài 8: Câu lệnh lặp
Câu 1. 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à:
A. 1
B. 15
C. 6
D. 21
Hướng dẫn giải
Đáp án đúng là: B
Vì i chạy từ 0 ⇒ 5, s=1+2+3+4+5=15
Câu 2. Cho đoạn chương trình sau:
s=0
i=1
while i<=5:
s=s+1
i=i+1
Sau khi thực hiện đoạn chương trình trên giá trị của s là:
A. 9
B. 15
C. 5
D. 10
Hướng dẫn giải
Đáp án đúng là: C
Vì vòng lặp thực hiện 5 lần tính s: s=1+1+1+1+1=5
Câu 3. Phát biểu nào sau đây là sai?
A. Dùng câu lệnh while ta cũng thể hiện được cấu trúc lặp với số lần biết trước.
B. Dùng câu lệnh for ta cũng thể hiện được cấu trúc lặp với số lần không biết trước.
C. Trong Python có 2 dạng lặp: Lặp với số lần biết trước và lặp với số lần không biết trước.
D. Câu lệnh thể hiện lặp với số lần không biết trước phải sử dụng một biểu thức logic làm điều kiện lặp.
Hướng dẫn giải
Đáp án đúng là: B
Dùng câu lệnh while ta cũng thể hiện được cấu trúc lặp với số lần biết trước.
Nhưng dùng câu lệnh for ta không thể hiện được cấu trúc lặp với số lần không biết trước.
Câu 4. Cho bài toán tính tổng s=1+2+3+…+n. Để giải bài toán trên ta có thể dùng:
A. Cấu trúc rẽ nhánh.
B. Cấu trúc lặp.
C. Hàm ceil()
D. Hàm toán học sqrt()
Hướng dẫn giải
Đáp án đúng là: B
Vì bài toán có tính chất lặp đi lặp lại tính tổng từ 1 đến n.
Câu 5. Cho đoạn chương trình sau:
i=1
s=0
while <điều kiện>:
s=s+i
i=i+1
Đoạn chương trình trên tính tổng s=1+2+3+…+10, <điều kiện> là:
A. i<=10
B. i==10
C. i>=10
D. i>10
Hướng dẫn giải
Đáp án đúng là: A
Vì tổng s=1+2+3+…+10, với i=1 nên i<=10 thì thực hiện công việc s=s+i
Câu 6. Trong Python có mấy dạng lặp:
A. 1
B. 2
C. 3
D. 4
Hướng dẫn giải
Đáp án đúng là: B
Trong Python có 2 dạng lặp: Lặp với số lần biết trước và lặp với số lần không biết trước.
Câu 7. Cấu trúc lặp với số lần biết trước là:
A. for <Biến chạy> in range(m,n)
<Khối lệnh cần lặp>
B. while <Điều kiện>:
<Câu lệnh hay khối lệnh>
C. for <Biến chạy> in range(m,n):
D. for <Biến chạy> in range(m,n):
<Khối lệnh cần lặp>
Hướng dẫn giải
Đáp án đúng là: D
Cấu trúc lặp với số lần biết trước là:
for <Biến chạy> in range(m,n):
<Khối lệnh cần lặp>
Câu 8. Cấu trúc lặp với số lần không biết trước là:
A. for <Biến chạy> in range(m,n)
<Khối lệnh cần lặp>
B. while <Điều kiện>:
<Câu lệnh hay khối lệnh>
C. while <Điều kiện>:
D. for <Biến chạy> in range(m,n):
<Khối lệnh cần lặp>
Hướng dẫn giải
Đáp án đúng là: B
Cấu trúc lặp với số lần không biết trước là:
while <Điều kiện>:
<Câu lệnh hay khối lệnh>
Câu 9. 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à:
A. 0 1 2 3 4 5
B. 1 2 3 4 5
C. 0 1 2 3 4
D. 1 2 3 4
Hướng dẫn giải
Đáp án đúng là: C
Vì i sẽ nhận các giá trị 0,1,2,3,4 theo cấu trúc vòng for.
Câu 10. 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à:
A. 0 1 2 3 4 5
B. 1 2 3 4 5
C. 0 1 2 3 4
D. 1 2 3 4
Hướng dẫn giải
Đáp án đúng là: D
Vì i sẽ nhận các giá trị 1,2,3,4 theo cấu trúc vòng for.
Câu 11. <Điều kiện> trong câu lệnh lặp với số lần không biết trước là:
A. Hàm toán học.
B. Biểu thức logic.
C. Biểu thức quan hệ.
D. Biểu thức tính toán.
Hướng dẫn giải
Đáp án đúng là: B
<Điều kiện> là biểu thức logic cho giá trị True hoặc False, nếu <điều kiện> có giá trị True thì <câu lệnh hay nhóm lệnh> được thực hiện, <điều kiện> có giá trị False thì vòng lặp kết thúc.
Câu 12. Vòng lặp với số lần không biết trước kết thúc khi:
A. <Điều kiện> sai.
B. <Điều kiện> đúng.
C. <Điều kiện> lớn hơn 0.
D. <Điều kiện> bằng 0.
Hướng dẫn giải
Đáp án đúng là: A
<Điều kiện> là biểu thức logic cho giá trị True hoặc False, nếu <điều kiện> có giá trị True thì <câu lệnh hay nhóm lệnh> được thực hiện, <điều kiện> có giá trị False thì vòng lặp kết thúc.
Câu 13. Vòng lặp với số lần không biết trước câu lệnh hay nhóm câu lệnh được thực hiện khi:
A. <Điều kiện> sai.
B. <Điều kiện> đúng.
C. <Điều kiện> lớn hơn 0.
D. <Điều kiện> bằng 0.
Hướng dẫn giải
Đáp án đúng là: B
<Điều kiện> là biểu thức logic cho giá trị True hoặc False, nếu <điều kiện> có giá trị True thì <câu lệnh hay nhóm lệnh> được thực hiện, <điều kiện> có giá trị False thì vòng lặp kết thúc.
Câu 14. Cho đoạn chương trình sau:
for i in range(6):
print(i)
Trong đoạn chương trình trên vòng lặp được thực hiện bao nhiêu lần?
A. 3
B. 4
C. 5
D. 6
Hướng dẫn giải
Đáp án đúng là: D
Vì i nhận các giá trị từ 0 đến 5 nên vòng lặp thực hiện lệnh print(i) 6 lần.
Câu 15. Cho đoạn chương trình sau:
i=0
while i<=5:
s=s+i
i=i+1
Trong đoạn chương trình trên vòng lặp được thực hiện bao nhiêu lần?
A. 1
B. 2
C. 6
D. 5
Hướng dẫn giải
Đáp án đúng là: C
Vì i nhận các giá trị từ 0 đến 5 nên vòng lặp thực hiện nhóm câu lệnh 6 lần.
Xem thêm các bài tóm tắt Lý thuyết Tin học lớp 10 Cánh diều hay, chi tiết khác:
Lý thuyết Bài 7: Thực hành câu lệnh rẽ nhánh
Lý thuyết Bài 8: Câu lệnh lặp
Lý thuyết Bài 9: Thực hành câu lệnh lặp
Lý thuyết Bài 10: Chương trình con và thư viện các chương trình con có sẵn
Lý thuyết Bài 11: Thực hành lập trình với hàm và thư viện
Lý thuyết Bài 12: Kiểu dữ liệu xâu kí tự – xử lí xâu kí tự