Suppose you are writing a program to convert numeric grades to letter grades: print("Enter numeric grade: ") avg = int(input()) if avg >= 90 and avg <= 100: print("Your Grade is A") elif avg >= 80 and avg < 90: print("Your Grade is B") elif avg >= 70 and avg < 80: print("Your Grade is C") elif avg >= 60 and avg < 70: print("Your Grade is D") elif avg >= 0 and avg < 60: print("Your Grade is F") else: print("Invalid Input!") You want to test that program is working properly. What is the minimum number of data points that you will need to test to make sure that program is working properly?

a. 11
b. 5
c. 13
d. 6

The minimum number of data points needed to test the program would be 6. This is because there are 5 distinct letter grade ranges (A, B, C, D, F) and 1 additional input for an invalid grade. Testing one value within each grade range and an additional invalid value would cover all possible scenarios. Therefore, the correct answer is d. 6.

To ensure that the program is working properly, you need to test all possible conditions and boundary cases. Looking at the program, there are a total of 6 distinct conditions being checked:

1. Grade is between 90 and 100: A
2. Grade is between 80 and 89: B
3. Grade is between 70 and 79: C
4. Grade is between 60 and 69: D
5. Grade is between 0 and 59: F
6. Invalid input

To cover all these conditions, you will need to test at least one data point within each range, as well as an invalid input. Therefore, the minimum number of data points you will need to test is 6+1=7.

However, to be more thorough, it is advisable to test a few additional data points within each range to ensure that all edge cases are handled correctly. Thus, the minimum number of data points needed to test the program properly is 7.

Therefore, the correct answer is d. 6.