KIỂM TRA BÀI CŨ
KHỞI ĐỘNG
BÀI 21. CÂU LỆNH LẶP WHILE
1. LỆNH LẶP WHILE
Lệnh while dùng để thực hiện lặp đi lặp lại một khối lệnh chừng nào điều kiện còn Đúng (True). Khi điều kiện Sai (False), vòng lặp sẽ dừng lại.
Cú pháp:
while <điều kiện>:
<khối lệnh>
Hoạt động:
1. Máy tính kiểm tra <điều kiện>.
2. Nếu điều kiện Đúng: Thực hiện <khối lệnh> (được viết thụt đầu dòng). Sau đó quay lại bước 1.
3. Nếu điều kiện Sai: Dừng vòng lặp và chuyển sang lệnh tiếp theo.
Ví dụ trong đời sống:
"Trong khi trời còn mưa" (điều kiện), thì "tôi ngồi đọc sách" (hành động). Khi nào trời hết mưa (điều kiện Sai), tôi ngừng đọc sách và đi chơi.
Ví dụ trong đời sống:
"Trong khi trời còn mưa" (điều kiện), thì "tôi ngồi đọc sách" (hành động). Khi nào trời hết mưa (điều kiện Sai), tôi ngừng đọc sách và đi chơi.
Ví dụ trong Python:
In ra các số từ 1 đến 5.
CÂU HỎI TRẮC NGHIỆM
Câu 1: Lệnh lặp while sẽ thực hiện lặp đi lặp lại khối lệnh chừng nào điều kiện còn:
Câu 2: Cú pháp đúng của câu lệnh lặp while trong Python là:
Câu 3: Hoạt động của vòng lặp while sẽ dừng lại khi nào?
Câu 4: Cho đoạn chương trình sau:
k = 1
while k <= 3:
print(k)
k = k + 1
Kết quả in ra màn hình sẽ là:
2. CẤU TRÚC LẬP TRÌNH
a) Cấu trúc tuần tự
Nội dung:
Các lệnh được thực hiện lần lượt theo thứ tự từ trên xuống dưới. Lệnh nào viết trước chạy trước, lệnh nào viết sau chạy sau.
CÂU HỎI TRẮC NGHIỆM
Câu 5: Trong cấu trúc tuần tự, các lệnh được thực hiện theo thứ tự nào?
Câu 6: Đặc điểm cơ bản nhất của cấu trúc tuần tự là:
Câu 7: Trong ví dụ quy trình nấu mì gói, hành động "Đổ nước sôi vào" phải thực hiện sau hành động nào để đảm bảo logic?
Câu 8: Nếu thực hiện đoạn chương trình tuần tự: a = 5, b = 10, tong = a + b. Giá trị của biến tong là:
b) Cấu trúc rẽ nhánh
Nội dung:
Dựa vào một điều kiện cụ thể để quyết định sẽ thực hiện việc này hay việc kia (thường dùng lệnh if).
Ví dụ:
- Nếu hôm nay là Chủ nhật: Em được ngủ nướng.
- Ngược lại (không phải Chủ nhật): Em phải đi học.
CÂU HỎI TRẮC NGHIỆM
Câu 9: Cấu trúc rẽ nhánh thường được cài đặt bằng câu lệnh nào trong Python?
Câu 10: Cấu trúc rẽ nhánh được sử dụng để làm gì?
Câu 11: Trong câu "Nếu hôm nay là Chủ nhật thì em ngủ nướng", cụm từ "Hôm nay là Chủ nhật" đóng vai trò là:
Câu 12: Cho đoạn lệnh:
if 10 > 5:
print("Lớn hơn")
else:
print("Bé hơn")
Chương trình sẽ in ra nội dung gì?
c) Cấu trúc lặp
Nội dung:
Thực hiện lặp đi lặp lại một nhóm lệnh (dùng lệnh for hoặc while).
Lưu ý:
Khi dùng lệnh while, em phải cực kỳ chú ý đến việc thay đổi điều kiện bên trong vòng lặp (ví dụ như lệnh k = k + 1). Nếu quên lệnh này, điều kiện sẽ luôn luôn Đúng, vòng lặp sẽ chạy mãi mãi không bao giờ dừng (gọi là vòng lặp vô hạn), khiến máy tính bị treo đấy nhé!
CÂU HỎI TRẮC NGHIỆM
Câu 13: Cấu trúc lặp được sử dụng để thực hiện công việc nào sau đây?
Câu 14: Ngoài lệnh while, lệnh nào sau đây cũng thuộc cấu trúc lặp?
Câu 15: Trong vòng lặp while, nếu ta quên cập nhật biến điều kiện (ví dụ quên k = k + 1) thì điều gì sẽ xảy ra?
Câu 16: Để in dòng chữ "Xin chào" 100 lần lên màn hình, giải pháp tối ưu nhất là dùng cấu trúc:
3. THỰC HÀNH LỆNH LẶP WHILE
Nhiệm vụ 1. Viết chương trình đếm ngược từ 5 xuống 1, sau đó in ra thông báo "Bắt đầu!".
1. Xác định Dữ liệu đầu vào (Input) và Đầu ra (Output)
- Đầu vào (Input): Bài này không yêu cầu người dùng nhập gì cả. Dữ liệu đã có sẵn là số bắt đầu (5) và số kết thúc (1).
- Đầu ra (Output): Màn hình phải hiển thị lần lượt các số: 5, 4, 3, 2, 1. Cuối cùng hiển thị dòng chữ "Bắt đầu!".
2. Nhận diện tính chất của bài toán
- Có sự lặp lại không? Có. Hành động "in ra một con số" được thực hiện nhiều lần.
- Có quy luật không? Có. Số sau luôn nhỏ hơn số trước 1 đơn vị.
- Khi nào thì dừng lại? Dừng lại khi số đếm giảm qua mốc số 1 (tức là khi số đếm lùi về 0).
Nhiệm vụ 2. Viết chương trình yêu cầu người dùng nhập mật khẩu để mở khóa lại. Nếu nhập sai, chương trình sẽ liên tục yêu cầu nhập lại. Giả sử mật khẩu đúng là "python".
1. Xác định Dữ liệu đầu vào (Input) và Đầu ra (Output)
- Đầu vào (Input): Các chuỗi ký tự (mật khẩu) mà người dùng gõ vào từ bàn phím ở mỗi lần thử. Mật khẩu gốc được cài đặt sẵn (ví dụ: "python").
- Đầu ra (Output): Thông báo yêu cầu "Nhập mật khẩu của bạn:" lặp đi lặp lại. Khi nhập đúng, đầu ra cuối cùng là thông báo "Mở khóa thành công!".
2. Nhận diện tính chất của bài toán
- Có sự lặp lại không? Có. Hành động "yêu cầu nhập mật khẩu" bị lặp lại.
- Biết trước số lần lặp không? Hoàn toàn KHÔNG. Người dùng có thể nhập đúng ngay lần 1, hoặc nhập sai 100 lần.
- Khi nào thì dừng lại? Trạng thái lặp sẽ dừng lại khi mật khẩu người dùng gõ vào TRÙNG KHỚP với mật khẩu gốc (python).