Đây là bản xem th , vu ử i lòng mua tài li u ệ đ xe ể m chi ti t ế (có l i ờ gi i ả ) Bài 16. Ki m ể th và g ử l ỡ i ỗ chư ng t ơ rình 1. L i ỗ trong chư ng ơ trình và ki m ể thử Quá trình xác đ nh ị l i ỗ và s a ử l i ỗ đư c ợ g i ọ là g ỡ l i ỗ . Các l i ỗ thư ng ờ g p ặ như sau: - L i ỗ cú pháp là l i ỗ câu l nh ệ vi t
ế không theo đúng quy đ nh ị c a ủ ngôn ng , ữ l i ỗ thông báo c t ụ h , r ể õ ràng v đ ề c t ặ r ng l ư ỗi và n i ơ x y r ả a l i ỗ . Ví d : ụ Thi u ế ho c ặ th a ừ d u ấ ngo c ặ trong bi u ể th c, ứ tên bi n ế sau quy cách, … - Lỗi ngo i ạ lệ là l i ỗ Runtime, x y ả ra khi chư ng ơ trình đang ch y ạ , m t ộ l nh ệ nào đó không th c hi ự ện đư c, ợ lỗi s t
ẽ hông báo trên màn hình. - L i ỗ ngữ nghĩa là l i ỗ logic, dù vi t ế đúng quy đ nh ị c a ủ ngôn ngữ nh ng ư sai
trong thao tác xử lí nào đó. Vi t ế nh m ầ d u ấ phép tính, nh m ầ tên bi n, ế … là l i ỗ khó phát hiện nhất. Ví d : ụ Xét chư ng
ơ trình ở Hình 16.1a, chư ng ơ trình này th c ự hi n ệ yêu cầu nh p
ậ hai số nguyên p, q và danh sách a g m
ồ các số nguyên, sau đó đ a
ư ra max{|ai|, i = p, p + 1, …, q}. Bi t ế r ng các ằ ph n t ầ c ử a ủ danh sách a đư c ợ đánh ch s ỉ ố b t ắ đ u t ầ 0 và ừ 0 ≤ p ≤ q < len(a). Hình 1a: Chư ng ơ trình c n ki ầ m ể th và t ử ìm l i ỗ M i
ọ thắc mắc vui lòng xin vui lòng: 084 283 45 85
Đây là bản xem th , vu ử i lòng mua tài li u ệ đ xe ể m chi ti t (c ế ó l i ờ gi i ả ) Để ki m ể tra tính đúng đ n ắ c a ủ chư ng ơ trình so v i ớ yêu c u ầ đ ề bài, chu n ẩ bị các b d ộ l ữ i u vào. ệ Dữ li u ệ ki m ể thử ph i ả phù h p ợ v i ớ các ràng bu c
ộ đã cho và chia thành ba nhóm: - Ki m ể th nh ử ng t ữ rư ng h ờ p t ợ hư ng ờ g p t ặ rong th c t ự . ế - Ki m ể th nh ử ng t ữ rư ng h ờ p đ ợ ặc bi t ệ . - Ki m ể th nh ử ng t ữ rư ng h ờ p các ợ tham s nh ố n ậ giá tr l ị n nh ớ t ấ có th . ể 2. Truy v t ế và cách b s ổ ung câu l nh t ệ heo dõi k t ế qu t ả rung gian - Bổ sung vào chư ng ơ trình nh ng ữ câu l nh ệ đ a ư ra các k t ế quả trung gian nh m ằ truy v t ế các x l ử í c a ch ủ ư ng ơ trình. - Sau khi ch nh ỉ s a ử xong, c n ầ xóa đi các câu l nh ệ đã thêm để truy v t ế ho c ặ bi n chúng ế
thành dòng thông tin chú thích. - Sai sót có thể x y ả ra ngay khi nh p ậ dữ li u
ệ vào, đây cũng là chỗ c n ầ quan tâm khi tìm l i ỗ . - Câu l nh đ ệ đ ể a ư ra các ph n t ầ t ử ham gia tìm ki m ế max nh s ư au:
print (“i = “, I, “max= “ , max) Câu l nh ệ này có th ể đ t ặ trư c ớ hay sau câu l nh ệ đ a ư ra k t ế qu ả c a ủ chư ng ơ trình. 3. Truy v t ế v i ớ công c g ụ l ỡ i ỗ ngôn ng l ữ p t ậ rình Để kích ho t ạ ch đ ế ộ g l ỡ ỗi, c n t ầ h c ự hi n l ệ n l ầ ư t ợ thao tác sau: - 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 c ở a ử sổ Code. M i ọ thắc m c
ắ vui lòng xin vui lòng: 084 283 45 85
Đây là bản xem th , vu ử i lòng mua tài li u ệ đ xe ể m chi ti t ế (có l i ờ gi i ả ) - Ch n ọ Debug trên c a ử sổ Shell và ch n
ọ Debugger (Hình 3). K t ế quả là c a ử sổ Debug Control s xu ẽ t ấ hi n ( ệ Hình 4). - B t ắ đ u ầ th c ự hi n ệ chư ng ơ trình ti n ế hành bình thư ng ờ ch n ọ Run Module
(hoặc nhấn phím F5) trong c a ử s C ổ ode. - Ch n ọ Step để th c ự hi n ệ câu l nh ệ hi n ể thị phía dư i ớ , l nh ệ vào – ra dữ li u ệ nháy chu t ộ m t ộ số lần. Hình 5: S t ự hay đổi c a ủ bi n khi ế m t ộ câu l nh đ ệ ư c ợ th c hi ự n ệ 4. Thực hành g l ỡ i ỗ chư ng ơ trình
Bài toán: Cho a là danh sách các số nguyên. Em hãy t o ạ danh sách b có các
phần tử ở vị trí lẻ b ng ằ ph n ầ t ử ở vị trí tư ng ơ đư ng ơ c a ủ a, các ph n ầ t ử ở vị trí ch n ẵ b ng ph ằ n t ầ ử v ở t ị rí tư ng ơ ng c ứ a ủ a c ng t ộ hêm 1, t c l ứ à: a 1,i 0 , 2, 4,... i bi a , i 1 ,3,5,... i M i
ọ thắc mắc vui lòng xin vui lòng: 084 283 45 85
Đây là bản xem th , vu ử i lòng mua tài li u ệ đ xe ể m chi ti t (c ế ó l i ờ gi i ả ) So sánh số lư ng ợ các ph n ầ t ử giá tr ịch n ẵ ở a v i ớ s ố lư ng ợ các ph n ầ t ử giá trị ch n ẵ b, đ a ư ra thông báo. G i ọ p là s ố lư ng ợ các ph n ầ t ử giá tr ịch n ẵ ở a, q là số lư ng ợ các ph n ầ tử giá tr ịch n ẵ ở b và đ a ư ra thông báo “a ít h n ơ n u ế p < q, “b ít h n” ơ n u p > q và “B ế ng nhau” t ằ rong trư ng ờ h p còn l ợ i ạ . Nhi m ệ v : ụ Chư ng ơ trình ở Hình 6 gi i ả bài toán đã nêu nh ng ư còn có l i ỗ và cần đư c ợ gỡ l i ỗ . Em hãy áp d ng ụ các phư ng ơ pháp truy v t ế để xác đ nh ị l i ỗ và đề xuất cách s a ử m t ộ số ít nh t ấ các câu l nh đ ệ có ch ể ư ng ơ trình đúng. Hư ng d ớ ẫn: - Phư ng
ơ pháp dùng công c g ụ l ỡ ỗi (Debug) Để gỡ l i ỗ c n ầ chu n ẩ bị m t
ộ danh sách số nguyên, ví d : ụ [5, 3, 2, 2, 1, 2]. Ch n
ọ Debugger sau đó ch n ọ Step để th c ự hi n ệ t ng ừ bư c ớ các câu l nh, ệ quan
sát giá trị hai danh sách a và b, Sau m t ộ vài l n ầ th c ự hi n ệ câu l nh ệ trong vòng l p: ặ
for i in range (0, n, 2) : b[i] = b[i] + 1 Ta th y ấ a và b đ ng ồ th i ờ thay đ i ổ giá tr ,ị m c ặ dù trong vòng l p ặ chỉ ch a ứ câu l nh ệ thay đ i ổ giá tr ịc a ủ danh sách b. Ví d , ụ sau khi i=2 ta có k t ế qu ả như Hình 7. M i ọ thắc m c
ắ vui lòng xin vui lòng: 084 283 45 85
Lý thuyết Tin học 10 Cánh diều Bài 16: Kiểm thử và gỡ lỗi chương trình
330
165 lượt tải
MUA NGAY ĐỂ XEM TOÀN BỘ TÀI LIỆU
CÁCH MUA:
- B1: Gửi phí vào TK:
0711000255837
- NGUYEN THANH TUYEN - Ngân hàng Vietcombank (QR) - B2: Nhắn tin tới Zalo VietJack Official ( nhấn vào đây ) để xác nhận thanh toán và tải tài liệu - giáo án
Liên hệ ngay Hotline hỗ trợ: 084 283 45 85
Tài liệu được cập nhật liên tục trong gói này từ nay đến hết tháng 6/2023. Chúng tôi đảm bảo đủ số lượng đề đã cam kết hoặc có thể nhiều hơn, tất cả có BẢN WORD, LỜI GIẢI CHI TIẾT và tải về dễ dàng.
Để tải tài liệu gốc về máy bạn click vào nút Tải Xuống ở trên!
Thuộc bộ (mua theo bộ để tiết kiệm hơn):
- Tailieugiaovien.com.vn giới thiệu Lý thuyết Tin học 10 Cánh diều mới nhất năm 2023 nhằm giúp Giáo viên có thêm tài liệu tham khảo Lý thuyết môn Tin học lớp 10.
- File word có lời giải chi tiết 100%.
- Mua trọn bộ sẽ tiết kiệm hơn tải lẻ 50%.
Đánh giá
4.6 / 5(330 )5
4
3
2
1
Trọng Bình
Tài liệu hay
Giúp ích cho tôi rất nhiều
Duy Trần
Tài liệu chuẩn
Rất thích tài liệu bên VJ soạn (bám sát chương trình dạy)
TÀI LIỆU BỘ BÁN CHẠY MÔN Tin Học
Xem thêmTÀI LIỆU BỘ BÁN CHẠY Lớp 10
Xem thêmTài liệu bộ mới nhất
Đây là b n xem th , vui lòng mua tài li u đ xem chi ti t (có l i gi i)ả ử ệ ể ế ờ ả
Bài 16. Ki m th và g l i ch ng trìnhể ử ỡ ỗ ươ
1. L i trong ch ng trình và ki m thỗ ươ ể ử
Quá trình xác đ nh l i và s a l i đ c g i là g l i. Các l i th ng g p nhị ỗ ử ỗ ượ ọ ỡ ỗ ỗ ườ ặ ư
sau:
- L i cú pháp là l i câu l nh vi t không theo đúng quy đ nh c a ngôn ng , l iỗ ỗ ệ ế ị ủ ữ ỗ
thông báo c th , rõ ràng v đ c tr ng l i và n i x y ra l i.ụ ể ề ặ ư ỗ ơ ả ỗ
Ví d : ụ Thi u ho c th a d u ngo c trong bi u th c, tên bi n sau quyế ặ ừ ấ ặ ể ứ ế
cách, …
- L i ngo i l là l i Runtime, x y ra khi ch ng trình đang ch y, m t l nhỗ ạ ệ ỗ ả ươ ạ ộ ệ
nào đó không th c hi n đ c, l i s thông báo trên màn hình.ự ệ ượ ỗ ẽ
- L i ng nghĩa là l i logic, dù vi t đúng quy đ nh c a ngôn ng nh ng saiỗ ữ ỗ ế ị ủ ữ ư
trong thao tác x lí nào đó. Vi t nh m d u phép tính, nh m tên bi n, … là l iử ế ầ ấ ầ ế ỗ
khó phát hi n nh t.ệ ấ
Ví d : ụ Xét ch ng trình Hình 16.1a, ch ng trình này th c hi n yêuươ ở ươ ự ệ
c u nh p hai s nguyên p, q và danh sách a g m các s nguyên, sau đóầ ậ ố ồ ố
đ a ra max{|aư
i
|, i = p, p + 1, …, q}. Bi t r ng các ph n t c a danh sách aế ằ ầ ử ủ
đ c đánh ch s b t đ u t 0 và 0 ượ ỉ ố ắ ầ ừ ≤ p ≤ q < len(a).
Hình 1a: Ch ng trình c n ki m th và tìm l iươ ầ ể ử ỗ
M i th c m c vui lòng xin vui lòng: 084 283 45 85ọ ắ ắ
Đây là b n xem th , vui lòng mua tài li u đ xem chi ti t (có l i gi i)ả ử ệ ể ế ờ ả
Đ ki m tra tính đúng đ n c a ch ng trình so v i yêu c u đ bài, chu n bể ể ắ ủ ươ ớ ầ ề ẩ ị
các b d li u vào. ộ ữ ệ
D li u ki m th ph i phù h p v i các ràng bu c đã cho và chia thành baữ ệ ể ử ả ợ ớ ộ
nhóm:
- Ki m th nh ng tr ng h p th ng g p trong th c t .ể ử ữ ườ ợ ườ ặ ự ế
- Ki m th nh ng tr ng h p đ c bi t.ể ử ữ ườ ợ ặ ệ
- Ki m th nh ng tr ng h p các tham s nh n giá tr l n nh t có th .ể ử ữ ườ ợ ố ậ ị ớ ấ ể
2. Truy v t và cách b sung câu l nh theo dõi k t qu trung gianế ổ ệ ế ả
- B sung vào ch ng trình nh ng câu l nh đ a ra các k t qu trung gianổ ươ ữ ệ ư ế ả
nh m truy v t các x lí c a ch ng trình.ằ ế ử ủ ươ
- Sau khi ch nh s a xong, c n xóa đi các câu l nh đã thêm đ truy v t ho cỉ ử ầ ệ ể ế ặ
bi n chúng thành dòng thông tin chú thích.ế
- Sai sót có th x y ra ngay khi nh p d li u vào, đây cũng là ch c n quanể ả ậ ữ ệ ỗ ầ
tâm khi tìm l i.ỗ
- Câu l nh đ đ a ra các ph n t tham gia tìm ki m max nh sau:ệ ể ư ầ ử ế ư
print (“i = “, I, “max= “ , max)
Câu l nh này có th đ t tr c hay sau câu l nh đ a ra k t qu c a ch ngệ ể ặ ướ ệ ư ế ả ủ ươ
trình.
3. Truy v t v i công c g l i ngôn ng l p trìnhế ớ ụ ỡ ỗ ữ ậ
Đ kích ho t ch đ g l i, c n th c hi n l n l t thao tác sau:ể ạ ế ộ ỡ ỗ ầ ự ệ ầ ượ
- 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 c a s Code.ấ ệ ở ử ổ
M i th c m c vui lòng xin vui lòng: 084 283 45 85ọ ắ ắ
Đây là b n xem th , vui lòng mua tài li u đ xem chi ti t (có l i gi i)ả ử ệ ể ế ờ ả
- Ch n ọ Debug trên c a s Shell và ch n ử ổ ọ Debugger (Hình 3). K t qu là c aế ả ử
s Debug Control s xu t hi n (Hình 4).ổ ẽ ấ ệ
- B t đ u th c hi n ch ng trình ti n hành bình th ng ch n ắ ầ ự ệ ươ ế ườ ọ Run Module
(ho c nh n phím ặ ấ F5) trong c a s Code.ử ổ
- Ch n ọ Step đ th c hi n câu l nh hi n th phía d i, l nh vào – ra d li uể ự ệ ệ ể ị ướ ệ ữ ệ
nháy chu t m t s l n.ộ ộ ố ầ
Hình 5: S thay đ i c a bi n khi m t câu l nh đ c th c hi nự ổ ủ ế ộ ệ ượ ự ệ
4. Th c hành g l i ch ng trìnhự ỡ ỗ ươ
Bài toán: Cho a là danh sách các s nguyên. Em hãy t o danh sách b có cácố ạ
ph n t v trí l b ng ph n t v trí t ng đ ng c a a, các ph n t vầ ử ở ị ẻ ằ ầ ử ở ị ươ ươ ủ ầ ử ở ị
trí ch n b ng ph n t v trí t ng ng c a a c ng thêm 1, t c là:ẵ ằ ầ ử ở ị ươ ứ ủ ộ ứ
i
i
i
a 1,i 0,2,4,...
b
a , i 1,3,5,...
M i th c m c vui lòng xin vui lòng: 084 283 45 85ọ ắ ắ
Đây là b n xem th , vui lòng mua tài li u đ xem chi ti t (có l i gi i)ả ử ệ ể ế ờ ả
So sánh s l ng các ph n t giá tr ch n a v i s l ng các ph n t giáố ượ ầ ử ị ẵ ở ớ ố ượ ầ ử
tr ch n b, đ a ra thông báo. G i p là s l ng các ph n t giá tr ch n a, qị ẵ ư ọ ố ượ ầ ử ị ẵ ở
là s l ng các ph n t giá tr ch n b và đ a ra thông báo “a ít h n n u p <ố ượ ầ ử ị ẵ ở ư ơ ế
q, “b ít h n” n u p > q và “B ng nhau” trong tr ng h p còn l i.ơ ế ằ ườ ợ ạ
Nhi m v :ệ ụ Ch ng trình Hình 6 gi i bài toán đã nêu nh ng còn có l i vàươ ở ả ư ỗ
c n đ c g l i. Em hãy áp d ng các ph ng pháp truy v t đ xác đ nh l iầ ượ ỡ ỗ ụ ươ ế ể ị ỗ
và đ xu t cách s a m t s ít nh t các câu l nh đ có ch ng trình đúng.ề ấ ử ộ ố ấ ệ ể ươ
H ng d n:ướ ẫ
- Ph ng pháp dùng công c g l i (Debug)ươ ụ ỡ ỗ
Đ g l i c n chu n b m t danh sách s nguyên, ví d : [5, 3, 2, 2, 1, 2].ể ỡ ỗ ầ ẩ ị ộ ố ụ
Ch n ọ Debugger sau đó ch n ọ Step đ th c hi n t ng b c các câu l nh, quanể ự ệ ừ ướ ệ
sát giá tr hai danh sách a và b, Sau m t vài l n th c hi n câu l nh trong vòngị ộ ầ ự ệ ệ
l p:ặ
for i in range (0, n, 2) :
b[i] = b[i] + 1
Ta th y a và b đ ng th i thay đ i giá tr , m c dù trong vòng l p ch ch aấ ồ ờ ổ ị ặ ặ ỉ ứ
câu l nh thay đ i giá tr c a danh sách b. Ví d , sau khi i=2 ta có k t qu nhệ ổ ị ủ ụ ế ả ư
Hình 7.
M i th c m c vui lòng xin vui lòng: 084 283 45 85ọ ắ ắ
Đây là b n xem th , vui lòng mua tài li u đ xem chi ti t (có l i gi i)ả ử ệ ể ế ờ ả
Hình 7: Minh h a k t qu c a ph ng pháp dùng công c g l iọ ế ả ủ ươ ụ ỡ ỗ
Đi u này nói lên r ng ch ng trình ch a t o ra b n sao c a danh sách a màề ằ ươ ư ạ ả ủ
ch t o ra m t tên m i cho cùng m t danh sách a. V y câu l nh sai trongỉ ạ ộ ớ ộ ậ ệ
ch ng trình là ươ b = a. C n thay nó b ng câu l nh ầ ằ ệ b= [] + a. Đây là m t l i màộ ỗ
n u ch đ c ch ng trình s r t khó phát hi n.ế ỉ ọ ươ ẽ ấ ệ
- Ph ng pháp b sung vào ch ng trình các câu l nh truy v tươ ổ ươ ệ ế
Ta có th thêm các câu l nh ể ệ print (a) và print (b) đ xu t ra giá tr các danhể ấ ị
sách a và b sau m i vòng l p. D dàng nh n th y a và b cùng đ ng th i thayỗ ặ ễ ậ ấ ồ ờ
đ i, t đó rút ra đ c k t lu n nh đã nêu ph ng pháp dùng công c gổ ừ ượ ế ậ ư ở ươ ụ ỡ
l i.ỗ
M i th c m c vui lòng xin vui lòng: 084 283 45 85ọ ắ ắ