Tin học 10 – Bài 21. Câu lệnh lặp While

1. Lệnh While

Lệnh lặp while thực hiện một khối lệnh lặp lại nhiều lần cho đến khi một điều kiện trở thành False. Số lần lặp không xác định trước.

Cú pháp:

Python
while <điều kiện>:
    <khối lệnh>

Hoạt động:

  • Python kiểm tra <điều kiện>. Nếu đúng (True), thực hiện <khối lệnh>. Sau đó, quay lại kiểm tra <điều kiện> một lần nữa.
  • Quá trình này lặp lại cho đến khi <điều kiện> là sai (False).
Tin học 10 Bài 21 Lệnh While

Ví dụ: vòng lặp tiếp tục cho đến khi k lớn hơn hoặc bằng 100. S là tổng của dãy số 1, 8, 15, …, 99.

Python
S = 0
k = 1
while k < 100:
    S = S + k
    k = k + 7
print(S) # Output: 750

Lưu ý quan trọng:

  • Vì số lần lặp phụ thuộc vào điều kiện, cần đảm bảo điều kiện sẽ trở thành False vào một thời điểm nào đó, nếu không vòng lặp sẽ chạy vô hạn.
  • Lệnh break có thể được sử dụng để thoát khỏi vòng lặp while hoặc for ngay lập tức.
Python
for k in range(10):
    print(k, end=" ")
    if k == 5:
        break
# Output: 0 1 2 3 4 5

Câu hỏi luyện tập: Viết chương trình tính tổng 2 + 4 + … + 100 sử dụng lệnh while

Python
S = 0
k = 2
while k <= 100:
    S = S + k
    k = k + 2
print(S)

2. Cấu trúc lập trình

Ba cấu trúc lập trình cơ bản:

  • Tuần tự: Các lệnh được thực hiện theo thứ tự từ trên xuống dưới.
  • Rẽ nhánh: Một khối lệnh chỉ được thực hiện nếu một điều kiện nhất định là đúng (sử dụng if).
  • Lặp: Một khối lệnh được lặp đi lặp lại nhiều lần (sử dụng for hoặc while).

Luyện tập

Câu 1. Cho dãy số 1, 4, 7, 10,… Tìm phần tử lớn nhất của dãy nhưng nhỏ hơn 100

Python
k = 1
while k < 100:
    s = k
    k = k + 3
print(s)  # Output: 97

Câu 2. Viết chương trình đếm trong dãy 100 số tự nhiên có bao nhiêu số thỏa mãn điều kiện:

Hoặc chia hết cho 5 hoặc chia cho 3 dư 1

Python
C = 0
k = 1
while k <= 100:
    if k % 5 == 0 or k % 3 == 1:
        C = C + 1
    k = k + 1
print(C)

Vận dụng

Hãy viết chương trình in các số tự nhiên từ 1 đến 100 ra màn hình, chia thành 10 hàng, mỗi hàng 10 số, với định dạng như sau:

Python
1  2  3 ... 10  
11 12 13 ... 20  
...  
91 92 93 ... 100  
Python
for k in range(1, 101):
    print(k, end=" ")
    if k % 10 == 0:
        print()  # Xuống dòng

Câu hỏi trắc nghiệm dạng D1 và D2 Tin học 10 Bài 21. Câu lệnh lặp While

Thời gian làm bài: 30 phút
Đáp án chỉ hiển thị sau khi hoàn thành bài làm
Vui lòng nhập họ và tên để bắt đầu làm bài

NB

Cú pháp nào sau đây là đúng cho câu lệnh while trong Python?


NB

Điều gì xảy ra nếu điều kiện trong vòng lặp while luôn đúng?


TH

Cho đoạn code sau:
k = 1
S = 0
while k <= 5:
    S = S + k
    k = k + 1
print(S)
Giá trị của S sau khi đoạn code trên được thực thi là bao nhiêu?


TH

Trong một vòng lặp while, khi nào khối lệnh bên trong vòng lặp sẽ ngừng thực hiện?


NB

Lệnh nào sau đây được sử dụng để thoát khỏi một vòng lặp while ngay lập tức?


VD

Cho đoạn code sau:
k = 2
while k < 10:
    print(k, end=" ")
    k = k + 2
