LAB 4
SELECTION STRUCTURES
PREPARED BY:
2.0 INTRODUCTION:
In C language, there are several selection methods which can be used:
(a)
One way selection
(b)
Two way selection
(c)
Multi selection
(d)
Nested if ...
(e)
Switch command
2.1 One way selection statement
The syntax for one way selection is as below:
if (condition)
statement;
Compound statement: a group of statements bracketed by { and } that are
executed sequentially. { (open curly bracket) and } (close curly bracket) must be
used to show the start and end of the commands under the if statement.
Flowchart:
if (condition)
{
statement1;
statement2;
}
or
if (condition)
{
statement1;
statement2;
}
else
{
statement1;
statement2;
2.4
Nested if statement
Nested if statement is when one if statement is placed inside another if statement. The
nested if statement is used to code decisions with multiple alternatives. The nested if
selection can be modified with the use of logic operator (AND) to combine two or more
conditional (relation) statements to be as one condition statement, thus omits the nested if
statement.
Nested if
if (condition)
if (condition)
statement;
else if (condition)
statement;
else
statement;
Flowchart:
3.0 TASKS:
3.1
(a) The following code segment is syntactically correct, but difficult to read. Rewrite the
segment using indentation that improves its readability.
if (cRoadStat =='s')
if (fTemp > 0)
printf("Roads wet.\n");
else
printf("Roads icy.\n");
else
printf("Roads dry.\n");
if (iDigit == 0)
iValue = 3;
else if (iDigit == 1)
iValue = 3;
else if (iDigit == 2)
iValue = 6;
else if (iDigit == 3)
iValue = 9;
Speed (mph)
65 or less
66-70
71-75
76-80
over 80
Fine ($)
0
15.00
30.00
75.00
100.00
(d) Evaluate the expression below assuming a is 5, flag is 1, and c is 15. What part of
the expression is not computed at all because of short-circuit evaluation?
a != 3 && flag || c >= 10
(e)
3.2 Write an interactive program that contains an if statement that may be used to
compute the area of square (area = side2) or a triangle (area = 1/2 x base x height )
after prompting the user to type the first character of the figure names (S or T).
a. Write down the flowchart for the program.
b. Write your program based on flowchart in (a).
3.3 Write a program for the National Earthquake Information centre implementing the
following decision table to characterize an earthquake based on its Richter scale
number.
Richter Scale Number (N)
N < 5.0
5.0 N 5.5
5.5 N 6.5
6.5 N 7.5
higher
Characterization
Little or no damage
Some damage
Serious damage: wall may crack or fall
Disaster: house and buildings may collapse
Catastrophe: most buildings destroyed
Write a program that assigns to the variable lumens the expected brightness of a
standard light bulb whose power has been stored in watts. Use the following table:
Power (Watts)
15
25
40
60
75
100
Brightness (Lumens)
125
215
500
880
1000
1675
END