<< Chapter < Page | Chapter >> Page > |
In an earlier module (see Resources ) , I told you that any programming logic problem could be solved using anappropriate combination of only three programming structures, none of which are complicated. The three structures are known generally as:
I explained the sequence and selection structures in earlier modules. I will concentrate on the loop structure in this and the next module.
Loop structures in programming fall into two broad categories:
There are numerous sub-categories within these broad categories. I will illustrate the difference between a definite loop and an indefinite loop with two real-world examples.
Assume that you are confronted with a full box of cookies. Assume also that you have more self-control than most of us, and that you decide you can eatthree cookies, but no more than three, in order to keep your waistline under control. You might eat the three cookies using an algorithm something like thatshown in Image A .
Being the self-controlled individual that you are, you would set your cookie limit to 3 and you would set count to 1. You would then test count to see if it is within the range from 1 to 3 inclusive. If so, you would take acookie from the box and eat it. Then you would increase the value of count by 1 and go back to the top of the loop.
Back at the top of the loop, you would once again test the value of count to determine if it is still within the range from 1 to 3 inclusive. If so, youwould repeat the process, getting and eating another cookie, increasing the value of count by 1, and going back to the top of the loop.
When you find that the value of count has advanced to 4, you would recognize that this is outside the range of 1 to 3 inclusive. As a result, youwould terminate the loop and stop eating cookies. Well done!
Assume once again that you are confronted with the same full box of cookies. However, like many of us, you aren't blessed with a lot of self-control. In thatcase, you might eat cookies using the algorithm shown in Image B .
Unfortunately, for many of us, as soon as we see the full box of cookies, our stillHungry variable gets set to true.
We begin the process by performing a test to determine if stillHungry is true and the box of cookies is not empty. If that test returns true, we take a cookie from the box and eat it. Then we perform another test. If weare no longer hungry at that point, we set our stillHungry variable to false and go back to test at the top of the loop. Otherwise, we allow our stillHungry variable to remain true.
Back at the top of the loop, we test again to determine if stillHungry is true, and the box of cookies is not empty. If the test returns true, we gothrough the process again, eating another cookie, etc.
Notification Switch
Would you like to follow the 'Teaching beginners to code' conversation and receive update notifications?