The famous poem The Road Not Taken by Robert Frost begins: Two roads diverged in a yellow wood, and sorry I could not travel both. This poem illustrates that life, if nothing else, presents us with choices.
Similarly, computer programs present their users with choices. So far, for the sake of simplicity, the flow of each program has followed a relatively straight line, taking a predetermined path from beginning to end. However, as programs become more sophisticated, they often branch in two or more directions based on a choice a user makes. For example, when I am buying books online, I am presented with choices such as adding another item to my shopping cart, recalculating my total, or checking out. The program does something different if I add another item to my shopping cart rather than check out.
The program determines the action it takes by comparing my choice with the various alternatives. That comparison is made using a relational operator. There are relational operators to test for equality, inequality, whether one value is greater (or less) than another, and other comparisons.
The code then needs to be structured so different code executes depending on which choice was made. This is done using either the if statement or the switch case statement, both of which we ll discuss in this chapter.
We ll also discuss flowcharting, which enables you to visually depict the flow of a program. Flowcharting becomes increasingly helpful as we transition from relatively simple programs that flow in a straight line to more complex programs that branch in different directions.