wayground logo

Lembar Kerja Gratis yang Dapat Dicetak

Ukuran huruf

S
M
L
XL
Lembar kerja

Câu hỏi về lập trình

Total soal: 62

Worksheet time: 31mins

Nama
Kelas
Tanggal
1.

Công cụ Debug dùng để

a)

Chạy chương trình.

b)

Lưu chương trình.

c)

Mở chương trình.

d)

Gỡ lỗi.

2.

Đâu là mô tả đúng về lỗi ngữ nghĩa?

a)

lỗi câu lệnh viết không theo đúng quy định của ngôn ngữ lập trình.

b)

lỗi xảy ra khi chương trình đang chạy, một lệnh nào đó không thể thực hiện được. Lỗi này sẽ được thông báo ngay trên màn hình.

c)

lỗi mặc dù các câu lệnh viết đúng quy định của ngôn ngữ nhưng sai trong thao tác xử lí nào đó.

d)

Đáp án khác.

3.

Có mấy loại lỗi khi lập trình?

a)

1

b)

2

c)

3

d)

4

4.

Để kiểm thử những trường hợp thường gặp trong thực tế ta chọn bộ dữ liệu như thế nào?

a)

Có kích thước đủ nhỏ.

b)

Có kích thước lớn.

c)

Có kích thước lớn nhất có thể.

d)

Có kích thước bất kì.

5.

Hệ thống sẽ báo lỗi nào trong các lỗi sau?

a)

Lỗi cú pháp

b)

Lỗi ngoại lệ (Exceptions Error)

c)

Lỗi ngữ nghĩa

d)

Cả A và B

6.

Phát biểu nào sau đây là đúng về lỗi ngoại lệ?

a)

Là lỗi câu lệnh viết không theo đúng quy định của ngôn ngữ.

b)

Là lỗi xảy ra khi chương trình đang chạy, một lệnh nào đó không thể thực hiện.

c)

Là lỗi mặc dù các câu lệnh viết đúng quy định của ngôn ngữ nhưng sai trong thao tác xử lí nào đó.

d)

Tất cả các lỗi trên.

7.

Để kiểm thử chương trình có bao nhiêu nhóm dữ liệu khác nhau cần tạo ra

a)

1

b)

2

c)

3

d)

4

8.

Đâu là lỗi khi lập trình?

a)

Lỗi cú pháp

b)

Lỗi ngoại lệ (Exceptions Error)

c)

Lỗi ngữ nghĩa

d)

Tất cả các đáp án trên

9.

Bộ dữ liệu kiểm thử (test) có những tính chất gì?

a)

Tính chất phát hiện lỗi của chương trình.

b)

Cần có càng nhiều càng tốt.

c)

Cần được sinh ngẫu nhiên và phủ kín các trường hợp biên của dữ liệu đầu vào bài toán.

d)

Không cần có tính chất gì.

10.

Đâu là mô tả đúng về lỗi cú pháp?

a)

Lỗi câu lệnh viết không theo đúng quy định của ngôn ngữ lập trình.

b)

Lỗi xảy ra khi chương trình đang chạy, một lệnh nào đó không thể thực hiện được. Lỗi này sẽ được thông báo ngay trên màn hình.

c)

Lỗi mặc dù các câu lệnh viết đúng quy định của ngôn ngữ nhưng sai trong thao tác xử lí nào đó.

d)

Đáp án khác.

11.

Khẳng định nào sau đây là sai?

a)

Lỗi ngữ nghĩa là lỗi khó phát hiện nhất.

b)

Ngôn ngữ lập trình Python cung cấp công cụ Debug để gỡ lỗi .

c)

Lỗi ngoại lệ là lỗi xảy ra khi chương trình đang chạy, một lệnh nào đó không thể thực hiện. Lỗi này sẽ được hiển thị ngay trên màn hình.

d)

Truy vết để tìm lỗi là một quá trình vô cùng đơn giản, không tốn thời gian.

12.

Điểm dừng (break point) trong các phần mềm soạn thảo lập trình có ý nghĩa gì?

a)

Đó là vị trí chương trình chạy tới đó thì kết thúc.

b)

Đó là vị trí chương trình dừng lại để người lập trình quan sát phát hiện lỗi.

c)

Đó là vị trí chương trình mỗi khi chạy đến dòng lệnh đó sẽ kêu pip pip.

d)

Đó là vị trí chương trình tạm dừng, người lập trình sẽ quan sát các biến của chương trình và có thể điều khiển để chương trình tiếp tục chạy.

13.

Chọn khẳng định đúng nhất?

a)

