3.7. Worked Example: Nested If-Else StatementsΒΆ

Subgoals for Evaluating Selection Statements

  1. Diagram which statements go together.

  2. For if-statement, determine whether expression is true or false.

  3. If true, follow true branch. If false, follow else branch (OR do nothing if there is no else branch).

You can watch this video or read through the content below it.

Given the following declarations:

int alpha = 2, beta = 1, delta = 3, eta = 0, gamma = 0;

double omega = 2.5, theta = -1.3, kappa = 3.0, lambda = 0.0, rho = 0.0;

Evaluate these statements and determine the value of all variables used.

if (omega > kappa)
{
    if (alpha < delta)
        eta = 5;
    else
        eta = 4;
}
else
   if (alpha > delta)
      eta = 3;
   else
      eta = 2;

SG1: Diagram which statements go together.

In this diagram, the first thing to note is the parent/outer if-else statement highlighted in blue.

The true branch of the parent/outer statment contains an inner if-else.

Likewise, the else branch of the parent/outer statement contains an inner if-else.

Nested If-Else Diagram

SG2: For if statement, determine whether true or false

Because there are 2 sequential if-statements, we start with the first one, and then repeat SG2 and SG3 for the other.

First we evaluate (omega > kappa):

(2.5 > 3.0) is FALSE

SG3: If true, follow true branch. If false, follow else branch (OR do nothing if there is no else branch).

The else branch contains another if-else statement, so we must repeat the SG2 and SG3.

nested if true branch

SG2: For if statement, determine whether true or false

Start with the first if-statement in the inner sequence.

First we evaluate (alpha > delta):

(2 > 3) is FALSE

SG3: If true, follow true branch. If false, follow else branch (OR do nothing if there is no else branch).

The condition is FALSE so we follow the else branch.

eta = 2;

Practice Pages

You have attempted of activities on this page