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
21 người thi tuần này 4.6 516 lượt thi 4 câu hỏi
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Dành cho bạn Hot
Trắc nghiệm Hai đường thẳng song song lớp 11 (có đúng sai, trả lời ngắn)
Trắc nghiệm Mô tả sóng lớp 11 (có đáp án)
Trắc nghiệm Khái niệm về cân bằng hoá học lớp 11 (có đáp án - phần 1)
Đề cương ôn tập giữa kì 1 Tiếng Anh 11 Global Success có đáp án
15 câu Trắc nghiệm Sinh học 11 Kết nối tri thức Bài 8 có đáp án
25 câu Trắc nghiệm Lịch Sử 11 Kết nối tri thức Bài 1 có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 1 có đáp án
16 câu Trắc nghiệm Kinh tế pháp luật 11 Kết nối tri thức Bài 2 có đáp án
Danh sách câu hỏi:
Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
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 “==”.
Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
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")
Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
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")
Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
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")
Đăng ký để học cùng Vietjack. Hoàn toàn miễn phí!
Bằng việc đăng ký, bạn đồng ý với Điều khoản sử dụng và Chính sách bảo mật của Vietjack.
