Chương trình dưới đây thực hiện nhập từ thiết bị chuẩn hai dòng

88

Với giải Câu Fcs23 trang 53 SBT Tin học 11 Cánh diều chi tiết trong Bài 6: Kiểm thử và sửa lỗi chương trình giúp học sinh dễ dàng xem và so sánh lời giải từ đó biết cách làm bài tập trong SBT Tin học 11. Mời các bạn đón xem:

Giải SBT Tin học 11 Bài 6: Kiểm thử và sửa lỗi chương trình

Câu Fcs23 trang 53 SBT Tin học 11Chươ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")

Đánh giá

0

0 đánh giá