Trắc nghiệm Tin học 10 Kết nối tri thức Bài 29: Nhận biết lỗi chương trình - Đề 01
Trắc nghiệm Tin học 10 Kết nối tri thức Bài 29: Nhận biết lỗi chương trình - Đề 01 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Khi viết chương trình Python, bạn gõ dòng lệnh `for i in range(10)`. Sau đó, trình thông dịch báo lỗi ngay khi cố gắng chạy chương trình. Loại lỗi nào có khả năng xảy ra nhất trong trường hợp này?
- A. Lỗi ngoại lệ (Runtime Error)
- B. Lỗi cú pháp (Syntax Error)
- C. Lỗi lôgic (Logic Error)
- D. Không có lỗi, chương trình chạy bình thường
Câu 2: Một chương trình Python được thiết kế để tính diện tích hình chữ nhật. Bạn nhập chiều dài là 5 và chiều rộng là 10, chương trình chạy mà không báo lỗi, nhưng kết quả in ra là 15. Loại lỗi nào đang xảy ra?
- A. Lỗi cú pháp (Syntax Error)
- B. Lỗi ngoại lệ (Runtime Error)
- C. Lỗi lôgic (Logic Error)
- D. Lỗi nhập liệu (Input Error)
Câu 3: Quan sát đoạn mã Python sau:
```python
so_a = 10
so_b = 0
ket_qua = so_a / so_b
print(ket_qua)
```
Khi chạy đoạn mã này, chương trình sẽ dừng lại và báo lỗi. Tên mã lỗi cụ thể mà Python sẽ thông báo là gì?
- A. TypeError
- B. NameError
- C. ValueError
- D. ZeroDivisionError
Câu 4: Khi chương trình Python gặp lỗi ngoại lệ (Runtime Error), điều gì thường xảy ra?
- A. Chương trình dừng đột ngột và hiển thị thông báo lỗi kèm theo dấu vết (traceback).
- B. Chương trình tiếp tục chạy nhưng cho kết quả sai.
- C. Trình thông dịch báo lỗi ngay trước khi chương trình bắt đầu chạy.
- D. Chương trình tự động sửa lỗi và tiếp tục chạy.
Câu 5: Đoạn mã sau sẽ gây ra lỗi gì khi chạy?
```python
ten =
- A. SyntaxError
- B. NameError
- C. TypeError
- D. ValueError
Câu 6: Bạn viết một chương trình có sử dụng biến `diem_trung_binh`. Tuy nhiên, ở một dòng code, bạn gõ nhầm thành `diem_tb`. Khi chạy, Python báo lỗi `NameError: name "diem_tb" is not defined`. Đây là ví dụ về loại lỗi gì?
- A. Lỗi ngoại lệ (Runtime Error)
- B. Lỗi cú pháp (Syntax Error)
- C. Lỗi lôgic (Logic Error)
- D. Lỗi biên dịch (Compile Error)
Câu 7: Phương pháp hiệu quả nhất để phát hiện và sửa lỗi lôgic trong chương trình là gì?
- A. Chạy chương trình một lần duy nhất và hy vọng không có lỗi.
- B. Chỉ kiểm tra các lỗi cú pháp bằng trình soạn thảo.
- C. Đọc kỹ thông báo lỗi từ trình thông dịch.
- D. Thử nghiệm chương trình với nhiều bộ dữ liệu đầu vào khác nhau và so sánh kết quả với kết quả mong đợi.
Câu 8: Đoạn mã sau sẽ gây ra lỗi gì khi chạy?
```python
danh_sach = [10, 20, 30]
print(danh_sach[3])
```
- A. TypeError
- B. IndexError
- C. KeyError
- D. AttributeError
Câu 9: Khi bạn sử dụng hàm `int()` để chuyển đổi một chuỗi thành số nguyên, nhưng chuỗi đó không biểu diễn một số nguyên hợp lệ (ví dụ: `int(
- A. ValueError
- B. TypeError
- C. SyntaxError
- D. NameError
Câu 10: Lỗi nào trong các loại lỗi sau đây KHÔNG làm dừng chương trình ngay lập tức?
- A. Syntax Error
- B. Runtime Error (Ngoại lệ)
- C. Logic Error
- D. ZeroDivisionError
Câu 11: Trong Python, việc thụt lề (indentation) sai trong các khối lệnh (như sau `if`, `for`, `while`, `def`, `class`) sẽ gây ra lỗi gì?
- A. SyntaxError
- B. TypeError
- C. ValueError
- D. IndentationError
Câu 12: Giả sử bạn có một đoạn mã phức tạp. Khi chạy, Python báo lỗi ngoại lệ và hiển thị một
- A. Tên loại lỗi và dòng mã cụ thể gây ra lỗi.
- B. Giải pháp tự động để sửa lỗi.
- C. Thời gian chương trình đã chạy trước khi gặp lỗi.
- D. Bộ nhớ đã sử dụng bởi chương trình.
Câu 13: Đoạn mã sau sẽ gây ra lỗi gì?
```python
print(
- A. SyntaxError
- B. NameError
- C. TypeError
- D. IndentationError
Câu 14: Sự khác biệt cơ bản giữa Lỗi Cú pháp (Syntax Error) và Lỗi Ngoại lệ (Runtime Error) là gì?
- A. Lỗi cú pháp xảy ra khi chương trình đang chạy, còn lỗi ngoại lệ xảy ra trước khi chạy.
- B. Lỗi cú pháp liên quan đến cấu trúc ngôn ngữ, còn lỗi ngoại lệ xảy ra khi chương trình đang chạy do một tình huống bất thường.
- C. Lỗi cú pháp dễ sửa hơn lỗi ngoại lệ.
- D. Lỗi cú pháp không làm dừng chương trình, còn lỗi ngoại lệ thì có.
Câu 15: Một chương trình yêu cầu người dùng nhập một số nguyên dương. Bạn nhập vào số 0 hoặc một số âm. Nếu chương trình chạy mà không báo lỗi nhưng lại cho kết quả không đúng với yêu cầu bài toán (ví dụ: tính căn bậc hai của số âm), đó là loại lỗi gì?
- A. Syntax Error
- B. Runtime Error
- C. Logic Error
- D. Input Error (Đây không phải là loại lỗi chính trong phân loại)
Câu 16: Đoạn mã sau sẽ gây ra lỗi gì?
```python
nhap_chuoi = input(
- A. SyntaxError
- B. TypeError
- C. NameError
- D. ValueError
Câu 17: Để tìm lỗi lôgic trong chương trình, một trong những kỹ thuật phổ biến là in giá trị của các biến tại các điểm khác nhau trong quá trình thực thi. Mục đích của việc này là gì?
- A. Để làm cho chương trình chạy nhanh hơn.
- B. Để theo dõi luồng thực thi và giá trị của biến, giúp xác định nơi xảy ra sai sót trong tính toán hoặc logic.
- C. Để tự động sửa lỗi ngoại lệ.
- D. Để biến chương trình thành một chương trình giao tiếp với người dùng.
Câu 18: Lỗi nào sau đây thường được phát hiện bởi trình thông dịch Python trước khi chương trình bắt đầu thực thi các dòng lệnh?
- A. SyntaxError (ví dụ: thiếu dấu ngoặc, sai từ khóa)
- B. ZeroDivisionError (chia cho 0)
- C. IndexError (truy cập chỉ mục ngoài phạm vi)
- D. Logic Error (sai công thức tính)
Câu 19: Đoạn mã sau sẽ gây ra lỗi gì?
```python
def chao():
print(
- A. SyntaxError
- B. TypeError
- C. NameError
- D. IndentationError
Câu 20: Khi bạn đọc một thông báo lỗi từ Python có chứa cụm từ `Traceback (most recent call last):`, điều đó chỉ ra loại lỗi gì?
- A. Lỗi ngoại lệ (Runtime Error)
- B. Lỗi cú pháp (Syntax Error)
- C. Lỗi lôgic (Logic Error)
- D. Lỗi biên dịch
Câu 21: Bạn viết một chương trình để tính tổng các số từ 1 đến N. Tuy nhiên, vòng lặp của bạn lại bắt đầu từ 0 thay vì 1, dẫn đến kết quả sai. Đây là ví dụ điển hình của loại lỗi nào?
- A. Syntax Error
- B. Runtime Error
- C. Logic Error
- D. IndentationError
Câu 22: Đoạn mã sau sẽ gây ra lỗi gì?
```python
x = 10
y =
- A. ValueError
- B. TypeError
- C. SyntaxError
- D. NameError
Câu 23: Khi gặp lỗi cú pháp, thông báo lỗi của Python thường chỉ ra điều gì?
- A. Nguyên nhân lôgic dẫn đến kết quả sai.
- B. Giá trị hiện tại của tất cả các biến.
- C. Thời gian thực thi của chương trình.
- D. Dòng mã và vị trí (gần đúng) nơi cú pháp bị sai.
Câu 24: Một chương trình sử dụng hàm `open()` để đọc một tệp. Nếu tệp đó không tồn tại trên hệ thống, loại lỗi ngoại lệ nào có khả năng xảy ra nhất?
- A. FileNotFoundError
- B. IOError
- C. NameError
- D. TypeError
Câu 25: Phân tích đoạn mã sau và cho biết nó có lỗi gì?
```python
def tinh_tong(a, b):
return a - b # intended to sum, but subtracts
ket_qua = tinh_tong(10, 5)
print(ket_qua)
```
Chương trình chạy và in ra 5.
- A. Syntax Error
- B. Runtime Error (TypeError)
- C. Logic Error
- D. Không có lỗi
Câu 26: Khi debug (gỡ lỗi) một chương trình, việc đọc và hiểu thông báo lỗi là bước đầu tiên và quan trọng nhất. Điều này đặc biệt đúng với loại lỗi nào?
- A. Chỉ lỗi lôgic.
- B. Chỉ lỗi ngoại lệ.
- C. Chỉ lỗi cú pháp.
- D. Cả lỗi cú pháp và lỗi ngoại lệ, vì thông báo lỗi cung cấp thông tin trực tiếp về vị trí và loại lỗi.
Câu 27: Đoạn mã sau sẽ gây ra lỗi gì khi chạy?
```python
diem_so = {
- A. KeyError
- B. IndexError
- C. NameError
- D. ValueError
Câu 28: Lỗi lôgic thường khó phát hiện hơn lỗi cú pháp và lỗi ngoại lệ vì lý do gì?
- A. Chương trình báo lỗi rất mơ hồ.
- B. Chương trình vẫn chạy mà không báo lỗi, chỉ đưa ra kết quả sai hoặc không mong muốn.
- C. Trình thông dịch không thể phát hiện lỗi lôgic.
- D. Lỗi lôgic chỉ xảy ra trên một số hệ điều hành nhất định.
Câu 29: Khi một hàm được gọi với số lượng đối số không khớp với định nghĩa của hàm (ví dụ: hàm yêu cầu 2 đối số nhưng chỉ truyền 1), loại lỗi ngoại lệ nào thường xảy ra trong Python?
- A. TypeError
- B. ValueError
- C. NameError
- D. SyntaxError
Câu 30: Giả sử bạn viết một chương trình tính thuế thu nhập. Bạn vô tình áp dụng mức thuế suất cho thu nhập trước khi trừ đi các khoản giảm trừ gia cảnh, dẫn đến kết quả tính thuế cao hơn thực tế. Đây là ví dụ về loại lỗi nào?
- A. Syntax Error
- B. Logic Error
- C. Runtime Error (ZeroDivisionError)
- D. IndentationError