Nội dung bài giảng của Bài 21: Câu lệnh lặp While do ban biên tập HOC247 biên soạn sẽ giúp các em tìm hiểu các kiến thức về câu lệnh lặp while và các cấu trúc lập trình cơ bản trong ngôn ngữ lập trình bậc cao. Mời các em cùng tham khảo!
Tóm tắt lý thuyết
1.1. Lệnh While
- Khái niệm: Lệnh lặp while thực hiện khối lệnh với số lần lặp không biết trước. Khối lệnh lặp được thực hiện cho đến khi <điều kiện> = False.
- Quan sát hình dưới đây để thấy được quy trình thực hiện của câu lệnh while
+ Điều kiện là k < 100 sẽ thực hiện vòng lặp. Nếu k ≥ 100 thì vòng lặp dừng và tính tổng các k ở vòng lặp trước
+ Khi k < 100 thỏa mãn điều kiện sẽ bắt đầu thực hiện vòng lặp. Qua mỗi lần lặp giá trị k = k +1
+ Ví dụ: k ban đầu bằng 1 < 100 nên sẽ thực hiện vòng lặp thứ nhất. Lúc này k = k + 7 = 1 + 7 = 8
⇒ Tổng của biểu thức trên là: 1 + 8 + 15 +....+ 99
- Cú pháp:
+ Trong đó < điều kiện > là biểu thức lôgic.
+ Khi thực hiện lệnh, Python sẽ kiểm tra < điều kiện >, nếu đúng thì thực hiện < khối lệnh >, nếu sai thì kết thúc lệnh while.
- Sơ đồ khối:
Hình 21.1
- Ví dụ:
+ Ví dụ 1. Quan sát đoạn chương trình sau và cho biết s là giá trị của biểu thức toán học nào?
Giải thích: Đoạn chương trình tính tổng 12 + 22+... + k2 với điều kiện k2 < 100. Vậy S chính là tổng bình phương các số tự nhiên nhỏ hơn 10.
+ Ví dụ 2: Thực hiện các lệnh sau. Kết quả sẽ in ra những số nào?
Giải thích: Vòng lặp while sẽ dừng khi k vượt quá 50. Bắt đầu vòng lặp, k = 2. Sau mỗi bước lặp k tăng lên 3 đơn vị. Do vậy, kết quả sẽ phải in ra dãy sau:
while là lệnh lặp với số lần không biết trước. Số lần lặp của lệnh while phụ thuộc vào điều kiện của lệnh. |
---|
1.2. Cấu trúc chương trình
Với việc sử dụng câu lệnh điều kiện if và các câu lệnh lặp for, while ta có thể thấy một chương trình trên Python nói chung có thể được chia thành các ba khối lệnh cũng chính là ba cấu trúc lập trình cơ bản của các ngôn ngữ bậc cao gồm:
- Cấu trúc tuần tự:
+ Khối gồm các lệnh được thực hiện theo trình tự từ trên xuống dưới.
+ Khối này tương ứng với cấu trúc tuần tự trong chương trình và được thể hiện bằng các câu lệnh như: gán giá trị, nhập/xuất dữ liệu, ...
Cấu trúc tuần tự
- Cấu trúc rẽ nhánh:
+ Khối các câu lệnh chỉ được thực hiện tuy thuộc vào đỉều kiện nào đó là đúng hay sai.
+ Khối lệnh này tương ứng với cấu trúc rẽ nhánh và được thể hiện bằng câu lệnh điều kiện if.
Cấu trúc rẽ nhánh
- Cấu trúc lặp:
+ Khối các câu lệnh được thực hiện lặp đi lặp lại tuỳ theo điều kiện nào đỏ vẫn còn đúng hay sai.
+ Khối lệnh này tương ứng với cấu trúc lặp và được thể hiện bằng các câu lệnh lặp for, while.
Cấu trúc lặp
Ba cấu trúc lập trình cơ bản của các ngôn ngữ lập trình bậc cao gồm: cấu trúc tuần tự, cấu trúc rẽ nhánh, cấu trúc lặp. |
---|
Bài tập minh họa
Bài tập 1: Cho các việc được ghi trong cột A và cột B của bảng sau:
A |
B |
Vận động viên chạy 20 vòng xung quanh sân vận động |
Vận động viên chạy nhiều vòng xung quanh sân vận động trong thời gian 2 tiếng |
Em làm 5 bài tập thầy cô giao |
Em làm bài tập về nhà đến giờ ăn cơm thì dừng lại |
Em đi lấy 15 xô nước giúp mẹ |
Em xách các xô nước giúp mẹ cho đến khi đầy thùng nước |
Đối với mỗi hàng, em hãy cho biết công việc lặp đi lặp lại là gì? Điều kiện để dừng công việc là gì? Số lần thực hiện việc lặp giữa hai cột có gì khác nhau?
Hướng dẫn giải:
A |
B |
- Chạy - Đủ 20 vòng |
- Chạy - Đủ thời gian 2 tiếng |
- Làm bài tập - Đủ 5 bài |
- Làm bài tập - Đến giờ ăn cơm thì dừng |
- Lấy xô nước - Đủ 15 xô |
- Lấy xô nước - Đầy thùng nước |
- Số lần thực hiện việc lặp giữa cột A biết trước trong khi cột B thì không.
Bài tập 2: Đoạn chương trình sau thực hiện công việc gì? Khi nào vòng lặp kết thúc?
x = 1
while x > 0:
x = int(input("Thu nhập của hộ tiếp theo: "))
Hướng dẫn giải:
Đoạn chương trình đã cho thực hiện việc nhập dữ liệu thu nhập của hộ gia đình từ bàn phím. Khi giá trị được nhập vào nhỏ hơn hoặc bằng 0 thì quá trình nhập dữ liệu kết thúc.
Luyện tập
Qua bài học các em cần nắm được các về:
- Biết và thực hành giải các bài toán sử dụng lệnh lặp while với số lần không biết trước.
- Biết ba cấu trúc lập trình cơ bản: tuần tự, rẽ nhánh, lặp.
3.1. Trắc nghiệm Bài 21 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 21 cực hay có đáp án và lời giải chi tiết.
-
- A. 9
- B. 15
- C. 5
- D. 10
-
- A. While S>=109:
- B. While S =109:
- C. While S <109:
- D. While S !=109:
-
- A. Khi một điều kiện cho trước được thỏa mãn
- B. Khi đủ số vòng lặp
- C. Khi tìm được Output
- D. Tất cả các phương án
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 21 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 21 để 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 108 SGK Tin học 10 Kết nối tri thức - KNTT
Hoạt động 1 trang 108 SGK Tin học 10 Kết nối tri thức - KNTT
Câu hỏi mục 1 trang 109 SGK Tin học 10 Kết nối tri thức - KNTT
Hoạt động 2 trang 109 SGK Tin học 10 Kết nối tri thức - KNTT
Luyện tập trang 110 SGK Tin học 10 Kết nối tri thức - KNTT
Vận dụng trang 110 SGK Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 21.1 trang 43 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 21.2 trang 44 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 21.3 trang 44 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 21.4 trang 44 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 21.5 trang 44 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 21.6 trang 45 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 21.7 trang 45 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 21.8 trang 45 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 21.9 trang 45 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 21.10 trang 45 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 21.11 trang 45 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 21.12 trang 45 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 21.13 trang 45 SBT Tin học 10 Kết nối tri thức - KNTT
Giải bài tập 21.14 trang 45 SBT Tin học 10 Kết nối tri thức - KNTT
Hỏi đáp Bài 21 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