Lỗi ngoại lệ (Exception Error) là lỗi phát sinh khi đang thực thi chương trình (Runtime error).

b)

Lỗi cú pháp (Syntax Error) cũng là một ngoại lệ.

c)

Lỗi ngoại lệ được Python dùng để loại bỏ một khối code khỏi chương trình.

d)

Tất cả các đáp án trên đều đúng.

14.

Để xem giá trị các biến sau khi thực hiện một câu lệnh ta dùng

a)

Lệnh intput().

b)

Các phép tính toán.

c)

Công cụ Debug.

d)

Thư viện PDB.

15.

Mục đích của kiểm thử chương trình là gì?

a)

Để tự động sửa lỗi chương trình.

b)

Để tìm ra lỗi của chương trình.

c)

Để tìm ra lỗi và tự động sửa lỗi chương trình.

d)

Để tìm ra lỗi và phòng ngừa, ngăn chặn các lỗi phát sinh trong tương lai.

16.

Lỗi nào khó phát hiện nhất?

a)

Lỗi cú pháp.

b)

Lỗi ngữ nghĩa.

c)

Lỗi ngoại lệ.

d)

Cả ba lỗi trên.

17.

Nếu chương trình chạy bị lỗi với thông báo lỗi là ZeroDivisionError thì đó là lỗi gì và em cần sửa lỗi như thế nào? Chọn phương án đúng nhất.

a)

Đây là lỗi không thể sửa được.

b)

Đây là lỗi chia cho 0, em cần xoá lệnh này khỏi chương trình.

c)

Đây là lỗi chia cho 0, em cần thay thế phép toán khác để không xảy ra lỗi này nữa.

d)

Đây là lỗi chia cho 0, em cần tìm hiểu nguyên nhân vì sao lại xuất hiện 0 khi chia, có thể bổ sung lệnh kiểm tra trước khi thực hiện phép chia.

18.

Cho đoạn chương trình sau a=int(input() print(a) Lỗi trong chương trình trên là lỗi

a)

Cú pháp.

b)

Ngữ nghĩa

c)

Ngoại lệ

d)

Tất cả các lỗi trên.

19.

Muốn truy vết để tìm lỗi ta nên

a)

Sử dụng công cụ gỡ lỗi của chương trình lập trình hoặc đưa thêm các câu lệnh xuất ra kết quả trung gian của quá trình tính toán.

b)

Sử dụng thêm câu lệnh nhập.

c)

Lưu lại chương trình.

d)

Gõ lại chương trình.

20.

Công cụ Debug dùng để

a)

Chạy chương trình

b)

Lưu chương trình.

c)

Mở chương trình.

d)

Gỡ lỗi.

21.

Thư viện PDB là thư viện dùng để

a)

Cung cấp các thủ tục vào ra của chương trình.

b)

Cung cấp hàng loạt các hàm dùng cho việc giao tiếp với hệ điều hành

c)

Hỗ trợ trực tiếp các định dạng nén và lưu trữ dữ liệu.

d)

Cung cấp các dịch vụ gỡ lỗi.

22.

Ng trường hợp thường gặp trong thực tế ta chọn bộ dữ liệu như thế nào?

a)

Có kích thước đủ nhỏ.

b)

Có kích thước lớn.

c)

Có kích thước lớn nhất có thể.

d)

Có kích thước bất kỳ.

23.

Điều gì sẽ xảy ra nếu bạn cố mở một file không tồn tại?

a)

Python tự động tạo một file mới dưới tên bạn đang gọi ra

b)

Không có gì xảy ra vì file không tồn tại

c)

Gây ra một lỗi ngoại lệ

d)

Không có đáp án nào đúng

24.

Hoàn thành phát biểu sau: "Có rất nhiều công cụ và phương pháp khác nhau để kiểm thử chương trình. Các công cụ có mục đích … của chương trình và …, … các lỗi phát sinh trong tương lai"

a)

Tìm ra lỗi, phòng ngừa, ngăn chặn.

b)

Tìm ra lỗi, phòng ngừa, xử lí.

c)

Phòng ngừa, ngăn chặn, xử lí lỗi.

d)

Xử lí lỗi, phòng ngừa, ngăn chặn.

25.

Đâu không là công cụ để kiểm thử chương trình?

a)

Công cụ in biến trung gian.

b)

Công cụ sinh các bộ dữ liệu test.

c)

Công cụ thống kê dữ liệu

d)

Công cụ điểm dừng trong phần mềm soạn thảo lập trình.

26.

Trong các phát biểu sau, phát biểu nào chưa chính xác về kiểm thử chương trình?

a)

