Nested if Statements

Help Questions

AP Computer Science A › Nested if Statements

Questions 1 - 10
1

Online Shopping Cart: apply discount using nested if. Code:


boolean isMember = true;

double purchaseAmount = 120.0, discount = 0.0;

// Members get higher discount for large purchases

if (isMember) {

  discount = 0.10;

  if (purchaseAmount >= 100.0) discount = 0.20;

}

What will be the output if the input is isMember=true, purchaseAmount=120.0?

discount becomes 1.20 after execution.

discount becomes 0.20 after execution.

discount becomes 0.00 after execution.

discount becomes 0.10 after execution.

Explanation

This question tests knowledge of nested if statements in AP Computer Science A, specifically understanding control flow and logical execution. Nested if statements allow for multiple conditional checks, where each level of nesting adds a layer of specificity to the decision-making process. In the provided code snippet, isMember is true so discount becomes 0.10, then the nested if checks if purchaseAmount >= 100.0 (120.0 >= 100.0 is true), so discount is updated to 0.20. The correct answer, Choice C, correctly interprets the logic as it matches the expected outcome when the input conditions are applied. Choice A is incorrect because it stops at the first assignment without executing the nested condition; Choice B assumes no discount is applied; Choice D shows a mathematical error. To help students: Encourage practice with tracing code execution paths, visualize nested conditions using flowcharts, and emphasize the importance of understanding each condition's role in the overall logic. Watch for common pitfalls such as stopping execution prematurely or misunderstanding how variable reassignment works within nested structures.

2

A grade program branches with nested ifs. What is grade when score=75 and extraCredit=true?


int score = 75;

boolean extraCredit = true;

String grade = "";

// Extra credit only affects borderline scores

if (score >= 80) {

    grade = "B";

} else {

    // Borderline can rise to B

    if (extraCredit && score >= 78) grade = "B";

    else grade = "C";

}

grade is "A+"

grade is "A"

grade is "C"

grade is "B"

Explanation

This question tests knowledge of nested if statements in AP Computer Science A, specifically understanding control flow and logical execution. Nested if statements allow for multiple conditional checks, where each level of nesting adds a layer of specificity to the decision-making process. In the provided code snippet, score=75 is not >= 80, so we go to the else block, where we check if extraCredit is true AND score >= 78, but 75 is not >= 78, so this condition is false and grade becomes "C". The correct answer, Choice C, correctly interprets the logic as it matches the expected outcome when the input conditions are applied. Choice A would require either score >= 80 or (extraCredit && score >= 78), and neither condition is met with score=75. To help students: Encourage practice with tracing code execution paths, visualize nested conditions using flowcharts, and emphasize the importance of understanding each condition's role in the overall logic. Watch for common pitfalls such as misunderstanding compound conditions with AND operators or assuming extra credit always improves grades.

3

A shopping cart calculates discount with nested ifs. What is discount when isMember=false and purchaseAmount=200?


boolean isMember = false;

double purchaseAmount = 200.0;

double discount = 0.0;

// Members and non-members differ

if (isMember) {

    if (purchaseAmount >= 150.0) discount = 0.20;

} else {

    // Non-members only get discount at $250+

    if (purchaseAmount >= 250.0) discount = 0.05;

}

discount remains 0.00

discount becomes 0.05

discount becomes 0.20

discount becomes 0.25

Explanation

This question tests knowledge of nested if statements in AP Computer Science A, specifically understanding control flow and logical execution. Nested if statements allow for multiple conditional checks, where each level of nesting adds a layer of specificity to the decision-making process. In the provided code snippet, isMember is false, so we skip the first if block and go to the else block, where we check if purchaseAmount (200.0) is >= 250.0, which is false, so discount remains 0.00. The correct answer, Choice C, correctly interprets the logic as it matches the expected outcome when the input conditions are applied. Choice A would require purchaseAmount >= 250 for non-members, and Choice B is only available to members with purchases >= 150. To help students: Encourage practice with tracing code execution paths, visualize nested conditions using flowcharts, and emphasize the importance of understanding each condition's role in the overall logic. Watch for common pitfalls such as assuming non-members get the same discounts as members or misreading the threshold values.

4

In an online cart, this code applies discounts. What is discount when isMember=true and purchaseAmount=120?


boolean isMember = true;

double purchaseAmount = 120.0;

double discount = 0.0;

// Member gets bigger discount

if (isMember) {

    // Larger discount for $100+

    if (purchaseAmount >= 100.0) discount = 0.15;

    else discount = 0.10;

}

discount becomes 0.25

