Algorithm Verification
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?"
1. What will be printed if the input is 0?
2. What will be printed if the input is 100?
3. What will be printed if the input is 51?
4. What will be printed if the user enters "Wingding"?
5. Is this design robust? If so, explain why. If not, explain what you can do to make it robust.
6. How many levels of nesting are there in this design?
7. Provide a set of values that will test the normal operation of this program segment. Defend your choices.
8. Provide a set of test values that will cause each of the branches to be executed.
9. Provide a set of test values that test the abnormal operation of this program segment.