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