Search Header Logo
10_Lesson_lỗi và gõ lỗi

10_Lesson_lỗi và gõ lỗi

Assessment

Presentation

Computers

1st Grade

Practice Problem

Medium

Created by

Phong Thanh

Used 5+ times

FREE Resource

13 Slides • 39 Questions

1

1. Nhận biết lỗi chương trình

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

- Lỗi khi có lệnh viết sai cú pháp hoặc sai cấu trúc quy định, chương trình sẽ lập tức dừng và thông báo lỗi Syntax Error.

Nhận biết lỗi chương trình

media

2

1. Nhận biết lỗi chương trình
- Lỗi khi không thể thực hiện một lệnh trong chương trình, chương trình dừng lại và thông báo mã lỗi gọi là lỗi ngoại lệ (Exceptions Error).

Nhận biết lỗi chương trình

media

3

1. Nhận biết lỗi chương trình
- Chương trình chạy không lỗi ngoại lệ nhưng kết quả đưa ra sai, không chính xác là lỗi lôgic bên trong chương trình.

Nhận biết lỗi chương trình

4

Multiple Choice

Phương án nào sau đây nêu đúng số lỗi thường gặp khi viết chương trình Python?

1

2

2

3

3

4

4

5

5

Multiple Choice

Question image

Loại lỗi nào sau đây xảy ra khi thực hiện chương trình?

1

NameError.

2

SyntaxError.

3

TypeError.

4

ValueError.

6

2. Một số lỗi ngoại lệ thường gặp

Nhận biết lỗi chương trình

media

7

Multiple Choice

Lỗi xảy ra khi lệnh thực hiện phép chia cho 0 là

1

NameError.

2

IndexError.

3

ZeroDivisionError.

4

IndentationError.

8

Multiple Choice

Mã lỗi ngoại lệ của lệnh float("Tin học 10")

1

ValueError.

2

TypeError.

3

SyntaxError.

4

NameError.

9

Multiple Choice

Câu lệnh KHÔNG thể thực hiện trong quá trình chạy chương trình là biểu hiện của dạng lỗi nào sau đây?

1

Lỗi câu lệnh.

2

Lỗi ngoại lệ.

3

Lỗi ngữ nghĩa.

4

Lỗi dữ liệu.

10

Multiple Choice

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

1

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

2

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.

3

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

4

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

11

Multiple Choice

Số phát biểu đúng trong cac phát biểu sau là:

1) Chương trình chạy khi lỗi lôgic xảy ra

2) Khi có lỗi sai cấu trúc ngôn ngữ, chương trình vẫn chạy.

3) Khi có lỗi ngoại lệ, chương trình dừng và thông báo lỗi.

4) Mã lỗi ngoại lệ trả lại gọi là mã lỗi ngoại lệ.

1

1

2

2

3

3

4

4

12

Multiple Choice

Điền vào “…” hoàn thành phát biểu sau: “Chương trình chạy không lỗi ngoại lệ nhưng kết quả đưa ra …. Đây là lỗi … bên trong chương trình.”

1

sai, lôgic.

2

đúng, Syntax Error.

3

đúng, lôgic.

4

sai, ngoại lệ.

13

Multiple Choice

Chương trình sau thông báo lỗi gì?

for i in range(10) print(i)

1

Type Error.

2

NameError.

3

ValueError.

4

SyntaxError.

14

Multiple Choice

Question image

Chương trình sau thông báo lỗi gì?

1

Type Error.

2

NameError.

3

SyntaxError.

4

ValueError.

15

Multiple Choice

Question image

Chương trình sau thông báo lỗi gì?

1

Type Error.

2

NameError.

3

SyntaxError.

4

ValueError.

16

Multiple Choice

Question image

Chương trình sau thông báo lỗi gì?

1

IndexError.

2

NameError.

3

SyntaxError.

4

ValueError.

17

Multiple Choice

Question image

Chương trình sau thông báo lỗi gì?

1

NameError.

2

SyntaxError.

3

ValueError.

4

IndexError.

18

Multiple Choice

Mã lỗi ngoại lệ của lệnh sau là float(“2 + 3”)

1

IndexError.

2

TypeError.

3

ValueError.

4

SyntaxError.

19

Multiple Choice

Mã lỗi nào được đưa ra khi lệnh thực hiện phép chia cho giá trị 0

1

ZeroDivisionError.

2

TypeError.

3

ValueError.

4

SyntaxError.

20

Multiple Choice

Khi dòng lệnh thụt vào không thẳng hàng chương trình đưa ra mã lỗi ngoại lệ nào?

1

ZeroDivisionError.

2

TypeError.

3

IndentationError.

4

SyntaxError.

21

Multiple Choice

Mã lỗi ngoại lệ của lệnh sau là

s = “12” + 12

1

ZeroDivisionError.

2

TypeError.

3

IndentationError.

4

SyntaxError.

22

Multiple Choice

Mã lỗi nào được đưa ra khi lệnh gọi một hàm nhưng không có hàm đó

1

ZeroDivisionError.

2

TypeError.

3

IndentationError.

4

NameError.

23

Multiple Choice

Dòng lệnh sau bị lỗi gì?

>> >A = [1, 2]

>>>A[0.5]

1

Lỗi lôgic.

2

Lỗi ngoại lệ.

3

Lỗi cú pháp.

4

Không có lỗi.

24

3. Một vài phương pháp kiểm thử chương trình

Nhận biết lỗi chương trình

media

25

3. Một vài phương pháp kiểm thử chương trình

Nhận biết lỗi chương trình

media

26

Multiple Choice

Phương án nào sau đây không phải là một phương pháp kiểm thử chương trình?

1

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

2

Sử dụng công cụ break point.

3

Quan sát mã lỗi Runtime.

4

