Can You Please help me understand how to do this and what i have to do to solve the problem.... Please!!

Consider the following selection statement where X is an integer test score between 0 and 100.

input X

if (0 <= X and X < 49)
output "you fail"

else if (50 <= X and X < 70)
output "your grade is" X
output "you did OK"

else if (70 <= X and X < 85)
output "your grade is" X
output "you did well"

else if (85 <= X and X < 100)
output "your grade is" X
output "you did great"

endif
output "how did you do?"

o What will be printed if the input is 0?
o What will be printed if the input is 100?
o What will be printed if the input is 51?
o What will be printed if the user enters ¿Wingding¿?
o Is this design robust? If so, explain why. If not, explain what you can do to make it robust.
o How many levels of nesting are there in this design?
o Give a set of values that will test the normal operation of this program segment. Defend your choices.
o Give a set of test values that will cause each of the branches to be executed.
o Give a set of test values that test the abnormal operation of this program segment.

To understand and solve the problem, let's break it down step by step.

1. What will be printed if the input is 0?
Since 0 is less than 49, the first condition is satisfied and the program will output "you fail". The final output statement "how did you do?" will also be printed.

2. What will be printed if the input is 100?
Since 100 is greater than or equal to 85, the last condition is satisfied and the program will output "your grade is 100" and "you did great". The final output statement "how did you do?" will also be printed.

3. What will be printed if the input is 51?
Since 50 <= X and X < 70, the second condition is satisfied and the program will output "your grade is 51" and "you did OK". The final output statement "how did you do?" will also be printed.

4. What will be printed if the user enters "Wingding"?
If the user enters "Wingding", it is not a valid integer score between 0 and 100. The program will not satisfy any of the conditions and will skip the if-else ladder entirely. It will proceed to the final output statement "how did you do?".

5. Is this design robust? If not, explain how to make it robust.
No, this design is not completely robust. It assumes that the input will always be a valid integer between 0 and 100. To make it more robust, we can include error handling to check if the input is a valid integer. We can also handle cases where the input is outside the range of 0 to 100.

6. How many levels of nesting are there in this design?
There are four levels of nesting in this design. Each "if" statement represents a level of nesting.

7. Give a set of values that will test the normal operation of this program segment. Defend your choices.
To test the normal operation, we can choose values that fall within the defined ranges in the selection statement. For example:
- Input: 70 (falls in the range 70 <= X and X < 85)
- Input: 49 (falls in the range 50 <= X and X < 70)
- Input: 85 (falls in the range 85 <= X and X < 100)

8. Give a set of test values that will cause each of the branches to be executed.
To test each branch, we can choose values that satisfy each condition. For example:
- Input: 0 (falls in the range 0 <= X and X < 49)
- Input: 60 (falls in the range 50 <= X and X < 70)
- Input: 80 (falls in the range 70 <= X and X < 85)
- Input: 95 (falls in the range 85 <= X and X < 100)

9. Give a set of test values that test the abnormal operation of this program segment.
To test abnormal operation, we can choose values outside the defined range or values that are not valid integers. For example:
- Input: -5 (negative integer)
- Input: 150 (greater than 100)
- Input: "abc" (non-integer value)