discount becomes 0.10

discount becomes 0.15

discount remains 0.00

Explanation

This question tests knowledge of nested if statements in AP Computer Science A, specifically understanding control flow and logical execution. Nested if statements allow for multiple conditional checks, where each level of nesting adds a layer of specificity to the decision-making process. In the provided code snippet, since isMember is true, we enter the outer if block, then check if purchaseAmount (120.0) is >= 100.0, which is true, so discount becomes 0.15. The correct answer, Choice B, correctly interprets the logic as it matches the expected outcome when the input conditions are applied. Choice A is incorrect because it would be the discount for members with purchases under $100, and Choice C is incorrect because members always get some discount in this code. To help students: Encourage practice with tracing code execution paths, visualize nested conditions using flowcharts, and emphasize the importance of understanding each condition's role in the overall logic. Watch for common pitfalls such as assuming the else branch executes when the outer condition is true.

5

A traffic light uses nested if statements:


boolean vehicleDetected = true;

boolean pedestrianButtonPressed = true;

String lightStatus = "GREEN";

// Change only if cars absent

if (!vehicleDetected) {

  if (pedestrianButtonPressed) lightStatus = "WALK";

  else lightStatus = "FLASH";

}

What will be the output if the input is vehicleDetected=true and pedestrianButtonPressed=true?

lightStatus becomes "WALK"

lightStatus becomes "RED"

lightStatus becomes "FLASH"

lightStatus becomes "GREEN"

Explanation

This question tests knowledge of nested if statements in AP Computer Science A, specifically understanding control flow and logical execution. Nested if statements allow for multiple conditional checks, where each level of nesting adds a layer of specificity to the decision-making process. In the provided code snippet, the logic checks if !vehicleDetected (which evaluates to false since vehicleDetected is true), and since this condition is false, the entire nested if block is skipped, leaving lightStatus unchanged at "GREEN". The correct answer, Choice C, correctly interprets the logic as it matches the expected outcome when the input conditions are applied. Choices A and B are incorrect because they assume the nested if block executes, which only happens when vehicleDetected is false. To help students: Encourage practice with tracing code execution paths, visualize nested conditions using flowcharts, and emphasize the importance of understanding each condition's role in the overall logic. Watch for common pitfalls such as confusion with negation operators and assuming nested code always executes.

6

A traffic system updates lightStatus. What is lightStatus when vehicleDetected=false and pedestrianButtonPressed=true?


boolean vehicleDetected = false;

boolean pedestrianButtonPressed = true;

String lightStatus = "GREEN";

// Handle pedestrian request first

if (pedestrianButtonPressed) {

    // If no car, keep pedestrians waiting

    if (!vehicleDetected) lightStatus = "WAIT";

    else lightStatus = "WALK";

}

lightStatus remains "GREEN"

lightStatus becomes "RED"

lightStatus becomes "WAIT"

lightStatus becomes "WALK"

Explanation

This question tests knowledge of nested if statements in AP Computer Science A, specifically understanding control flow and logical execution. Nested if statements allow for multiple conditional checks, where each level of nesting adds a layer of specificity to the decision-making process. In the provided code snippet, pedestrianButtonPressed is true, so we enter the if block, then check if !vehicleDetected (which is !false = true), so lightStatus becomes "WAIT". The correct answer, Choice B, correctly interprets the logic as it matches the expected outcome when the input conditions are applied. Choice A would occur if vehicleDetected were true, and Choice C is incorrect because the code changes lightStatus when the conditions are met. To help students: Encourage practice with tracing code execution paths, visualize nested conditions using flowcharts, and emphasize the importance of understanding each condition's role in the overall logic. Watch for common pitfalls such as misunderstanding the negation operator (!) or the logic of when pedestrians must wait.

7

A temperature controller runs this code. What are heaterStatus and acStatus when temperature=78 and humidity=55?


int temperature = 78;

int humidity = 55;

boolean heaterStatus = false;

boolean acStatus = false;

// Decide between heating and cooling

if (temperature > 75) {

    // Only cool if humidity is moderate

    if (humidity <= 60) acStatus = true;

} else {

    if (temperature < 68) heaterStatus = true;

}

heaterStatus=false, acStatus=false

heaterStatus=true, acStatus=true

heaterStatus=true, acStatus=false

heaterStatus=false, acStatus=true

Explanation

