Chương trình sau sẽ yêu cầu nhập một danh sách học sinh trong lớp cùng với cân nặng, chiều cao, sau đó tự động tính chỉ số BMI và in ra danh sách các bạn béo phì. Quan sát chương trình và đưa thêm các lệnh in giá trị trung gian để kiểm soát lỗi chương trình.
Chương trình có thể viết như sau:
def bmi(m,h):
return m/(h*h)
def NhapDL():
DS = []
n = int(input("Nhập số học sinh: "))
for k in range(n):
ten = input("Nhập tên học sinh thứ "+ str(k+1)+" : ")
mass = float(input("Nhập cân nặng: "))
h = float(input("Nhập chiều cao: "))
DS. append([ten, mass, h])
return DS
# Chương trình chính
DS = NhapDL()
DSBP = []
for k in range(len(DS)):
hs = DS [K]
if bmi(hs[1], hs[2]) > 25:
DSBP.append(hs[0])
print("Danh sách học sinh béo phì trong lớp:")
for hs in DSBP:
print(hs)
Gói VIP thi online tại VietJack (chỉ 400k/1 năm học), luyện tập gần 1 triệu câu hỏi có đáp án chi tiết
Bộ dữ liệu kiểm thử (test) có những tính chất gì?
A. Tính chất phát hiện lỗi của chương trình.
B. Cần có càng nhiều càng tốt.
C. Cần được sinh ngẫu nhiên và phủ kín các trường hợp biên của dữ liệu đầu vào bài toán.
D. Không cần có tính chất gì.
Điểm dừng (break point) trong các phần mềm soạn thảo lập trình có ý nghĩa gì?
A. Đó là vị trí chương trình chạy tới đó thì kết thúc.
B. Đó là vị trí chương trình dừng lại để người lập trình quan sát phát hiện lỗi.
C. Đó là vị trí chương trình mỗi khi chạy đến dòng lệnh đó sẽ kêu pip pip.
D. Đó là vị trí chương trình tạm dừng, người lập trình sẽ quan sát các biến của chương trình và có thể điều khiển để chương trình tiếp tục chạy.
Giả sử đầu vào của dữ liệu bài toán là vùng {x ≥ 0}. Khi đó dữ liệu ở vùng biên là những dữ liệu nào?
A. x = 0.
B. x = 1000000.
C. x ở gần 0.
D. x ở gần 0 hoặc x rất lớn.
Nếu chương trình chạy bị lỗi với thông báo lỗi là ZeroDivisionError thì đó là lỗi gì và em cần sửa lỗi như thế nào? Chọn phương án đúng nhất.
A. Đây là lỗi không thể sửa được.
B. Đây là lỗi chia cho 0, em cần xoá lệnh này khỏi chương trình.
C. Đây là lỗi chia cho 0, em cần thay thế phép toán khác để không xảy ra lỗi này nữa.
D. Đây là lỗi chia cho 0, em cần tìm hiểu nguyên nhân vì sao lại xuất hiện 0 khi chia, có thể bổ sung lệnh kiểm tra trước khi thực hiện phép chia.
Mục đích của kiểm thử chương trình là gì?
A. Để tự động sửa lỗi chương trình.
B. Để tìm ra lỗi của chương trình.
C. Để tìm ra lỗi và tự động sửa lỗi chương trình.
D. Để tìm ra lỗi và phòng ngừa, ngăn chặn các lỗi phát sinh trong tương lai.
Phần mềm soạn thảo lập trình có thể tạo bao nhiêu điểm dừng?
A. 0.
B. 1.
C. Không hạn chế.
D. 10.
Các phương pháp nào dưới đây được coi là phương pháp kiểm thử chương trình?
A. In các dữ liệu trung gian.
B. Viết chú thích chi tiết trong chương trình.
C. Sinh các bộ dữ liệu test để kiểm tra chương trình.
D. Đặt tên biến và hàm có ý nghĩa.
E. Tạo điểm dừng để quan sát và phát hiện lỗi chương trình.
F. Ghi nhớ các mã lỗi ngoại lệ khi phát sinh.
Viết chương trình nhập số n, sau đó lần lượt nhập n số của dãy. Yêu cầu khi nhập vào các số sẽ được sắp xếp ngay theo thứ tự tăng dần. Viết chương trình sau đó thực hiện các công việc kiểm thử.
Để kiểm thử một chương trình bạn An đã tạo ra rất nhiều bộ dữ liệu test. Với tất cả các bộ dữ liệu test chương trình đều chạy đúng. Có thể kết luận chương trình hết lỗi hay chưa?