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 hiển thị sau khi nộp bài
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

Hạng Họ tên Điểm số Thời gian
1
ÔN 15P Nghi ngờ 10 lần thi
10.00 / 10.00
55 giây
2
Văn Tam Nghi ngờ 1 lần thi
10.00 / 10.00
1 phút 1 giây
3
Ẩn danh mập Nghi ngờ 3 lần thi
10.00 / 10.00
1 phút 3 giây
4
Ôn Nghi ngờ 12 lần thi
10.00 / 10.00
1 phút 22 giây
5
Nguyễn Thành Phong Phú 10C3 4 lần thi
10.00 / 10.00
1 phút 27 giây
6
Lê Thị Diễm Quỳnh 10C3 Nghi ngờ 1 lần thi
10.00 / 10.00
1 phút 29 giây
7
Cyruss Nghi ngờ 2 lần thi
10.00 / 10.00
1 phút 42 giây
8
Dtv Nghi ngờ 2 lần thi
10.00 / 10.00
1 phút 45 giây
9
On tap Nghi ngờ 2 lần thi
10.00 / 10.00
1 phút 45 giây
10
K Nghi ngờ 1 lần thi
10.00 / 10.00
1 phút 45 giây
11
DRT-Dăng Răng To🔥 Nghi ngờ 3 lần thi
10.00 / 10.00
2 phút 1 giây
12
. Nghi ngờ 7 lần thi
10.00 / 10.00
2 phút 32 giây
13
E Nghi ngờ 1 lần thi
9.75 / 10.00
2 phút 33 giây
14
B Nghi ngờ 6 lần thi
9.75 / 10.00
2 phút 34 giây
15
Dương Tuấn Vỹ Nghi ngờ 1 lần thi
9.68 / 10.00
1 phút 44 giây
16
🦚 Nghi ngờ 1 lần thi
9.68 / 10.00
1 phút 55 giây
17
Nguyễn Đăng Khoa 10C3 1 lần thi
9.50 / 10.00
1 phút 55 giây
18
Nguyễn Thị Kiều Thanh 2 lần thi
9.50 / 10.00
4 phút 11 giây
19
Jaysonleii Nghi ngờ 1 lần thi
9.43 / 10.00
1 phút 50 giây
20
On 12 lần thi
9.25 / 10.00
1 phút 30 giây
21
hj Nghi ngờ 1 lần thi
9.25 / 10.00
2 phút 33 giây
22
H Nghi ngờ 2 lần thi
9.18 / 10.00
2 phút 37 giây
23
Dạo này có gì mới không? Nghi ngờ 1 lần thi
9.05 / 10.00
3 phút 1 giây
24
Võ minh thư 1 lần thi
8.87 / 10.00
13 phút 10 giây
25
Nguyễn Minh Trí 10C2 6 lần thi
8.68 / 10.00
1 phút 33 giây
26
D Nghi ngờ 1 lần thi
8.68 / 10.00
2 phút 26 giây
27
Huỳnh Ngọc Yến Nhi 10C3 1 lần thi
8.62 / 10.00
3 phút 29 giây
28
Abc Nghi ngờ 1 lần thi
8.37 / 10.00
4 phút 5 giây
29
Nguyễn Thị Bích Ngọc 10c3 1 lần thi
7.68 / 10.00
3 phút 55 giây
30
Nguyễn Như Quỳnh 1 lần thi
7.55 / 10.00
6 phút 36 giây
31
lj Nghi ngờ 1 lần thi
7.49 / 10.00
4 phút 25 giây
32
ôn 12 lần thi
7.43 / 10.00
1 phút 53 giây
33
Minh Vy 1 lần thi
7.30 / 10.00
9 phút 15 giây
34
on 12 lần thi
7.18 / 10.00
1 phút 37 giây
35
Võ Minh Triết 1 lần thi
7.11 / 10.00
10 phút 3 giây
36
NTMT 1 lần thi
6.92 / 10.00
5 phút 12 giây
37
trần kim ngọc 1 lần thi
6.41 / 10.00
7 phút 6 giây
38
\';\' Nghi ngờ 1 lần thi
6.29 / 10.00
15 phút 6 giây
39
Nguyễn Kim Anh 1 lần thi
6.04 / 10.00
3 phút 9 giây
40
Mina 1 lần thi
5.53 / 10.00
7 phút 41 giây
41
Yyghj 1 lần thi
5.03 / 10.00
10 phút 33 giây
42
.,,, Nghi ngờ 1 lần thi
4.89 / 10.00
1 phút 46 giây

Để 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 *