This question tests knowledge of nested if statements in AP Computer Science A, specifically understanding control flow and logical execution. Nested if statements allow for multiple conditional checks, where each level of nesting adds a layer of specificity to the decision-making process. In the provided code snippet, temperature=78 is greater than 75, so we enter the first if block, then check if humidity (55) is <= 60, which is true, so acStatus becomes true while heaterStatus remains false. The correct answer, Choice B, correctly interprets the logic as it matches the expected outcome when the input conditions are applied. Choice A would require temperature < 68, and Choice C would occur if humidity were > 60 or temperature were between 68 and 75. To help students: Encourage practice with tracing code execution paths, visualize nested conditions using flowcharts, and emphasize the importance of understanding each condition's role in the overall logic. Watch for common pitfalls such as confusing the temperature thresholds or the humidity condition for cooling.

8

A grade calculator runs this nested if code. What is grade when score=92 and extraCredit=true?


int score = 92;

boolean extraCredit = true;

String grade = "";

// Top scores earn A variants

if (score >= 90) {

    // Extra credit boosts label

    if (extraCredit) grade = "A+";

    else grade = "A";

} else {

    grade = "B";

}

grade is "A+"

grade is "C"

grade is "A"

grade is "B"

Explanation

This question tests knowledge of nested if statements in AP Computer Science A, specifically understanding control flow and logical execution. Nested if statements allow for multiple conditional checks, where each level of nesting adds a layer of specificity to the decision-making process. In the provided code snippet, score=92 is >= 90, so we enter the first if block, then check if extraCredit is true, which it is, so grade becomes "A+". The correct answer, Choice C, correctly interprets the logic as it matches the expected outcome when the input conditions are applied. Choice A would occur if extraCredit were false, and Choice B would require score < 90. To help students: Encourage practice with tracing code execution paths, visualize nested conditions using flowcharts, and emphasize the importance of understanding each condition's role in the overall logic. Watch for common pitfalls such as misunderstanding how boolean conditions affect string assignments within nested structures.

9

A cart program uses nested ifs. What is discount when isMember=true and purchaseAmount=80?


boolean isMember = true;

double purchaseAmount = 80.0;

double discount = 0.0;

// Members always get some discount

if (isMember) {

    // Higher discount for $100+

    if (purchaseAmount >= 100.0) discount = 0.15;

    else discount = 0.10;

}

discount remains 0.00

discount becomes 0.10

discount becomes 0.05

discount becomes 0.15

Explanation

This question tests knowledge of nested if statements in AP Computer Science A, specifically understanding control flow and logical execution. Nested if statements allow for multiple conditional checks, where each level of nesting adds a layer of specificity to the decision-making process. In the provided code snippet, isMember is true, so we enter the if block, then check if purchaseAmount (80.0) is >= 100.0, which is false, so we execute the else branch and discount becomes 0.10. The correct answer, Choice C, correctly interprets the logic as it matches the expected outcome when the input conditions are applied. Choice A would require purchaseAmount >= 100, and Choice B is incorrect because members always get some discount according to this code. To help students: Encourage practice with tracing code execution paths, visualize nested conditions using flowcharts, and emphasize the importance of understanding each condition's role in the overall logic. Watch for common pitfalls such as assuming the higher discount applies to all member purchases.

10

A thermostat uses nested if statements. What are heaterStatus and acStatus when temperature=65 and humidity=40?


int temperature = 65;

int humidity = 40;

boolean heaterStatus = false;

boolean acStatus = false;

// Heat if too cold, cool if too hot

if (temperature < 68) {

    // Avoid heating if very humid

    if (humidity < 60) heaterStatus = true;

} else {

    if (temperature > 75) acStatus = true;

}

heaterStatus=true, acStatus=false

heaterStatus=false, acStatus=false

heaterStatus=false, acStatus=true

heaterStatus=true, acStatus=true

Explanation

This question tests knowledge of nested if statements in AP Computer Science A, specifically understanding control flow and logical execution. Nested if statements allow for multiple conditional checks, where each level of nesting adds a layer of specificity to the decision-making process. In the provided code snippet, temperature=65 is less than 68, so we enter the first if block, then check if humidity (40) is less than 60, which is true, so heaterStatus becomes true while acStatus remains false. The correct answer, Choice A, correctly interprets the logic as it matches the expected outcome when the input conditions are applied. Choice B would require temperature > 75, and Choice C would occur if humidity were >= 60 or temperature were between 68 and 75. To help students: Encourage practice with tracing code execution paths, visualize nested conditions using flowcharts, and emphasize the importance of understanding each condition's role in the overall logic. Watch for common pitfalls such as assuming both heater and AC can be on simultaneously or misunderstanding the temperature thresholds.

Page 1 of 2