Sentinel Logic

advertisement
Sentinel Logic
Assumes while loops and input statements
Sentinel Logic – uses an indefinite loop
• The for loop is a definite loop – you know how many times it needs to
execute
• There are many situations in life / programming where you do not
know this information (how many times it needs to execute)
• The while loop (indefinite loop) is made for this kind of situation.
• Example: “The loop executes until a sensor gives a value out of range”
• Example: “The user plays a game until they get tired.”
• Example: “The user inputs a value which must be either Y or N,
nothing else.”
A pattern
• A pattern of statements called “sentinel logic” handles this kind of
problem as cleanly as it can be done.
• A sentinel is an indicator that the loop can stop executing, that the data is
used up. It can be a special number (-1, 0, 9999), a string (“stop”), or it can be
a condition (keep looping while sensor > 0 and sensor < 50)
• Pattern
• Input the first data value to be processed
• While the data value is not the sentinel
• Process the data value
• Input the next data value to be processed
Download