Bài 6. Kiểm thử và sửa lỗi chương trình trang 53 SBT Tin học 11 Cánh diều>
Trong giờ thực hành, một bạn viết chương trình kiểm tra năm year có phải năm nhuận hay không. Nhưng chương trình còn lỗi, em hãy sửa lỗi trong chương trình sau giúp bạn:
Tổng hợp đề thi giữa kì 2 lớp 11 tất cả các môn - Cánh diều
Toán - Văn - Anh - Lí - Hóa - Sinh
Fcs22
Năm nhuận
Trong giờ thực hành, một bạn viết chương trình kiểm tra năm year có phải năm nhuận hay không. Nhưng chương trình còn lỗi, em hãy sửa lỗi trong chương trình sau giúp bạn:
Lời giải chi tiết:
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 “==”.
Fcs23
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 chi tiết:
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")
Fcs24
Bạn Nhật viết chương trình kiểm tra ba số nguyên a, b, c có phải là độ dài của ba cạnh tam giác hay không 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")
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 chi tiết:
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")
Fcs25
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 chi tiết:
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")


- Bài 7. Lập trình giải bài toán tìm kiếm trang 55 SBT Tin học 11 Cánh diều
- Bài 8. Lập trình một số thuật toán sắp xếp trang 57 SBT Tin học 11 Cánh diều
- Bài 9. Lập trình sắp xếp nhanh trang 61 SBT Tin học 11 Cánh diều
- Bài 10, 11, 12, 13, 14. Thiết kế chương trình từ trên xuống và phương pháp mô đun hoá, Thực hành thiết kế và lập trình theo mô đun, Thực hành về thư viện các hàm tự định nghĩa trang 63 SBT Tin học 11 Cánh diều
- Bài 15. Cấu trúc dữ liệu danh sách liên kết và ứng dụng trang 65 SBT Tin học 11 Cánh diều
>> Xem thêm
Các bài khác cùng chuyên mục
- Nghề quản trị cơ sở dữ liệu trang 40 SBT Tin học 11 Cánh diều
- Bài 7. Chỉnh sửa các thành phần giao diện trang 68 SBT Tin học 11 Cánh diều
- Bài 6. Tạo báo cáo đơn giản trang 67 SBT Tin học 11 Cánh diều
- Bài 5. Thiết kế truy vấn trang 65 SBT Tin học 11 Cánh diều
- Bài 4. Tạo và sử dụng biểu mẫu trang 63 SBT Tin học 11 Cánh diều
- Nghề quản trị cơ sở dữ liệu trang 40 SBT Tin học 11 Cánh diều
- Bài 7. Chỉnh sửa các thành phần giao diện trang 68 SBT Tin học 11 Cánh diều
- Bài 6. Tạo báo cáo đơn giản trang 67 SBT Tin học 11 Cánh diều
- Bài 5. Thiết kế truy vấn trang 65 SBT Tin học 11 Cánh diều
- Bài 4. Tạo và sử dụng biểu mẫu trang 63 SBT Tin học 11 Cánh diều