Sách bài tập Tin học 11 Bài 6 (Cánh diều): Kiểm thử và sửa lỗi chương trình
Với giải sách bài tập Tin học 11 Bài 6: Kiểm thử và sửa lỗi chương trình sách Cánh diều hay nhất, chi tiết sẽ giúp học sinh dễ dàng làm bài tập trong SBT Tin học 11 Bài 6.
Giải SBT Tin học 11 Bài 6: Kiểm thử và sửa lỗi chương trình
Câu Fcs22 trang 53 SBT Tin học 11: Năm nhuận
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 “==”.
Câu Fcs23 trang 53 SBT Tin học 11: Chương trình dưới đây thực hiện nhập từ thiết bị chuẩn hai dòng:
• Dòng thứ nhất chứa danh sách 4 gồm các số nguyên.
• Dòng thứ hai chứa số nguyên x.
Chương trình sẽ kiểm tra xem giá trị x có xuất hiện trong danh sách A hay không.
Chương trình cho ra kết quả sai với nhiều bộ dữ liệu A và x. Hãy kiểm thử và sửa lỗi trong chương trình:
A = [int (v) for v in input ().split()]
X =
int (input())
for v in A:
if v == X:
print("Tìm thấy giá trị x trong A")
break
else:
print("Không tìm thấy giá trị x trong A")
break
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")
a = [int (v) for v in input ().split()}
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")
Em hãy cho biết chương trình trên đúng chưa. Nếu chưa đúng thì hãy hiệu chỉnh lại cho đúng.
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")
Câu Fcs25 trang 54 SBT Tin học 11: Chương trình sau thực hiện nhập từ thiết bị vào chuẩn hai dòng:
• Dòng thứ nhất chứa số nguyên không âm a.
• Dòng thứ hai chứa số nguyên không âm b.
Kiểm tra xem a có chia hết cho b hay không.
Em hãy rà soát xem cách cài đặt của chương trình này có tiềm tàng một trường hợp lỗi nào không:
a = int(input())
b = int (input())
0:if a % b else:==
print("a chia hết cho b")
print("a không chia hết cho b")
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")
Xem thêm các lời giải sách bài tập Tin học lớp 11 Cánh diều hay, chi tiết khác:
Bài 7: Lập trình giải bài toán tìm kiếm
Bài 8: Lập trình một số thuật toán sắp xếp
Xem thêm các chương trình khác:
- Soạn văn lớp 11 Cánh diều (hay nhất)
- Văn mẫu lớp 11 - Cánh diều
- Tóm tắt tác phẩm Ngữ văn 11 – Cánh diều
- Tác giả tác phẩm Ngữ văn 11 - Cánh diều
- Giải SBT Ngữ văn 11 – Cánh diều
- Bố cục tác phẩm Ngữ văn 11 – Cánh diều
- Giải Chuyên đề học tập Ngữ văn 11 – Cánh diều
- Nội dung chính tác phẩm Ngữ văn lớp 11 – Cánh diều
- Soạn văn 11 Cánh diều (ngắn nhất)
- Giải sgk Toán 11 – Cánh diều
- Giải Chuyên đề học tập Toán 11 – Cánh diều
- Lý thuyết Toán 11 - Cánh diều
- Giải sbt Toán 11 – Cánh diều
- Giải sgk Tiếng Anh 11 – ilearn Smart World
- Giải sbt Tiếng Anh 11 - ilearn Smart World
- Trọn bộ Từ vựng Tiếng Anh 11 ilearn Smart World đầy đủ nhất
- Giải sgk Vật lí 11 – Cánh diều
- Lý thuyết Vật lí 11 – Cánh diều
- Giải sbt Vật lí 11 – Cánh diều
- Giải Chuyên đề học tập Vật lí 11 – Cánh diều
- Giải sgk Hóa học 11 – Cánh diều
- Giải Chuyên đề học tập Hóa học 11 – Cánh diều
- Lý thuyết Hóa 11 - Cánh diều
- Giải sbt Hóa học 11 – Cánh diều
- Giải sgk Sinh học 11 – Cánh diều
- Lý thuyết Sinh học 11 – Cánh diều
- Giải Chuyên đề học tập Sinh học 11 – Cánh diều
- Giải sbt Sinh học 11 – Cánh diều
- Giải sgk Giáo dục Kinh tế và Pháp luật 11 – Cánh diều
- Giải Chuyên đề học tập Kinh tế pháp luật 11 – Cánh diều
- Lý thuyết Kinh tế pháp luật 11 – Cánh diều
- Giải sbt Kinh tế pháp luật 11 – Cánh diều
- Giải sgk Lịch sử 11 – Cánh diều
- Giải Chuyên đề học tập Lịch sử 11 – Cánh diều
- Lý thuyết Lịch sử 11 - Cánh diều
- Giải sbt Lịch sử 11 – Cánh diều
- Giải sgk Địa lí 11 – Cánh diều
- Giải Chuyên đề học tập Địa lí 11 – Cánh diều
- Lý thuyết Địa lí 11 - Cánh diều
- Giải sbt Địa lí 11 – Cánh diều
- Giải sgk Công nghệ 11 – Cánh diều
- Lý thuyết Công nghệ 11 - Cánh diều
- Giải sbt Công nghệ 11 – Cánh diều
- Giải sgk Giáo dục quốc phòng an ninh 11 – Cánh diều
- Lý thuyết Giáo dục quốc phòng 11 – Cánh diều
- Giải sbt Giáo dục quốc phòng 11 – Cánh diều
- Giải sgk Hoạt động trải nghiệm 11 – Cánh diều