3
Sentinel Logic Assumes while loops and input statements

Sentinel Logic Assumes while loops and input statements

Embed Size (px)

Citation preview

Page 1: Sentinel Logic Assumes while loops and input statements

Sentinel LogicAssumes while loops and input statements

Page 2: 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.”

Page 3: Sentinel Logic Assumes while loops and input statements

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