Chapter 4:
Decision Structures and Boolean Logic
Starting Out with Programming Logic & Design
Second Edition
by Tony Gaddis
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Chapter Topics
4.1
4.2
4.3
4.4
4.5
4.6
4.7
Introduction to Decision Structures
Dual Alternative Decision Structures
Comparing Strings
Nested Decision Structures
The Case Structure
Logical Operators
Boolean Variables
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-2
4.1 Introduction to Decision Structures
A decision structure allows a program to perform
actions only under certain conditions
Different types of decisions include
If, also called single alternative
If then else, also called dual alternative
Case structure for multiple alternative decisions
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-3
4.1 Introduction to Decision Structures
The if statement
An action only occurs if the decision is true
If condition Then
Statement
Statement
End If
A diamond symbol is used in flowcharts
Figure 4-1 A simple decision structure
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-4
4.1 Introduction to Decision Structures
Relational Operators
Determines whether a specific relationship exists between
two values
Used within the condition, a Boolean expression
x > y x<y x >=y x<y x <=y x==y x!=y
Table 4-1 Relational operators
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-5
4.2 Dual Alternative Decision Structures
If then else statement
Executes one group of statements if its Boolean expression
is true, or another group if its Boolean expression is false
Figure 4-8 A dual alternative decision structure
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-6
4.2 Dual Alternative Decision Structures
If condition Then
statement
statement
Else
statement
statement
End if
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
If temperature < 40 Then
Display A little cold
Display Get a coat!
Else
Display Nice weather
Display And sunny!
End if
1-7
4.3 Comparing Strings
Most languages allow you to compare strings
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-8
4.3 Comparing Strings
Other String Concerns
String and strings can be compared
name1 == name 2
String and string literals can be compared
Month != October
String comparisons are generally case sensitive
You can also determine whether one string is
greater than or less than another string (allows for
sorting strings)
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-9
4.4 Nested Decision Structures
Decisions are nested in order to test more than
one condition
If then if else example
Figure 4-15 A nested decision structure
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-10
4.4 Nested Decision Structures
The if then else if statement can make nested
logic simpler to write
If score < 60 Then
Display Grade is F.
Else If score < 70 Then
Display Grade is D.
Else If score < 80 Then
Display Grade is C.
Else If score < 90 Then
Display Grade is B.
Else
Display Grade is A.
End If
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-11
4.5 The Case Structure
The case structure lets the value of a variable or
an expression determine which path of
execution the program will take
Can be used as an alternative to nested decisions
Figure 4-18 A case structure
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-12
4.6 Logical Operators
Logical Operators are used between conditions
to create complex Boolean expressions
AND Both conditions must be true
OR Either condition must be true
NOT Reverses the truth of an expression
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-13
4.6 Logical Operators
AND example
If temperature < 20 AND minutes > 12 Then
Display The temperature is in the danger zone.
End If
OR example
If temperature < 20 OR temperature > 100 Then
Display The temperature is in the danger zone.
End If
NOT example
If NOT (temperature > 100) Then
Display This is below the maximum temperature.
End If
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-14
4.6 Logical Operators
Range Checking
Often used for range checking
When checking for a number inside a range, use AND
If x >=20 AND x <=40 Then
Display The value is in the acceptable range.
End If
When checking for a number outside a range, use OR
If x < 20 OR x >40 Then
Display The value is outside the acceptable range.
End If
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-15
4.7 Boolean Variables
A variable of the Boolean data type can hold one
or two values: true or false
Declare Boolean isLunchTime
If time >=12 then
Set isLunchTime = True
Else
Set isLunchTime = False
End If
Copyright 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
1-16