eintr: Incrementing Example

 
 Example with incrementing counter
 .................................
 
 Suppose you are playing on the beach and decide to make a triangle of
 pebbles, putting one pebble in the first row, two in the second row,
 three in the third row and so on, like this:
 
 
                     *
                    * *
                   * * *
                  * * * *
 
 (About 2500 years ago, Pythagoras and others developed the beginnings of
 number theory by considering questions such as this.)
 
    Suppose you want to know how many pebbles you will need to make a
 triangle with 7 rows?
 
    Clearly, what you need to do is add up the numbers from 1 to 7.
 There are two ways to do this; start with the smallest number, one, and
 add up the list in sequence, 1, 2, 3, 4 and so on; or start with the
 largest number and add the list going down: 7, 6, 5, 4 and so on.
 Because both mechanisms illustrate common ways of writing ‘while’ loops,
 we will create two examples, one counting up and the other counting
 down.  In this first example, we will start with 1 and add 2, 3, 4 and
 so on.
 
    If you are just adding up a short list of numbers, the easiest way to
 do it is to add up all the numbers at once.  However, if you do not know
 ahead of time how many numbers your list will have, or if you want to be
 prepared for a very long list, then you need to design your addition so
 that what you do is repeat a simple process many times instead of doing
 a more complex process once.
 
    For example, instead of adding up all the pebbles all at once, what
 you can do is add the number of pebbles in the first row, 1, to the
 number in the second row, 2, and then add the total of those two rows to
 the third row, 3.  Then you can add the number in the fourth row, 4, to
 the total of the first three rows; and so on.
 
    The critical characteristic of the process is that each repetitive
 action is simple.  In this case, at each step we add only two numbers,
 the number of pebbles in the row and the total already found.  This
 process of adding two numbers is repeated again and again until the last
 row has been added to the total of all the preceding rows.  In a more
 complex loop the repetitive action might not be so simple, but it will
 be simpler than doing everything all at once.