Font size
WorksheetsCấu trúc rẽ nhánh
Total questions: 81
Worksheet time: 41mins
Trong Python, câu lệnh nào phù hợp nhất để xử lý nhiều điều kiện loại trừ nhau theo thứ tự ưu tiên?
Sử dụng vòng lặp while để kiểm tra
Cấu trúc if–elif–else tuần tự
Một if duy nhất với nhiều điều kiện
Chuỗi if lồng nhau nhiều tầng
Cho đoạn mã: x = 0.1 + 0.2; if x == 0.3: print('A'); else: print('B'). Kết quả in ra thường sẽ là gì?
Lỗi cú pháp do toán tử '=='
Không in gì vì dùng pass
In 'B' do sai số dấu chấm động
In 'A' vì phép cộng chính xác
Bạn cần giữ chỗ trong thân if để triển khai sau mà không gây lỗi. Câu lệnh nào nên dùng?
continue để bỏ qua điều kiện
break để tạm dừng khối
pass để bỏ qua thân khối
return để kết thúc chương trình
Biểu thức Boolean trả về giá trị nào sau khi đánh giá?
Danh sách phần tử
True hoặc False
Chuỗi văn bản dài
Chỉ số nguyên dương
Thuật ngữ nào còn được gọi là Predicate trong ngữ cảnh logic?
Biểu thức Boolean
Biểu thức số học
Biểu thức chuỗi
Biểu thức mảng
Toán tử nào kiểm tra bằng nhau trong Python?
=>
===
:=
==
=
Kết quả của 5 != 10 là gì?
True
False
Không xác định
Lỗi cú pháp
Chọn phát biểu đúng về toán tử >.
So sánh lớn hơn
So sánh nhỏ hơn
So sánh bằng nhau
So sánh khác nhau
Biểu thức 5 <= 10 sẽ cho kết quả nào?
True
False
None
Lỗi
Toán tử nào trả về True nếu ít nhất một điều kiện đúng?
and
or
xor
not
Toán tử and trả về True trong trường hợp nào?
Ít nhất một điều kiện sai
Không điều kiện nào đúng
Cả hai điều kiện đều đúng
Chỉ một điều kiện đúng
Chức năng của toán tử not là gì?
Đảo ngược giá trị Boolean
So sánh bằng nhau
Tăng giá trị số
Kết hợp hai điều kiện
Kết quả của not (x > 10) khi x = 7 là gì?
True
False
None
Lỗi
Biểu thức (x > 0) and (x < 10) đúng với giá trị nào của x?
x = 5
x = 0
x = -1
x = 15
Trong Python, toán tử nào dùng để so sánh khác nhau?
==
!=
>=
<=
Biểu thức 10 > 5 đánh giá thành gì?
None
False
Không xác định
True
Cặp toán tử nào đều là toán tử so sánh?
and, or
>, <=
:=, ==
not, or
Phát biểu nào mô tả đúng vai trò của biểu thức Logic trong cấu trúc lập trình?
Thay thế biến số
Tăng tốc độ xử lý
Làm điều kiện điều khiển
Tạo vòng lặp vô hạn
Biểu thức (x == 0) or (y == 0) sẽ trả về False trong trường hợp nào?
Cả x và y đều bằng 0
Chỉ x bằng 0 còn y không
Chỉ y bằng 0 còn x không
Cả x và y đều khác 0
Kết quả của NB: sop (5 > 3) là gì?
False
Không xác định
True
NaN
Biểu thức nào dưới đây cho kết quả True?
10 == 10.0
12 < 12
1 != 1
(5 == 5) and (2 > 6)
Chọn kết quả đúng của biểu thức not (5 > 2).
True vì 5 lớn hơn 2
False vì phủ định mệnh đề đúng
False vì 5 không lớn hơn 2
True vì not đảo dấu so sánh
Biểu thức nào tương đương với (True and False) or True theo thứ tự ưu tiên chuẩn?
True or (False and True)
True and (False or True)
(True or False) and True
(True and False) or True
Xác định giá trị của (8 < 4) or ('a' == 'a').
False vì cả hai vế sai
True vì một vế đúng
False vì so sánh ký tự sai
True vì cả hai vế đều đúng
Trong Python, câu lệnh if cơ bản được thực thi khi nào?
Khi điều kiện trả về True
Khi có ít nhất hai điều kiện
Khi điều kiện trả về False
Khi điều kiện không xác định
Xét đoạn mã: dtb = 5.0; if dtb >= 5: print('Bạn đã đậu!'); print('Hú hồn!'). Kết quả in ra là gì?
In cả hai dòng thông báo
Chỉ in dòng đầu tiên
Chỉ in dòng thứ hai
Không in dòng nào
Bạn cần viết chương trình nhập một số nguyên n và in 'Số chẵn' nếu n chia hết cho 2. Lựa chọn nào sau đây đáp ứng yêu cầu đúng và tuân thủ quy tắc thụt đầu dòng của Python?
if n % 2 == 0: print('Số chẵn')
if (n % 2 == 0) { print('Số chẵn') }
if n % 2 = 0: print('Số chẵn')
if n // 2: print 'Số chẵn'
Trong lưu đồ if-else, khi điều kiện đánh giá là False, khối lệnh nào được thực thi?
if-block được chạy tuần tự
else-block được chạy tiếp tục
Không khối nào được chạy
Cả hai khối đều được chạy
Xét đoạn mã: dtb = 4.9. Nếu áp dụng cấu trúc if dtb >= 5: in('Bạn đã đậu!') else: in('Bạn chưa đậu!'), chương trình in ra gì?
In cả hai thông báo
Không in gì cả
Bạn chưa đậu!
Bạn đã đậu!
Bạn cần viết chương trình yêu cầu nhập một số nguyên khác 0 và in 'Số dương' nếu số > 0, ngược lại in 'Số âm'. Biểu thức điều kiện thích hợp trong if là gì?
n >= 0 để phân loại hai nhánh
n > 0 để kiểm tra dương
n != 0 để loại bỏ số 0
n < 0 để tìm số âm
Trong Python, cấu trúc nào cho phép kiểm tra nhiều điều kiện theo thứ tự và thực thi nhánh đầu tiên thỏa mãn?
Toán tử điều kiện ba ngôi lặp lại
Nhiều if độc lập cùng điều kiện
Một chuỗi if-elif-else theo thứ tự
Vòng lặp for lồng với if
Cho đoạn mã: dtb=float(input()); if dtb>=9: print('Giỏi'); elif dtb>=7: print('Khá'); elif dtb>=5: print('Trung bình'); else: print('Yếu'). Khi nhập dtb = 7.0, chương trình in gì?
In 'Khá' vì rơi vào nhánh elif thứ nhất
In 'Giỏi' vì 7.0>=9 là sai
In 'Trung bình' vì xét tất cả nhánh
In 'Yếu' vì không thỏa điều kiện nào
Một chương trình nhận giờ trong ngày (0–23) và in thông điệp: 5–11 'Buổi sáng', 12–17 'Buổi chiều', 18–21 'Buổi tối', còn lại 'Buổi khuya'. Nhập giờ=22 sẽ in gì?
In 'Buổi sáng' vì 22>=5
In 'Buổi tối' vì 22 thuộc 18–21
In 'Buổi chiều' do 12–17 bao hàm
In 'Buổi khuya' theo nhánh else
Trong Python -origin 3.10 trở lên, từ khóa nào dùng để bắt đầu cấu trúc so khớp mẫu thay thế cho switch-case?
match
when
switch
select
Trong đoạn mã: color = "red"; match color: case "red": print("Màu đỏ"); case "blue": print("Màu xanh dương"); case _: print("Không xác định"), giá trị nào sẽ kích hoạt nhánh mặc định?
"cyan"
"blue"
"red"
"green"
Khi nào nên ưu tiên dùng match-case? Chọn phương án đúng nhất.
Khi muốn thay thế toàn bộ if-else mọi lúc
Khi phiên bản Python cũ hơn 3.6 đang chạy
Khi chỉ cần so sánh lớn hơn nhỏ hơn đơn giản
Khi có nhiều trường hợp cụ thể cần xử lý
Trong cú pháp minh họa, ký hiệu case _ có ý nghĩa gì?
Nhánh mặc định khi không khớp giá trị
So khớp kiểu dữ liệu chặt chẽ
Bắt lỗi ngoại lệ khi so khớp
Kết thúc khối match-case
Cú pháp nào đúng để so khớp biến x với hai trường hợp 1 và 2, còn lại in "khác"?
switch x: case 1 -> ...; case 2 -> ...; default: print("khác")
match x: case 1: ...; case 2: ...; case _: print("khác")
if x in (1,2): print("khác"); else: ...
match(x){1:...;2:...;_:print("khác")}
Đoạn mã nào KHÔNG gây lỗi cú pháp trong Python khi thân if chưa được viết?
if a == 0: pass
if a == 0: # chưa làm gì
if a == 0:
if a == 0: x
Vì sao cần dùng pass trong cấu trúc rẽ nhánh hoặc vòng lặp khi chưa kịp viết logic?
Để giữ đúng cú pháp yêu cầu thân khối không rỗng
Để tự động sinh mã xử lý ngoại lệ
Để trình biên dịch tối ưu và chạy nhanh hơn
Để biến điều kiện thành luôn đúng trong lúc thử
Cho đoạn mã: a = float(input()); b = float(input()); if a == 0: pass else: x = b/a. Phát biểu nào đúng nhất về hành vi khi a khác 0?
Biểu thức pass bị bỏ qua, else tính x = b/a
Pass ném lỗi vì khối if rỗng
Pass gán x = 0 rồi else bị bỏ qua
Pass làm else không được thực thi
Trong Python, vì sao không nên so sánh số thực bằng toán tử == trực tiếp?
Vì làm chậm chương trình ở mọi trường hợp
Do số thực lưu chính xác tuyệt đối trong máy tính
Do sai số biểu diễn dấu phẩy động gây lệch nhỏ
Vì Python không hỗ trợ so sánh số thực
Đoạn mã d1 = 1.11 - 1.10 và d2 = 2.11 - 2.10 thường cho kết quả nào?
d1 lớn hơn d2 rất đáng kể
d1 và d2 đúng bằng 0.01 giống hệt nhau
d1 và d2 xấp xỉ 0.01 nhưng hơi khác nhau
d1 và d2 đều bằng 0 do làm tròn
Giá trị gần đúng nào mô tả hợp lý cho d1 và d2 khi chạy thực tế?
d1 = 0.01; d2 = 0.02
d1 = 0.0109; d2 = 0.0097
d1 = 0.010000000000000009; d2 ≈ 0.009999999999999787
d1 = 0.0; d2 = 0.0
Khái niệm 'ngưỡng sai số cho phép' khi so sánh số thực là gì?
Số ngẫu nhiên chọn bất kỳ cho tiện
Giới hạn thời gian chạy của đoạn mã
Giá trị epsilon nhỏ quyết định hai số coi như bằng nhau
Kích thước bộ nhớ dành cho số thực
Với diff = abs(d1 - d2) và epsilon = 1e-7, điều kiện coi d1 và d2 là bằng nhau nên là gì?
diff <= epsilon để xét xấp xỉ bằng nhau
Không cần điều kiện vì luôn bằng nhau
diff >= epsilon để coi là bằng nhau
diff == epsilon trong mọi trường hợp
Lý do cần dùng abs (giá trị tuyệt đối) khi so sánh xấp xỉ là gì?
Để loại bỏ dấu âm của sai số khi lấy hiệu
Để tiết kiệm bộ nhớ khi tính toán
Để tăng độ chính xác của dấu phẩy động
Để chuyển số thực thành số nguyên
Trong thực hành, lựa chọn epsilon nên dựa trên nguyên tắc nào?
Chọn epsilon phù hợp độ chính xác mong muốn của bài toán
Luôn đặt epsilon = 0 để chính xác tuyệt đối
Chọn epsilon ngẫu nhiên để tránh trùng lặp
Đặt epsilon càng lớn càng tốt để dễ bằng nhau
Trong Python, vì sao biểu thức 1.1 + 2.2 thường không bằng 3.3 khi dùng float?
Do Python tự động chuyển sang kiểu phức khi cộng
Do lưu trữ phần thập phân bằng nhị phân gây xấp xỉ
Do phép cộng float bị hạn chế độ dài chuỗi
Do làm tròn theo cơ số thập phân chính xác tuyệt đối
Mặc định số thực (float) trong Python có đặc điểm nào sau đây?
Chính xác tối đa 15 chữ số phần thập phân
Chính xác tối đa 5 chữ số phần thập phân
Luôn chính xác tuyệt đối với mọi số
Không giới hạn chữ số phần thập phân
Kết quả in ra của a = 1.1 + 2.2 khi dùng float thường gần với giá trị nào?
3.3000000000000000 chính xác tuyệt đối
3.3000000000000003 gần với 3.3
3.2999999999999990 gần với 3.2
3.3333333333333333 gần với 3.4
Vì sao decimal.Decimal('0.05') khác với decimal.Decimal(0.05)?
Vì Decimal không thể nhận đối số dạng chuỗi
Vì số thực luôn tròn về 0 khi ép kiểu
Vì chuỗi giữ giá trị thập phân chính xác hơn
Vì chuỗi tạo ra số nhị phân ngẫu nhiên
Để so sánh chính xác 1.1 + 2.2 với 3.3, cách nào phù hợp nhất?
Làm tròn float đến 1 chữ số rồi so sánh
Dùng Decimal('1.1') + Decimal('2.2') và so với Decimal('3.3')
So sánh trực tiếp a == 3.3 với a là float
Ép kiểu về int rồi so sánh bằng nhau
Mục đích của hàm decimal.getcontext().prec là gì?
Đổi kiểu Decimal sang float nhanh hơn
Tạo số ngẫu nhiên có độ chính xác cao
Chọn cơ số nhị phân cho dấu phẩy động
Thiết lập số chữ số chính xác cho Decimal
Giả sử decimal.getcontext().prec = 10. Kết quả của Decimal(1) / Decimal(13) sẽ có đặc điểm gì?
Tự động chuyển sang dạng phân số chính xác
Chỉ còn 3 chữ số phần thập phân hiển thị
Chuỗi chữ số vô hạn không bị cắt ngắn
Chuỗi chữ số có độ dài khoảng 10 chữ số có nghĩa
Nhận định nào đúng về biểu diễn 0.1 trong hệ nhị phân?
Không thể biểu diễn trên máy tính hiện đại
Là số đặc biệt được mã hóa đúng tuyệt đối
Là dãy nhị phân hữu hạn nên lưu chính xác
Là dãy nhị phân vô hạn nên chỉ xấp xỉ
Trong Python, cú pháp rút gọn dùng để gán theo điều kiện có dạng nào sau đây?
expression1 if condition else expression2
if condition then expression1 else expression2
expression1 unless not condition else expression2
condition ? expression1 : expression2
Giả sử viết: c = 10 if x > y else 20. Nhận định nào đúng về giá trị của c?
c đổi giữa 10 và 20 ngẫu nhiên mỗi lần
c bằng 20 khi x lớn hơn y, bằng 10 khi khác
c luôn bằng 10 vì điều kiện luôn đúng
c nhận 10 khi x lớn hơn y, ngược lại 20
Cấu trúc nào chỉ kiểm tra một điều kiện và chỉ thực hiện khi điều kiện đúng, không xử lý trường hợp sai?
if-elif-else
match-case
if-else
if
Ưu điểm chính của if-else là gì?
Linh hoạt với nhiều nhánh tuần tự
Đơn giản, dễ dùng cho một nhánh
Rõ ràng, xử lý đầy đủ hai nhánh
Gọn gàng, hỗ trợ pattern nâng cao
Hạn chế nào thường gặp khi dùng if-elif-else với rất nhiều nhánh?
Dễ rối nếu có quá nhiều nhánh
Không xử lý trường hợp sai
Chỉ dùng được cho một điều kiện
Chỉ chạy trên Python ≥ 3.10
Cho x=3, y=5, z=7. Giá trị của biểu thức x == 3 là gì?
None
Zero
True
False
Cho x=3, y=5. Kết quả của biểu thức x < y là gì?
False
Error
Undefined
True
Cho x=3, y=5. Giá trị của x >= y là gì?
True
False
None
Zero
Cho x=3, y=5. Biểu thức x != y - 2 cho ra kết quả nào?
True
False
TypeError
Zero
Với i=5, j=3, k=7 chạy đoạn mã rẽ nhánh lồng nhau như trên. Giá trị in ra là gì?
i=7, j=3, k=7
i=3, j=5, k=7
i=5, j=3, k=7
i=5, j=5, k=7
Với i=7, j=3, k=5 chạy đoạn mã rẽ nhánh lồng nhau đã cho. Kết quả là gì?
i=5, j=7, k=5
i=5, j=3, k=5
i=7, j=3, k=5
i=7, j=7, k=5
Nhập số tháng m (1–12). Tháng nào luôn có 31 ngày?
1,3,5,7,8,10,12
2,4,6,9,11
3,6,9,12
1,4,7,10,12
Nhập tháng m. Tháng nào có 30 ngày?
4,6,9,11
1,3,5,7
2,8,10,12
3,6,10,12
Năm nhuận theo lịch Gregory làm tháng 2 có bao nhiêu ngày?
30 ngày
28 ngày
29 ngày
31 ngày
Tháng 2 của năm không nhuận có bao nhiêu ngày?
28 ngày
29 ngày
30 ngày
31 ngày
Điều kiện năm nhuận đơn giản trong lập trình thường dùng là gì?
n%4!=0 and n%400==0
n%100==0 or n%400!=0
n%4==0 and n%100==0
n%400==0 or (n%4==0 and n%100!=0)
Giải pt bậc hai ax2+bx+c=0 . Khi nào phương trình vô nghiệm (trong R)?
a=0
Δ>0
Δ=0
Δ<0
Phương trình ax2+bx+c=0 có hai nghiệm phân biệt khi nào?
Δ=0
b=0
Δ<0
Δ>0
Khi a=0 trong ax2+bx+c=0 , bài toán chuyển thành dạng nào?
Phương trình vô nghiệm chắc chắn
Bất phương trình bậc hai
Hệ phương trình hai ẩn
Phương trình bậc nhất bx+c=0
Nhập số nguyên n có tối đa 2 chữ số. Chuỗi đọc chữ cho n=35 là gì?
Ba mươi năm
Năm mươi ba
Ba mươi lăm
Ba năm
Nhập vào ngày d/m/y hợp lệ. Ngày kế sau ngày 28/2 của năm nhuận là gì?
27/2/y
29/2/y
1/3/y
2/3/y
Nhập a,b và phép toán op thuộc {'+','-','*','/'}. Với a=8, b=2, op='/' kết quả là gì?
4.0
16.0
0.25
6.0
Với match-case, nhập 'car' thì chương trình nên in gì?
Không xác định phương tiện
Đây là ô tô
Đây là xe đạp
Đây là xe máy
Với match-case, chuỗi 'bus' sẽ cho thông điệp nào?
Không xác định phương tiện
Đây là xe máy
Đây là ô tô
Đây là xe buýt
Khi nhập tên phương tiện không khớp với car/motorbike/bicycle/bus, chương trình nên in gì?
Đây là ô tô
Không xác định phương tiện
Đây là xe đạp
Đây là xe máy