Hiện nay, có ít phương pháp và công cụ khác nhau để kiểm thử chương trình.

b)

Chương trình cần được thử với một số bộ dữ liệu test gồm đầu vào tiêu biểu và kết quả đầu ra biết trước.

c)

Các bộ test phụ thuộc vào các tiêu chí khác nhau.

d)

Các bộ test dữ liệu nên có nhiều bộ test ngẫu nhiên,...

27.

Phát biểu nào sau đây đúng nhất khi nói về các bộ dữ liệu test khi kiểm thử chương trình?

a)

Các bộ test có thể có đầu vào theo các tiêu chí khác nhau.

b)

Các bộ test có đầu vào theo một số tiêu chí nhất định.

c)

Các bộ test có thể có đầu vào theo các tiêu chí khác nhau như độ lớn, tính đa dạng của dữ liệu.

d)

Các bộ test có đầu vào phải theo các tiêu chí về độ lớn, tính đa dạng của dữ liệu.

28.

Số phát biểu đúng trong các phát biểu sau: 1) Cần chú ý nên có nhiều bộ test khi test các bộ dữ liệu. 2) Việc sinh ngẫu nhiên dữ liệu đầu vào trong miền xác định của chương trình làm tăng khả năng tìm lỗi. 3) Thực tế cho thấy ít khi phát sinh lỗi tại các vùng biên hoặc lân cận biên. 4) Không thể sử dụng các lệnh print() để in ra các biến trung gian.

a)

2.

b)

3.

c)

1.

d)

4.

29.

Chương trình chạy phát sinh lỗi ngoại lệ ZeroDivision, nên xử lí như thế nào?

a)

Kiểm tra lại giá trị số chia.

b)

Kiểm tra lại chỉ số trong mảng.

c)

Kiểm tra giá trị của số bị chia.

d)

Kiểm tra kiểu dữ liệu nhập vào.

30.

Chương trình sau bị lỗi ở dòng lệnh thứ bao nhiêu ? >>> fruits = ['Banana', 'Apple', 'Lime'] >>> loud_fruits = [fruit.upper() for fruit in fruits] >>> print(loud_fruits) >>> list(enumerate(fruits))

a)

2.

b)

3.

c)

4.

d)

Không phát sinh lỗi

31.

Chương trình sau phát sinh lỗi gì? >>> 1 / 0 0.5 >>> 2 ** 3 8

a)

NameError.

b)

TypeError.

c)

ZeroDivisionError.

d)

Syntax Error.

32.

Chương trình chạy phát sinh lỗi ngoại lệ IndexError, nên xử lí như thế nào?

a)

Kiểm tra lại giá trị số chia.

b)

Kiểm tra lại chỉ số trong mảng.

c)

Kiểm tra giá trị của số bị chia.

d)

Kiểm tra kiểu dữ liệu nhập vào.

33.

Chương trình sau có lỗi ở dòng lệnh nào? n = int(input("Nhập số tự nhiên n: ")) s = "" for i in range(10): s = s + i

a)

1.

b)

2.

c)

3.

d)

4.

34.

Chương trình chạy phát sinh lỗi ngoại lệ TypeError, nên xử lí như thế nào?

a)

Kiểm tra lại chỉ số trong mảng.

b)

Kiểm tra lại giá trị số chia.

c)

Kiểm tra giá trị của số bị chia.

d)

Kiểm tra kiểu dữ liệu nhập vào.

35.

Chương trình sau mắc lỗi gì? def func(n) a, b = 0, 1 while a < n: print(a, end=' ') a, b = b, a+b print() print(func(1000))

a)

TypeError.

b)

ZeroDivisionError.

c)

Syntax Error.

d)

NameError.

36.

Để tính giá trị trung bình của một danh sách số A, người lập trình đã dùng lệnh gttb = sum(A) / len(A). Những mã lỗi ngoại lệ nào có thể xảy ra ?

a)

NameError.

b)

ZeroDivisionError.

c)

Không thể xảy ra lỗi

d)

Có thể xảy ra cả hai lỗi trên.

37.

Chương trình chạy phát sinh lỗi ngoại lệ NameError, nên xử lí như thế nào?

a)

Kiểm tra lại chỉ số trong mảng.

b)

Kiểm tra lại tên các biến và hàm.

c)

Kiểm tra giá trị của số bị chia.

d)

Kiểm tra kiểu dữ liệu nhập vào.

38.

Chương trình sau nên sửa như thế nào. Chọn phương án đúng nhất. fruits = ['Banana', 'Apple', 'Lime'] print(fruits[4])

a)

Thay đổi kiểu dữ liệu của từng phần tử trong mảng.

b)

Kiểm tra chỉ số của mảng khi thực hiện lệnh.

c)

Thay đổi tên mảng.

d)

Chương trình không có lỗi.

39.

Làm thế nào để kiểm tra (test) và gỡ lỗi (debug) một chương trình?

a)

Quan sát mã lỗi Runtime và bắt ngoại lệ.

b)

Sử dụng nhiều bộ test dữ liệu.

c)

In các thông số trung gian.

d)

Tất cả các phương pháp trên.

40.

Thế nào là lỗi ngoại lệ trong Python?

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.

41.

Khi gặp lỗi liên quan đến giá trị của đối tượng Python sẽ báo lỗi gì?

a)

ValueError.

b)

IndentationError.

c)

TypeError.

d)

ZeroDivisionError

42.

Nếu chương trình chạy bị lỗi với thông báo lỗi ZeroDivisionError thì đó là lỗi gì?

a)

Lỗi không thể sửa được.

b)

Đây lỗi chia hết cho 0.

c)

Lỗi dữ liệu.

d)

Lỗi giá trị của đối tượng.

43.

Phần mềm soạn thảo lập trình có thể tạo bao nhiêu điểm dừng?

a)

0.

b)

1.

c)

Không hạn chế.

d)

10.

44.

Giả sử đầu vào của dữ liệu bài toán là vùng {x ≥ 0]. Khi đó dữ liệu ở vùng biên là những dữ liệu nào?

a)

x = 0.

b)

x = 1000000.

c)

x ở gần 0.

d)

x ở gần 0 hoặc x rất lớn.

45.

Quá trình giải toán bằng lập trình trên máy tính có …bước:

a)

2

b)

3

c)

4

d)

5

46.

Bước xác định bài toán là:

a)

Lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để điễn đạt đúng thuật toán.

b)

Xác định những giá trị đã cho và mối quan hệ giữa chúng.

c)

Tìm thuật toán dựa trên bước xác định bài toán, dựa trên mối quan hệ giữa các đại lượng đã cho với những giá trị cần tìm, đồng thời xác định cách tổ chức dữ liệu có thể sử dụng tương ứng với thuật toán đó.

d)

Dùng các bộ dữ liệu khác nhau để kiểm thử và hiệu chỉnh chương trình.

47.

Các bước giải bài toán trên máy tính:

a)

Xác định bài toán → Tìm thuật toán của bài toán và cách tổ chức dữ liệu → Kiểm thử, chạy và hiệu chỉnh chương trình → Viết chương trình.

b)

Viết chương trình → Xác định bài toán → Tìm thuật toán của bài toán và cách tổ chức dữ liệu → Kiểm thử, chạy và hiệu chỉnh chương trình.

c)

Xác định bài toán → Kiểm thử, chạy và hiệu chỉnh chương trình → Viết chương trình → Tìm thuật toán của bài toán và cách tổ chức dữ liệu.

d)

Xác định bài toán → Tìm thuật toán của bài toán và cách tổ chức dữ liệu → Viết chương trình  → Kiểm thử, chạy và hiệu chỉnh chương trình.

48.

Bước viết chương trình là:

a)

Lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để điễn đạt đúng thuật toán.

b)

Xác định những giá trị đã cho và mối quan hệ giữa chúng.

c)

Tìm thuật toán dựa trên bước xác định bài toán, dựa trên mối quan hệ giữa các đại lượng đã cho với những giá trị cần tìm, đồng thời xác định cách tổ chức dữ liệu có thể sử dụng tương ứng với thuật toán đó.

d)

Dùng các bộ dữ liệu khác nhau để kiểm thử và hiệu chỉnh chương trình.

49.

Bước kiểm thử, chạy và hiệu chỉnh chương trình là:

a)

Lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để điễn đạt đúng thuật toán.

b)

Xác định những giá trị đã cho và mối quan hệ giữa chúng.

c)

Tìm thuật toán dựa trên bước xác định bài toán, dựa trên mối quan hệ giữa các đại lượng đã cho với những giá trị cần tìm, đồng thời xác định cách tổ chức dữ liệu có thể sử dụng tương ứng với thuật toán đó.

d)

Dùng các bộ dữ liệu khác nhau để kiểm thử và hiệu chỉnh chương trình.

50.

Bước tìm thuật toán của bài toán và cách tổ chức dữ liệu là:

a)

Lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để điễn đạt đúng thuật toán.

b)

Xác định những giá trị đã cho và mối quan hệ giữa chúng.

c)

