

10_Lesson_lỗi và gõ lỗi
Presentation
•
Computers
•
1st Grade
•
Practice Problem
•
Medium
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
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
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?
2
3
4
5
5
Multiple Choice
Loại lỗi nào sau đây xảy ra khi thực hiện chương trình?
NameError.
SyntaxError.
TypeError.
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
7
Multiple Choice
Lỗi xảy ra khi lệnh thực hiện phép chia cho 0 là
NameError.
IndexError.
ZeroDivisionError.
IndentationError.
8
Multiple Choice
Mã lỗi ngoại lệ của lệnh float("Tin học 10") là
ValueError.
TypeError.
SyntaxError.
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?
Lỗi câu lệnh.
Lỗi ngoại lệ.
Lỗi ngữ nghĩa.
Lỗi dữ liệu.
10
Multiple Choice
Chọn phát biểu sai trong các phát biểu sau:
Có thể phân biệt lỗi chương trình Python làm ba loại.
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.
Lỗi ngoại lệ là lỗi không thể thực hiện một lệnh trong chương trình.
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
2
3
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.”
sai, lôgic.
đúng, Syntax Error.
đúng, lôgic.
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)
Type Error.
NameError.
ValueError.
SyntaxError.
14
Multiple Choice
Chương trình sau thông báo lỗi gì?
Type Error.
NameError.
SyntaxError.
ValueError.
15
Multiple Choice
Chương trình sau thông báo lỗi gì?
Type Error.
NameError.
SyntaxError.
ValueError.
16
Multiple Choice
Chương trình sau thông báo lỗi gì?
IndexError.
NameError.
SyntaxError.
ValueError.
17
Multiple Choice
Chương trình sau thông báo lỗi gì?
NameError.
SyntaxError.
ValueError.
IndexError.
18
Multiple Choice
Mã lỗi ngoại lệ của lệnh sau là float(“2 + 3”)
IndexError.
TypeError.
ValueError.
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
ZeroDivisionError.
TypeError.
ValueError.
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?
ZeroDivisionError.
TypeError.
IndentationError.
SyntaxError.
21
Multiple Choice
Mã lỗi ngoại lệ của lệnh sau là
s = “12” + 12
ZeroDivisionError.
TypeError.
IndentationError.
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 đó
ZeroDivisionError.
TypeError.
IndentationError.
NameError.
23
Multiple Choice
Dòng lệnh sau bị lỗi gì?
>> >A = [1, 2]
>>>A[0.5]
Lỗi lôgic.
Lỗi ngoại lệ.
Lỗi cú pháp.
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
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
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?
In các thông số trung gian.
Sử dụng công cụ break point.
Quan sát mã lỗi Runtime.
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
bộ test dữ liệu vùng biên.
in các thông số.
ít bộ test, có thể ngẫu nhiên.
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”
Tìm ra lỗi, phòng ngừa, ngăn chặn.
Tìm ra lỗi, phòng ngừa, xử lí.
Phòng ngừa, ngăn chặn, xử lí lỗi.
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?
Công cụ in biến trung gian.
Công cụ sinh các bộ dữ liệu test.
Công cụ thống kê dữ liệu
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?
Hiện nay, có ít phương pháp và công cụ khác nhau để kiểm thử chương trình.
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 bộ test phụ thuộc vào các tiêu chí khác nhau.
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?
Các bộ test có thể có đầu vào theo các tiêu chí khác nhau.
Các bộ test có đầu vào theo một số tiêu chí nhất định.
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.
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?
Kiểm tra lại giá trị số chia.
Kiểm tra lại chỉ số trong mảng.
Kiểm tra giá trị của số bị chia.
Kiểm tra kiểu dữ liệu nhập vào.
33
Multiple Choice
Chương trình sau bị lỗi ở dòng lệnh thứ bao nhiêu ?
2
3
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?
Kiểm tra lại chỉ số trong mảng.
Kiểm tra lại giá trị số chia.
Kiểm tra giá trị của số bị chia.
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?
Kiểm tra lại giá trị số chia.
Kiểm tra lại chỉ số trong mảng.
Kiểm tra giá trị của số bị chia.
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?
Kiểm tra lại chỉ số trong mảng.
Kiểm tra lại tên các biến và hàm.
Kiểm tra giá trị của số bị chia.
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])
Chương trình không có lỗi.
Thay đổi tên mảng.
Kiểm tra chỉ số của mảng khi thực hiện lệnh.
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.
40
Nhận biết lỗi chương trình
Ví dụ minh họa
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:
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
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
Dòng lệnh nào sau đây in ra kết quả trung gian của chương trình?
4
3
6
1
46
Multiple Choice
Phương án nào sau đây là công cụ gỡ lỗi của Python?
PDB.
Run Module.
Debugger.
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?
Có thể đặt câu lệnh kiểm tra ở bất kỳ vị trí nào trong chương trình.
Tìm lỗi nhanh chóng nhờ thêm câu lệnh trực tiếp vào chương trình.
Không cần can thiệp vào chương trình mà vẫn truy vết tìm được lỗi.
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?
Ngôn ngữ lập trình Python cung cấp công cụ Debug để gỡ lỗi .
Lỗi ngữ nghĩa là lỗi khó phát hiện nhất.
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.
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 để:
Chạy chương trình.
Lưu chương trình.
Mở chương trình.
Gỡ lỗi.
50
Multiple Choice
Thư viện PDB là thư viện dùng để:
Cung cấp các thủ tục vào ra của chương trình.
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
Hỗ trợ trực tiếp các định dạng nén và lưu trữ dữ liệu.
Cung cấp các dịch vụ gỡ lỗi.
51
Multiple Choice
Khẳng định nào sau đây là sai?
Lỗi ngữ nghĩa là lỗi dễ phát hiện.
Lỗi ngoại lệ hay còn gọi là lỗi Runtime.
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.
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:
Lệnh intput().
Các phép tính toán.
Công cụ Debug.
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
Show answer
Auto Play
Slide 1 / 52
SLIDE
Similar Resources on Wayground
48 questions
12_Lesson 25.kntt
Presentation
•
1st Grade
44 questions
12_Lesson 24.kntt
Presentation
•
1st Grade
50 questions
12_lesson14.kntt
Presentation
•
1st Grade
47 questions
IterationReview
Presentation
•
KG - 2nd Grade
40 questions
ÔN TẬP KIỂM TRA HKI-10A8+10A10
Presentation
•
2nd Grade
50 questions
ILO PRODUCT TRAINING
Presentation
•
KG
43 questions
BÀI TẬP SÓNG CÓ SỰ TRUYỀN SÓNG CƠ
Presentation
•
1st Grade
43 questions
Tin6-CDA-Bai4-biểu diễn VB,HA,AT trong MT
Presentation
•
2nd Grade
Popular Resources on Wayground
20 questions
STAAR Review Quiz #3
Quiz
•
8th Grade
20 questions
Equivalent Fractions
Quiz
•
3rd Grade
6 questions
Marshmallow Farm Quiz
Quiz
•
2nd - 5th Grade
20 questions
Main Idea and Details
Quiz
•
5th Grade
20 questions
Context Clues
Quiz
•
6th Grade
20 questions
Inferences
Quiz
•
4th Grade
19 questions
Classifying Quadrilaterals
Quiz
•
3rd Grade
12 questions
What makes Nebraska's government unique?
Quiz
•
4th - 5th Grade
Discover more resources for Computers
20 questions
Telling Time to the Hour and Half hour
Quiz
•
1st Grade
16 questions
Counting Coins counting money
Quiz
•
1st - 2nd Grade
20 questions
Halves and Fourths
Quiz
•
1st Grade
10 questions
CA4 Math Review
Presentation
•
1st - 5th Grade
15 questions
Reading Comprehension
Quiz
•
1st - 5th Grade
31 questions
Easter Trivia
Quiz
•
KG - 12th Grade
20 questions
Addition and Subtraction facts
Quiz
•
1st - 3rd Grade
16 questions
3D shapes (1st grade)
Quiz
•
1st Grade