Giải SBT Tin học 11 Cánh diều Bài 6. Kiểm thử và sửa lỗi chương trình có đáp án
32 người thi tuần này 4.6 285 lượt thi 4 câu hỏi
🔥 Đề thi HOT:
15 câu Trắc nghiệm Tin học 11 Cánh diều Tin học ứng dụng Nghề quản trị cơ sở dữ liệu có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 5: Truy vấn trong cơ sở dữ liệu quan hệ có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 5: Truy vấn trong cơ sở dữ liệu quan hệ (tiếp theo) có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 4: Giới thiệu phần mềm làm video có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 2: Tẩy xóa ảnh có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 1: Một số thao tác chỉnh sửa ảnh và hỗ trợ chỉnh sửa ảnh có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 2: Bảng và khóa chính trong cơ sở dữ liệu quan hệ có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 16 có đáp án
Nội dung liên quan:
Danh sách câu hỏi:
Lời giải
Có hai lỗi:
Lỗi cú pháp: Dòng 3 sửa tên biến yera thành year.
Lỗi thuật toán: Năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100. Nếu chia hết cho 4 (dòng 2) và chia hết cho 100 (dòng 3) thì nếu chia hết cho 400 (dòng 4) là năm nhuận, ngược lại là năm không nhuận. Nhưng dòng 4 là điều kiện không chia hết nên sửa lại dòng 4 từ phép toán “! =” thành “==”.
Lời giải
Chương trình cho ra kết quả sai trong trường hợp 4=[1, 2, 3, 4, 5] và x=2. Nguyên nhân: Chỉ duy nhất phần tử đầu tiên trong danh sách được kiểm tra. Sửa lại: Đưa kết luận “không tìm thấy” ra ngoài vòng lặp và thêm một biến boolean để đánh dấu sự xuất hiện của x.
Chương trình sửa lại như sau:
A= [int (v) for v in input().split()]
x = int(input())
found = False
for v in A:
if v == X:
print("Tìm thấy giá trị x trong A")
found = True
break
if not found: print("Không tìm thấy giá trị x trong A")
Lời giải
Do đã sắp xếp ba số theo thứ tự không giảm a[0] <a[1]<a[2] nên em chỉ cần kiểm tra hai cạnh nhỏ có tổng lớn hơn cạnh còn lại hay không. Chương trình của bạn Nhật sai ở dòng i f a[0] + a[1] < a[2]:.
Chương trình được sửa lại như sau:
a = [int (v) for v in input ().split()]
sort (a)
if a[0] + a [1] > a [2]:
else:
print("Là ba cạnh của tam giác")
print("Không phải ba cạnh của tam giác")
Lời giải
Chương trình xảy ra lỗi khi b=0.
Sửa lại: Kiểm tra xem b có khác 0 hay không trước khi thực hiện phép chia lấy phần dư.
a = int(input())
b = int(input())
if b ==0:
print("Nhập lại b khác 0")
elif a % b==0
print("a chia hết cho b")
esle:
print("a không chia hết cho b")