You've just worked with Sarah to write and understand several loops, and what
will often happen to you that you have a loop that's really mysterious. And
I'll give you an example. Here's some code that comes from a program that you
will improve in a bit to solve a common problem, namely to identify reverse
digits in a credit card. So let's see what this code does. What you always want
to do is get out a sheet of paper. Here's my sheet of paper. You make a table.
One column for every variable. There's a variable n, there's a variable sum.
Now, it's always a good idea to take a marker, I like to use a paper clip, to
mark where we are. So, we set n to 365 and we set the sum to 0. Now we enter
the loop. Is n greater than 0? It sure is. We get to this statement. Now we
need to compute n modulo 10. That's the last digit of n. That would be 5. and
now we have a new variable! We record it, we put in the 5. Moving on, sum is
sum plus digit, n is n divided by 10, it's an integer division, so we discard
the remainder. We move to the top of the loop. Is n greater than zero? Compute
n MOD 10, 36 MOD 10 is 6, store that in the digit. Sum is sum plus digit. It is
11. N is n what 10, now n is 3. Back to the top of the loop. Is 3 greater than
zero? It barely is, so we stay in the loop. Now we need to take 3
[INAUDIBLE]
10. That's 3. Add it to the sum. Divide n by 10, that's an integer division, so
now we get 0. Zero is no longer greater than zero. We fall out of the loop, and
go to this statement. And what are we printing? You're priting 14. Okay, well
what's 14? Well, we've computed all of the digits of the number 365. 3, the 6,
the 5, and we've computed their sum. 14 is the sum of the digits. And that's
almost what one needs to do in order to verify a credit card. You'll see in
your next programming assignment what sum of digits you exactly need to do.