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

Hạng Họ tên Điểm số Thời gian
1
minh khang 2 lần thi
100/100
1 phút 43 giây
2
kduy pduy 1 lần thi
100/100
9 phút 32 giây
3
dang le bao thu , huynh thi ngoc huyen 1 lần thi
100/100
11 phút 21 giây
4
Nguyễn Thanh Điền Nguyễn Huy Thuận 1 lần thi
100/100
12 phút 39 giây
5
Lê Thị Thảo 1 lần thi
100/100
13 phút 14 giây
6
Phan thị cẩm ly , đỗ thị tường vy 1 lần thi
100/100
13 phút 49 giây
7
Võ Thị Trúc Lam 1 lần thi
94/100
13 phút 8 giây
8
Van Hau Ngoc Hung 1 lần thi
93/100
11 phút 49 giây
9
Nguyễn lê dy khangg 1 lần thi
93/100
12 phút 0 giây
10
Bùi Thị Cát Tường ; Trương Thị Diễm Quỳnh 1 lần thi
88/100
9 phút 38 giây
11
nguyễn tấn thành 10c1 1 lần thi
88/100
10 phút 58 giây
12
lê ngọc bảo hân 1 lần thi
88/100
12 phút 25 giây
13
khanhduy dep trai 1 lần thi
82/100
1 phút 38 giây
14
Nguyễn Hữu Trí Trần Quang 1 lần thi
82/100
12 phút 25 giây
15
Nguyễn Trọng Tiền 1 lần thi
81/100
13 phút 46 giây
16
Đình Tuấn 1 lần thi
79/100
8 phút 43 giây
17
Thành Minh và Lăng Vy 1 lần thi
76/100
11 phút 39 giây
18
Trương Hồng Ngọc 1 lần thi
76/100
11 phút 54 giây
19
Ngô Thị Diễm Hằng 1 lần thi
76/100
12 phút 1 giây
20
Thùy Linh/Thanh Tú 1 lần thi
71/100
9 phút 35 giây
21
Đặng Ngọc Mai Quỳnh 1 lần thi
71/100
11 phút 59 giây
22
khả my . thúy vy 1 lần thi
63/100
6 phút 57 giây
23
nguyễn văn bình : lê hoàng anh 1 lần thi
62/100
9 phút 56 giây
24
Nguyễn Trí nhân Phan Thanh Nhân 1 lần thi
56/100
8 phút 10 giây
25
NGUYỄN THỊ QUỲNH NHƯ 1 lần thi
56/100
9 phút 43 giây
26
võ thanh sơn 1 lần thi
56/100
10 phút 5 giây
27
Hồ Thị Bích Phượng 1 lần thi
56/100
13 phút 30 giây
28
10C2-Tran Anh Kiet 2 lần thi
53/100
2 phút 2 giây
29
Nguyễn Thị Khánh Ngọc 1 lần thi
53/100
12 phút 27 giây
30
hoàng khang 1 lần thi
51/100
11 phút 10 giây
31
Kim ngân,như ý 1 lần thi
51/100
14 phút 56 giây
32
Đặng Ngọc Mỹ 1 lần thi
46/100
7 phút 37 giây
33
Đỗ Ngọc Minh 1 lần thi
38/100
9 phút 17 giây
34
10C2- Trần Quốc Huy 1 lần thi
35/100
3 phút 35 giây
35
Võ Minh Cường 1 lần thi
35/100
7 phút 41 giây
36
le nguyen minh khang & huynh thi ngoc huyen 1 lần thi
35/100
10 phút 33 giây
37
Huỳnh Trúc Hà 1 lần thi
35/100
12 phút 18 giây
38
võ thanh phú 1 lần thi
24/100
10 phút 11 giây
39
nhi 1 lần thi
22/100
4 phút 52 giây
40
10C2 -Nguyễn Thị Thảo Nguyên - Trương Thị Ngọc Duyên 1 lần thi
10/100
9 phút 6 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 *