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ềuTrong 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 học kì 2 lớp 11 tấ💃t cả các môn - Cánh diều Toán - Văn - Anh - Lí - Hóa - SinhQuảng cáo
Lựa chọn câu để xem lời giải nhanh hơn
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 t✃oán: Năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 nhưng không ch🥂ia 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 tꦑhứ 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ươn🌊g 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 c💫hia 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")
Quảng cáo
Tham Gia Group Dành Cho Lớp 11 Chia Sẻ, Trao Đổi Tài Liệu Miễn Phí |