Section 5.12 Worked Example: Nested If-Else Statements
Subgoals for Evaluating Selection Statements.
- Diagram which statements go together
- For if statement, determine whether expression is true or false
- If true – follow true branch, if false – follow else branch or do nothing if no else branch
Subsection 5.12.1
You can watch this video or read through the content below it.
Given the following declarations:
int alpha = 2, delta = 3, eta = 0,
double omega = 2.5, kappa = 3.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;
Subsection 5.12.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.
Subsection 5.12.3 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 FALSESubsection 5.12.4 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.
Subsection 5.12.5 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 FALSESubsection 5.12.6 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;
Answer.
omega
= 2.5, kappa
= 3.0, alpha
= 2, delta
= 3, eta
= 2Subsection 5.12.7 Practice Pages
You have attempted of activities on this page.