9.2. Worked Example: Arrays - Traverse¶
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:
Given the initialized array:
int [] alpha;
Evaluate these statements and determine the value of all variables. If any error occurs, give the reason.
alpha = new int[10];
for (int i = 0; i < 10; i++)
alpha[i] = i * 1;
SG1: Set up array from 0 to size-1
alpha = new int[10];

alpha is declared as an array of int
This statement allocates 10 slots for integers (first line are values, second line are indexes)
Notice that the largest index is 9 (size of 10 minus 1).
SG2: Evaluate data type of statements against array
for (int i = 0; i < 10; i++)
alpha[i] = i * 1;
This loop has index i go from 0 to 9 (< 10) by increments of 1.
Then the value i * 10 is placed into the position alpha[i].
All of the array indexes are within the bounds of the array (0 – 9) and all values being assigned (10-90) are valid integers and can be stored in an integer array.
SG3: Trace statements, updating slots as you go
We will evaluate the first two statements:
for (int i = 0; i < 10; i++)
alpha[i] = i * 1;
The resulting array is:
