# Subgoals

## Section5.9Worked Example: For Loops - Sentinel

### Subgoals for Evaluating a Loop.

1. Diagram which statements go together.
2. Define and initialize variables
1. Determine the start condition.
2. Determine the update condition.
3. Determine the termination condition.
4. Determine body that is repeated.
3. Trace the loop.
1. For every iteration of the loop, write down the values.
You can watch this video or read through the content below it.
Problem: Given the following code, what is the output if the user enters the values: 10, 15, 20, 25, 30, 35, -1?
System.out.println("Enter up to 5 scores, or negative to end input.");
int gdScores = 0;
int score;
System.out.print ("Score: ");
Scanner get = new Scanner(System.in);
score = get.nextInt();
for (int m = 0; m < 5 && score >= 0; m++)
{
if (score >= 20)
gdScores++;
System.out.print ("Score: ");
score = get.nextInt();
}
System.out.println("Number of good scores: " + gdScores);


### Subsection5.9.2SG2: Define and initialize variables

Start:
score = 10, m = 0, gdScores = 0

End:
score < 0 OR
m >= 5


### Subsection5.9.3SG3: Trace the loop

Number of good scores: 3