Kiểm thử với lỗi ngoại lệ.

27

Multiple Choice

Kiểm thử chương trình với các bộ dữ liệu test cần

1

bộ test dữ liệu vùng biên.

2

in các thông số.

3

ít bộ test, có thể ngẫu nhiên.

4

bắt lỗi ngoại lệ.

28

Multiple Choice

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”

1

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

2

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

3

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

4

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

29

Multiple Choice

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

1

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

2

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

3

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

4

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

30

Multiple Choice

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?

1

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

2

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.

3

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

4

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

31

Multiple Choice

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?

1

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

2

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

3

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.

4

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.

32

Multiple Choice

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

1

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

2

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

3

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

4

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

33

Multiple Choice

Question image

Chương trình sau bị lỗi ở dòng lệnh thứ bao nhiêu ?

1

2

2

3

3

4

4

không lỗi

34

Multiple Choice

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

1

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

2

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

3

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

4

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

35

Multiple Choice

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

1

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

2

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

3

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

4

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

36

Multiple Choice

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

1

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

2

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

3

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

4

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

37

Multiple Choice

Chương trình sau nên sửa như thế nào.

fruits = ['Banana', 'Apple', 'Lime']

print(fruits[4])

1

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

2

Thay đổi tên mảng.

3

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

4

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

38

Nhận biết lỗi chương trình

Ví dụ minh họa

Nhập từ bàn phím hai số tự nhiên m, n. Tính ƯCLN của hai số này.

Gọi gcd(m, n) là ƯCLN của hai số tự nhiên m, n. Thuật toán của bài toán này dựa trên thuật toán sau:

(1) gcd(m, m) = m.

(2) Nếu n > m thì gcd(m, n) = gcd(m, n-m).

(3) Nếu n < m thì gcd(m, n) = gcd(m-n, n).
Phần cơ bản của chương trình sẽ là vòng lặp while, vòng lặp sẽ kết thúc khi m = n. Chương trình như sau:

39

Nhận biết lỗi chương trình

Ví dụ minh họa

Nhập từ bàn phím hai số tự nhiên m, n. Tính ƯCLN của hai số này.

media

40

Nhận biết lỗi chương trình

Ví dụ minh họa

media

41

Nhận biết lỗi chương trình

In ra các giá trị trung gian để kiểm soát chương trình.

Bổ sung biến k và hai lệnh print() vào chương trình như mô tả sau:

media
media

42

Nhận biết lỗi chương trình

Truy vết với công cụ gỡ lỗi của ngôn ngữ lập trình

Để người lập trình không cần phải can thiệp vào chương trình như cách đã nêu ở mục 2 mà vẫn truy vết tìm được lỗi, ngôn ngữ Python cung cấp công cụ Debug (gỡ lỗi).

Các thao tác kích hoạt chế độ gỡ lỗi:

  • Trên cửa sổ Shell, mở file chương trình cần gỡ lỗi, kết quả là chương trình này xuất hiện (trong cửa sổ Code).

  • Chọn Debug trên cửa sổ Shell và sau đó chọn Debugger. Kết quả là cửa sổ Debug Control sẽ xuất hiện.

43

Nhận biết lỗi chương trình

media
media

44

Nhận biết lỗi chương trình

Việc bắt đầu thực hiện chương trình vẫn được tiến hành như bình thường bằng cách chọn Run Module (hoặc ấn F5) trong cửa sổ Code.

Công cụ Debug của Python cho phép đặt các điểm dừng (Breakpoint) để tránh các đoạn chương trình không cần truy vết.

Python còn trang bị một thư viện riêng cung cấp các dịch vụ gỡ lỗi, đó là thư viện PDB.

45

Multiple Choice

Question image

Dòng lệnh nào sau đây in ra kết quả trung gian của chương trình?

1

4

2

3

3

6

4

1

46

Multiple Choice

Phương án nào sau đây là công cụ gỡ lỗi của Python?

1

PDB.

2

Run Module.

3

Debugger.

4

Debug.

47

Multiple Choice

Phương án nào sau đây nêu đúng lợi ích của công cụ gỡ lỗi?

1

Có thể đặt câu lệnh kiểm tra ở bất kỳ vị trí nào trong chương trình.

2

Tìm lỗi nhanh chóng nhờ thêm câu lệnh trực tiếp vào chương trình.

3

Không cần can thiệp vào chương trình mà vẫn truy vết tìm được lỗi.

4

Kiểm tra được nhiều dữ liệu vào, sau mỗi lần kiểm tra cần thao tác lại từ đầu.

48

Multiple Choice

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

1

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

2

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

3

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.

4

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.

49

Multiple Choice

Công cụ Debug dùng để:

1

Chạy chương trình.

2

Lưu chương trình.

3

Mở chương trình.

4

Gỡ lỗi.

50

Multiple Choice

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

1

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

2

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

3

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

4

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

51

Multiple Choice

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

1

Lỗi ngữ nghĩa là lỗi dễ phát hiện.

2

Lỗi ngoại lệ hay còn gọi là lỗi Runtime.

3

Việc đọc kĩ chương trình để tìm lỗi chỉ thích hợp với các chương trình ngắn, đơn giản.

4

Môi trường lập trình bậc cao nói chung và Python nói riêng có công cụ hỗ trợ cho người dùng tìm lỗi.

52

Multiple Choice

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

1

Lệnh intput().

2

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

3

Công cụ Debug.

4

Thư viện PDB.

1. Nhận biết lỗi chương trình

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

- Lỗi khi có lệnh viết sai cú pháp hoặc sai cấu trúc quy định, chương trình sẽ lập tức dừng và thông báo lỗi Syntax Error.

Nhận biết lỗi chương trình

media

Show answer

Auto Play

Slide 1 / 52

SLIDE