Đoạn code trên sẽ in ra dãy số nào?


TH

Cấu trúc lập trình nào sau đây không phải là cấu trúc cơ bản trong lập trình?


NB

Kiểu dữ liệu nào sau đây là kiểu danh sách trong Python?


NB

Cách nào sau đây là đúng để khởi tạo một danh sách rỗng trong Python?


TH

Cho list1 = [1, 2, 3, 4, 5]. Làm thế nào để truy cập phần tử thứ ba (giá trị 3) trong danh sách?


VD

Cho đoạn code sau:
list1 = [10, 20, 30]
for i in list1:
    print(i)
Đoạn code trên sẽ in ra gì?


TH

Phương thức nào sau đây được sử dụng để thêm một phần tử vào cuối danh sách trong Python?


NB

Hàm nào sau đây trả về số lượng phần tử trong một danh sách?


VD

Cho list1 = [1, 2, 3]. Sau khi thực hiện list1.append(4), list1 sẽ là gì?


TH

Cho đoạn code sau:
list1 = [1, 2, 3, 4, 5]
list1.remove(3)
print(list1)
Kết quả in ra sẽ là gì?


VD

numbers = [1, 2, 3, 4, 5]
total = 0
i = 0
while i < len(numbers):
    total += numbers[i]
    i += 1
print(total)
Đoạn code trên tính toán điều gì?


TH

Để duyệt qua các phần tử của một danh sách, cách nào sau đây thường được sử dụng nhất?


VD

letters = ["a", "b", "c"]
print("".join(letters))
Đoạn code trên sẽ in ra gì?


VD

numbers = [5, 2, 8, 1, 9]
numbers.sort()
print(numbers)
Đoạn code trên làm gì?

Một cửa hàng muốn quản lý danh sách các sản phẩm trong kho. Họ sử dụng danh sách trong Python để lưu trữ thông tin về mỗi sản phẩm (tên, số lượng, giá).

NB Việc sử dụng danh sách cho phép lưu trữ nhiều sản phẩm khác nhau.

TH Có thể dễ dàng tìm kiếm một sản phẩm cụ thể trong danh sách dựa trên tên của nó.

TH Số lượng sản phẩm trong kho có thể được cập nhật bằng cách thay đổi giá trị tương ứng trong danh sách.

VD Nếu cửa hàng muốn sắp xếp các sản phẩm theo giá, họ có thể sử dụng phương thức sort() của danh sách.

Một chương trình Python được viết để tính tổng các số chẵn từ 1 đến 10 sử dụng vòng lặp while.

NB Vòng lặp while sẽ tiếp tục thực hiện cho đến khi biến đếm vượt quá 10.

TH Để tính tổng các số lẻ thay vì số chẵn, cần thay đổi bước nhảy của biến đếm trong vòng lặp.

TH Nếu điều kiện trong while luôn đúng, chương trình sẽ bị treo do lặp vô hạn.

VD Có thể sử dụng vòng lặp for thay thế cho vòng lặp while trong trường hợp này mà không ảnh hưởng đến kết quả.

Một học sinh viết chương trình Python để quản lý danh sách bạn bè.

NB Có thể thêm bạn mới vào danh sách bằng phương thức append().

TH Có thể xoá một người bạn khỏi danh sách bằng cách biết vị trí (index) của người đó.

TH Có thể kiểm tra xem một người bạn có trong danh sách hay không bằng toán tử in.

VD Không thể sắp xếp danh sách bạn bè theo thứ tự bảng chữ cái vì tên bạn bè là kiểu chuỗi.

Một nhà khoa học sử dụng Python để phân tích dữ liệu từ một thí nghiệm. Họ có một danh sách các kết quả đo đạc.

NB Có thể tính trung bình cộng của các kết quả đo đạc bằng cách sử dụng hàm sum() và len().

TH Có thể tìm giá trị lớn nhất và nhỏ nhất trong danh sách bằng hàm max() và min().

TH Có thể lọc ra các kết quả đo đạc vượt quá một ngưỡng nhất định bằng vòng lặp while.

VD Không thể vẽ biểu đồ từ dữ liệu trong danh sách mà cần phải chuyển đổi sang một kiểu dữ liệu khác.


Bảng xếp hạng

Chưa có kết quả nào.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *