Giải bài tập sách bài tập (SBT) tin học lớp 10 kết nối tri thức bài 29: Nhận biết lỗi chương trình

Giải bài 29: Nhận biết lỗi chương trình trong Sách Bài Tập (SBT) Tin Học Lớp 10

Trong sách bài tập (SBT) Tin Học lớp 10 kết nối tri thức, bài 29 là bài tập về việc nhận biết lỗi chương trình. Đây là một phần quan trọng giúp học sinh hiểu và nắm vững kiến thức khi lập trình. Bài tập này cung cấp các ví dụ cụ thể về lỗi chương trình và hướng dẫn cách phát hiện và sửa lỗi một cách chi tiết.

Mục tiêu của bài học là giúp học sinh phát triển kỹ năng phân tích và sửa lỗi trong chương trình một cách chính xác. Bằng cách này, họ sẽ trở nên thành thạo hơn trong việc lập trình và sẽ có khả năng giải quyết các vấn đề một cách hiệu quả.

Sách bài tập này cung cấp phần đáp án chuẩn và hướng dẫn giải chi tiết cho từng bài tập, giúp học sinh tự tin hơn khi làm bài và nâng cao kiến thức của mình. Hy vọng rằng, thông qua bài học này, các em học sinh sẽ có cái nhìn tổng quan và sâu sắc hơn về lập trình và có thêm động lực để tiếp tục học tập.

Bài tập và hướng dẫn giải

29.1. Xác định loại lỗi của câu lệnh sau:

>>> A = list(12)

A. Lỗi cú pháp.                        B. Lỗi ngoại lệ.

C. Lỗi khác.                             D. Không có lỗi.

Trả lời: Đáp án B. Xem hướng dẫn giải chi tiết

29.2. Lệnh sau có lỗi không? Nếu có thì lỗi thuộc loại nào?

123ab = {1,2,3]

print(123ab)

A. Lỗi cú pháp.                     B. Lỗi ngoại lệ.

C. Lỗi khác.                          D. Không có lỗi.

Trả lời: Đáp án A. Xem hướng dẫn giải chi tiết

29.3. Lỗi ngoại lệ trong Python là lỗi gì?

A. Lỗi khi viết một câu lệnh sai cú pháp của ngôn ngữ lập trình.

B. Lỗi khi truy cập một biến chưa được khai báo.

C. Lỗi khi không thể thực hiện một lệnh nào đó của chương trình.

D. Lỗi khi chương trình biên dịch sang tệp exe.

Trả lời: Đáp án C. Xem hướng dẫn giải chi tiết

29.4. Chương trình sau có lỗi không? Nếu có thì lỗi thuộc loại nào?

A = [1,2,3]

for i in range(4):

       print(A[i])

Trả lời: Có lỗi. Đó là lỗi ngoại lệ. Xem hướng dẫn giải chi tiết

29.5. Chương trình sau có lỗi không? Nếu có thì lỗi thuộc loại nào?

n = 10

for i in range(n):

      Print(i, end = " ")

Trả lời: Có lỗi. Đó là lỗi ngoại lệ. Xem hướng dẫn giải chi tiết

29.6. Đoạn chương trình sau có lỗi không? Nếu có thì lỗi thuộc loại nào?

n = input("Nhập số tự nhiên n: ")

k = int(input("Nhập số lần cần nhân lên: "))

print("Kết quả là:",n*k)

Trả lời: Có lỗi, lỗi này thuộc loại ngữ nghĩa, không thuộc lỗi ngoại lệ hay lỗi cú pháp. Xem hướng dẫn giải chi tiết

29.7. Trong lời gọi hàm, nếu các đối số được truyền vào hàm bị thiếu thì lỗi ngoại lệ phát sinh thuộc loại nào dưới đây?

A. SyntaxErro.                           B. NameError.

C. TypeError.                             D. Không phát sinh lỗi ngoại lệ.

Trả lời: Đáp án C. Xem hướng dẫn giải chi tiết

29.8. Các lệnh sau sẽ phát sinh lỗi ngoại lệ nào?

>>> s = "abc”

>>> s[10]

A. SyntaxError.                                   B. NameError.

C. TypeError                                       D. IndexError.

Trả lời: Đáp án D. Xem hướng dẫn giải chi tiết

29.9. Giả sử chương trình có lệnh nhập dữ liệu sau:

n = int(input("Nhập số nguyên n: "))

Khi chúng ta nhập 1.5 thì chương trình có lỗi ngoại lệ không? Đó là lỗi ngoại lệ nào?

A. SyntaxError.                            B. ValueError.

C. TypeError                                D. IndexError.

Trả lời: Đáp án B. Xem hướng dẫn giải chi tiết