Tìm thuật toán dựa trên bước xác định bài toán, dựa trên mối quan hệ giữa các đại lượng đã cho với những giá trị cần tìm, đồng thời xác định cách tổ chức dữ liệu có thể sử dụng tương ứng với thuật toán đó.

d)

Dùng các bộ dữ liệu khác nhau để kiểm thử và hiệu chỉnh chương trình.

51.

Có bao nhiêu chế độ dịch chương trình viết trên ngôn ngữ lập trình bậc cao sang ngôn ngữ máy:

a)

1

b)

2

c)

3

d)

4

52.

Khẳng định nào sau đây là đúng khi nói về chế độ thông dịch?

a)

Chương trình không còn lỗi cú pháp sẽ được dịch sang ngôn ngữ máy. Chương trình trên ngôn ngữ máy này sẽ được gọi ra ở mỗi lần cần thực hiện.

b)

Khi thực hiện chương trình, gặp đến câu lệnh nào thì câu lệnh đó sẽ được dịch sang ngôn ngữ máy để thực hiện. Trong quá trình thực hiện chương trình, nếu một câu lệnh được thực hiện bao nhiêu lần thì nó sẽ được dịch lại bấy nhiêu lần.

c)

Chương trình còn lỗi cú pháp sẽ được dịch sang ngôn ngữ máy.

d)

Khi thực hiện chương trình, các câu lệnh sẽ được dịch đồng thời sang ngôn ngữ máy để thực hiện.

53.

Bước quan trọng nhất để giải một bài toán trên máy tính là:

a)

Tìm thuật toán giải bài toán và cách tổ chức dữ liệu thiết kế thuật toán.

b)

Viết chương trình.

c)

Xác định bài toán.

d)

Kiểm thử chương trình.

54.

Mục đích của việc kiểm thử chương trình là:

a)

Xác định lại bài toán.

b)

Phát hiện và sửa lỗi.

c)

Mô tả chi tiết bài toán.

d)

Để tạo ra một chương trình mới

55.

Khẳng định nào sau đây là sai?

a)

 Chương trình viết bằng ngôn ngữ lập trình bậc cao sẽ được dịch sang ngôn ngữ máy để thực hiện.

b)

Có hai chương trình dịch là biên dịch và thông dịch.

c)

Quá trình giải toán bằng lập trình trên máy tính có 4 bước.

d)

Không cần viết chương trình ta vẫn có thể giải một toán trên máy tính.

56.

Cho bài toán: Giải phương trình ax2+bx+c=0. Ở bước xác định bài toán ta xác định được:

a)

Dữ liệu bài toán cho là 3 số a,b,c. Cần tìm giá trị x thoả mãn ax2+bx+c=0.

b)

Cần sử dụng ngôn ngữ Python để viết chương trình.

c)

Sử dụng bộ dữ liệu nhỏ để kiểm thử.

d)

Thuật toán để giải bài toán.

57.

Tiêu chí lựa chọn hoặc thiết kế thuật toán là gì?

a)

Hiệu quả về thời gian.

b)

Hiệu quả về không gian.

c)

Khả thi khi cài đặt.

d)

Tất cả đều đúng.

58.

Thuật toán tối ưu là:

a)

Sử dụng ít thời gian, ít bộ nhớ...

b)

Sử dụng ít thời gian, nhiều bộ nhớ, ít phép toán...

c)

Sử dụng nhiều thời gian, nhiều bộ nhớ, ít phép toán...

d)

Sử dụng nhiều thời gian, ít bộ nhớ, ít phép toán...

59.

Chọn phát biểu sai trong các phát biểu sau:

a)

Có thể phân biệt lỗi chương trình Python làm ba loại.

b)

Khi có lỗi sai cú pháp, chương trình lập tức dừng và thông báo lỗi.

c)

Lỗi ngoại lệ là lỗi không thể thực hiện một lệnh trong chương trình.

d)

Cách xử lí các loại lỗi giống nhau.

60.

Chương trình sau thông báo lỗi gì? for i in range(10) print(i)

a)

Type Error.

b)

NameError.

c)

SyntaxError.

d)

ValueError.

61.

Đâu là chế độ dịch chương trình viết trên ngôn ngữ lập trình bậc cao sang ngôn ngữ máy?

a)

Biên dịch

b)

Thông dịch

c)

Cả A và B đều đúng

d)

Cả A và B đều sai

62.

Dòng lệnh sau bị lỗi gì? >> >A = [1, 2] >>>A[0.5]

a)

Lỗi lôgic.

b)

Lỗi ngoại lệ.

c)

Lỗi cú pháp.

d)

Không có lỗi.