# Subgoals

## Section6.11Assessment: While and For Loops

### Subgoals for Evaluating a Loop.

1. Identify loop parts
1. Determine start condition
2. Determine update condition
3. Determine termination condition
4. Determine body that is repeated
2. Trace the loop
1. For every iteration of loop, write down values

### ExercisesExercises

#### 1.

Q1: What is printed as a result of executing the following code segment?
int k = 0;
while (k < 10) {
System.out.print((k % 3) + " ");
if ((k % 3) == 0)
k = k + 2;
else
k++;
}

• 0 2 1 0 2
• 0 2 0 2 0 2
• 0 2 1 0 2 1 0
• 0 2 0 2 0 2 0
• 0 1 2 1 2 1 2

#### 2.

Q2: What are the first and last numbers printed by the following code segment?
int number = 15;
while (number < 28) {
System.out.println(number);
number++;
}

• First: 15; Last: 27
• First: 15; Last: 28
• First: 16; Last: 27
• First: 16; Last: 28
• First: 16; Last: 29

#### 3.

Q3: What is printed as a result of executing the following code segment?
int alpha = 24;
int beta = 30;
while (beta != 0) {
int rho = alpha % beta;
alpha = beta;
beta = rho;
}
System.out.println(alpha);

• 0
• 6
• 12
• 24
• 30

#### 4.

Q4: Considering the following code, which best describes what the code does?
int var = 0;
int num = 50;
for (int x = 1; x <= 50; x += 2) {
var = var + x;
}
System.out.println(var);

• Prints the value in num
• Prints the sum of all the integers between 1 and num, inclusive
• Prints the sum of all even integers between 1 and num, inclusive
• Prints the sum of all odd integers between 1 and num, inclusive
• Nothing is printed, it is an infinite loop

#### 5.

Q5: What is printed as a result of executing the following code segment?
int typeA = 0;
int typeB = 0;
int typeC = 0;
for (int k = 1; k <= 50; k++) {
if (k % 2 == 0 && k % 5 == 0)
typeA++;
if (k % 2 == 0)
typeB++;
if (k % 5 == 0)
typeC++;
}
System.out.printf("%d %d %d", typeA, typeB, typeC);

• 5 20 5
• 5 20 10
• 5 25 5
• 5 25 10
• 30 25 10