29.10. Bài toán yêu cầu sắp xếp dãy số ban đầu thành dãy tăng dần. Giả sử dãy số ban đầu là [3, 1, 8, 10, 5]. Kết quả thu được dãy [1, 3, 8, 5, 10]. Chương trình có lỗi không? Nếu có thể thì lỗi đó thuộc loại gì?

Trả lời: Có lỗi. Đây là lỗi loại 3, tức là lỗi ngữ nghĩa bên trong chương trình, không phải lỗi ngoại lệ. Xem hướng dẫn giải chi tiết

29.2. Lệnh sau có lỗi không? Nếu có thì lỗi thuộc loại nào?

123ab = {1,2,3]

print(123ab)

A. Lỗi cú pháp.                    B. Lỗi ngoại lệ.

C. Lỗi khác.                         D. Không có lỗi.

Trả lời: Đáp án A. Xem hướng dẫn giải chi tiết

29.3. Lỗi ngoại lệ trong Python là lỗi gì?

A. Lỗi khi viết một câu lệnh sai cú pháp của ngôn ngữ lập trình.

B. Lỗi khi truy cập một biến chưa được khai báo.

C. Lỗi khi không thể thực hiện một lệnh nào đó của chương trình.

D. Lỗi khi chương trình biên dịch sang tệp exe.

Trả lời: Đáp án C.  Xem hướng dẫn giải chi tiết

29.4. Chương trình sau có lỗi không? Nếu có thì lỗi thuộc loại nào?

A = [1,2,3]

for i in range(4):

      print(A[i])

Trả lời: Có lỗi. Đó là lỗi ngoại lệ.   Xem hướng dẫn giải chi tiết

29.5. Chương trình sau có lỗi không? Nếu có thì lỗi thuộc loại nào?

n = 10

for i in range(n):

       Print(i, end = " ")

Trả lời: Có lỗi. Đó là lỗi ngoại lệ.  Xem hướng dẫn giải chi tiết

29.6. Đoạn chương trình sau có lỗi không? Nếu có thì lỗi thuộc loại nào?

n = input( "Nhập số tự nhiên n: ")

k = int(input( "Nhập số lần cần nhân lên: "))

print("Kết quả là:",n*k)

Trả lời: Có lỗi, lỗi này thuộc loại ngữ nghĩa, không thuộc lỗi ngoại lệ hay lỗi cú pháp.  Xem hướng dẫn giải chi tiết

29.7. Trong lời gọi hàm, nếu các đối số được truyền vào hàm bị thiếu thì lỗi ngoại lệ phát sinh thuộc loại nào dưới đây?

A. SyntaxError.                                B. NameError.

C. TypeError                                    D. Không phát sinh lỗi ngoại lệ.

Trả lời: Đáp án C.   Xem hướng dẫn giải chi tiết

29.8. Các lệnh sau sẽ phát sinh lỗi ngoại lệ nào?

>>> s = "abc"

>>> s[10]

A. SyntaxError.                    B. NameError.

C. TypeError                        D. IndexError.

Trả lời: Đáp án D.  Xem hướng dẫn giải chi tiết

29.9. Giả sử chương trình có lệnh nhập dữ liệu sau:

n = int(input( "Nhập số nguyên n: *))

Khi chúng ta nhập 1.5 thì chương trình có lỗi ngoại lệ không? Đó là lỗi ngoại lệ nào?

A. SyntaxError.                    B. ValueError.

C. TypeError                        D. IndexError.

Trả lời: Đáp án B.  Xem hướng dẫn giải chi tiết

29.10. Bài toán yêu cầu sắp xếp dãy số ban đầu thành dãy tăng dần. Giả sử dãy số ban đầu là [3, 1. 8, 10, 5]. Kết quả thu được dãy [1, 3, 8, 5, 10]. Chương trình có lỗi không? Nếu có thể thì lỗi đó thuộc loại gì?

Trả lời: Có lỗi. Đây là lỗi loại 3, tức là lỗi ngữ nghĩa bên trong chương trình, không phải lỗi ngoại... Xem hướng dẫn giải chi tiết

29.11. Các lệnh sau khi thực hiện có thể sinh lỗi không? Nếu có thì lỗi có thể là gì?

1. n = int(input("Nhập số nguyên n: "))

2. if prime(n):

3.          print(n, "là số nguyên tố")

4. else:

5.          print(n, "là hợp số")

Trả lời: Lệnh 1 có thể phát sinh lỗi ValueError khi người dùng nhập dữ liệu chưa chính xác.Lệnh 3 có thể... Xem hướng dẫn giải chi tiết
0.04311 sec| 2256.602 kb