9.5. Worked Example: Arrays - Sum¶
Subgoals for Evaluating Arrays
Set up array from 0 to size-1
Evaluate data type of statements against array
Trace statements, updating slots as you go
Remember assignment subgoals
You can watch this video or read through the content below it.
Problem: Assume that the integer array alpha
has been properly declared and is full of data values. Evaluate these statements and determine the value of sum
. If any error occurs, give the reason.
int sum = 0;
for (int i = 0; i < alpha.length; i++) {
sum += alpha[i];
}
SG1: Set up array from 0 to size-1

alpha is an array of ints and has values, but we don’t know what those values are
however, we can still diagram a representation of this array
notice that the largest index is size - 1
SG2: Evaluate data type of statements against array
for (int i = 0; i < alpha.length; i++) {
sum += alpha[i];
}
This loop has index i go from 0 to size - 1 (<length) by increments of 1.
Then the value at alpha[i] is added to sum.
All indexes into the array are valid, and all assignments are valid.
SG3: Trace statements, updating slots as you go
Let us trace with a sample array.

The first line of the code sample initializes sum
to a have a value of zero, and then a for-loop is used to traverse the array. The chart below uses one line to represent the memory and calculations during each iteration of the loop, starting when i has a value of zero.

The final value of sum
is 59, which s the sum of all values in the array.
The more general answer to the original question is: “sum
contains the sum of all the values in the array alpha
.”
Practice Pages