

Untitled Lesson
Presentation
•
Computers
•
12th Grade
•
Practice Problem
•
Hard
Hojanyyaz Atadurdyyev
FREE Resource
77 Slides • 0 Questions
1
Copyright © 2012 Pearson Education, Inc.
Chapter 4:
Making
Decisions
2
Copyright © 2012 Pearson Education, Inc.
4.1
Relational Operators
3
Copyright © 2012 Pearson Education, Inc.
Relational Operators
• Used to compare numbers to determine
relative order
• Operators:
>
Greater than
<
Less than
>=
Greater than or equal to
<=
Less than or equal to
==
Equal to
!=
Not equal to
4
Copyright © 2012 Pearson Education, Inc.
Relational Expressions
• Boolean expressions – true or false
• Examples:
12 > 5 is true
7 <= 5 is false
if x is 10, then
x == 10 is true,
x != 8 is true, and
x == 8 is false
5
Copyright © 2012 Pearson Education, Inc.
Relational Expressions
• Can be assigned to a variable:
result = x <= y;
• Assigns 0 for false, 1 for true
• Do not confuse = and ==
6
Copyright © 2012 Pearson Education, Inc.
4.2
The if Statement
7
Copyright © 2012 Pearson Education, Inc.
The if Statement
• Allows statements to be conditionally
executed or skipped over
• Models the way we mentally evaluate
situations:
– "If it is raining, take an umbrella."
– "If it is cold outside, wear a coat."
8
Copyright © 2012 Pearson Education, Inc.
Flowchart for Evaluating a Decision
9
Copyright © 2012 Pearson Education, Inc.
Flowchart for Evaluating a Decision
10
Copyright © 2012 Pearson Education, Inc.
The if Statement
• General Format:
if (expression)
statement;
11
Copyright © 2012 Pearson Education, Inc.
The if Statement-What Happens
To evaluate:
if (expression)
statement;
• If the expression is true, then
statement is executed.
• If the expression is false, then
statement is skipped.
12
Copyright © 2012 Pearson Education, Inc.
if Statement in Program 4-2
Continued…
13
Copyright © 2012 Pearson Education, Inc.
if Statement in Program 4-2
14
Copyright © 2012 Pearson Education, Inc.
Flowchart for Program 4-2 Lines 21
and 22
15
Copyright © 2012 Pearson Education, Inc.
if Statement Notes
• Do not place ; after (expression)
• Place statement; on a separate line
after (expression), indented:
if (score > 90)
grade = 'A';
• Be careful testing floats and doubles
for equality
• 0 is false; any other value is true
16
Copyright © 2012 Pearson Education, Inc.
4.3
Expanding the if Statement
17
Copyright © 2012 Pearson Education, Inc.
Expanding the if Statement
• To execute more than one statement as part of
an if statement, enclose them in { }:
if (score > 90)
{
grade = 'A';
cout << "Good Job!\n";
}
•
{ } creates a block of code
18
Copyright © 2012 Pearson Education, Inc.
4.4
The if/else Statement
19
Copyright © 2012 Pearson Education, Inc.
The if/else statement
• Provides two possible paths of execution
• Performs one statement or block if the
expression is true, otherwise performs
another statement or block.
20
Copyright © 2012 Pearson Education, Inc.
The if/else statement
• General Format:
if (expression)
statement1; // or block
else
statement2; // or block
21
Copyright © 2012 Pearson Education, Inc.
if/else-What Happens
To evaluate:
if (expression)
statement1;
else
statement2;
• If the expression is true, then statement1 is
executed and statement2 is skipped.
• If the expression is false, then statement1 is
skipped and statement2 is executed.
22
Copyright © 2012 Pearson Education, Inc.
The if/else statement and
Modulus Operator in Program 4-8
23
Copyright © 2012 Pearson Education, Inc.
Flowchart for Program 4-8 Lines 14
through 18
24
Copyright © 2012 Pearson Education, Inc.
Testing the Divisor in Program 4-9
Continued…
25
Copyright © 2012 Pearson Education, Inc.
Testing the Divisor in Program 4-9
26
Copyright © 2012 Pearson Education, Inc.
4.5
Nested if Statements
27
Copyright © 2012 Pearson Education, Inc.
Nested if Statements
• An if statement that is nested inside
another if statement
• Nested if statements can be used to test
more than one condition
28
Copyright © 2012 Pearson Education, Inc.
Flowchart for a Nested if
Statement
29
Copyright © 2012 Pearson Education, Inc.
Nested if Statements
• From Program 4-10
30
Copyright © 2012 Pearson Education, Inc.
Nested if Statements
• Another example, from Program 4-1
31
Copyright © 2012 Pearson Education, Inc.
Use Proper Indentation!
32
Copyright © 2012 Pearson Education, Inc.
4.6
The if/else if Statement
33
Copyright © 2012 Pearson Education, Inc.
The if/else if Statement
• Tests a series of conditions until one is
found to be true
• Often simpler than using nested if/else
statements
• Can be used to model thought processes
such as:
"If it is raining, take an umbrella,
else, if it is windy, take a hat,
else, take sunglasses”
34
Copyright © 2012 Pearson Education, Inc.
if/else if Format
if (expression)
statement1; // or block
else if (expression)
statement2; // or block
.
. // other else ifs
.
else if (expression)
statementn; // or block
35
Copyright © 2012 Pearson Education, Inc.
The if/else if Statement in
Program 4-13
36
Copyright © 2012 Pearson Education, Inc.
Using a Trailing else to Catch
Errors in Program 4-14
• The trailing else clause is optional, but it
is best used to catch errors.
This trailing
else
catches
invalid test
scores
37
Copyright © 2012 Pearson Education, Inc.
4.7
Flags
38
Copyright © 2012 Pearson Education, Inc.
Flags
• Variable that signals a condition
• Usually implemented as a bool variable
• Can also be an integer
– The value 0 is considered false
– Any nonzero value is considered true
• As with other variables in functions, must
be assigned an initial value before it is
used
39
Copyright © 2012 Pearson Education, Inc.
4.8
Logical Operators
40
Copyright © 2012 Pearson Education, Inc.
Logical Operators
• Used to create relational expressions from
other relational expressions
• Operators, meaning, and explanation:
&&
AND
New relational expression is true if both
expressions are true
||
OR
New relational expression is true if either
expression is true
!
NOT
Reverses the value of an expression – true
expression becomes false, and false becomes
true
41
Copyright © 2012 Pearson Education, Inc.
Logical Operators-Examples
(x > y) && (y > z)
true
(x > y) && (z > y)
false
(x <= z) || (y == z)
false
(x <= z) || (y != z)
true
!(x >= z)
false
?
?
?
?
?
42
Copyright © 2012 Pearson Education, Inc.
The logical && operator in Program
4-15
43
Copyright © 2012 Pearson Education, Inc.
The logical || Operator in Program
4-16
44
Copyright © 2012 Pearson Education, Inc.
The logical ! Operator in Program
4-17
45
Copyright © 2012 Pearson Education, Inc.
Logical Operator-Notes
• ! has highest precedence, followed by &&,
then ||
• If the value of an expression can be
determined by evaluating just the sub-
expression on left side of a logical
operator, then the sub-expression on the
right side will not be evaluated (short
circuit evaluation)
46
Copyright © 2012 Pearson Education, Inc.
4.9
Checking Numeric Ranges with
Logical Operators
47
Copyright © 2012 Pearson Education, Inc.
Checking Numeric Ranges with
Logical Operators
• Used to test to see if a value falls inside a range:
if (grade >= 0 && grade <= 100)
cout << "Valid grade";
• Can also test to see if value falls outside of range:
if (grade <= 0 || grade >= 100)
cout << "Invalid grade";
• Cannot use mathematical notation:
if (0 <= grade <= 100) //doesn’t work!
48
Copyright © 2012 Pearson Education, Inc.
4.10
Menus
49
Copyright © 2012 Pearson Education, Inc.
Menus
• Menu-driven program: program execution
controlled by user selecting from a list of
actions
• Menu: list of choices on the screen
• Menus can be implemented using
if/else if statements
50
Copyright © 2012 Pearson Education, Inc.
Menu-Driven Program Organization
• Display list of numbered or lettered
choices for actions
• Prompt user to make selection
• Test user selection in expression
– if a match, then execute code for action
– if not, then go on to next expression
51
Copyright © 2012 Pearson Education, Inc.
4.11
Validating User Input
52
Copyright © 2012 Pearson Education, Inc.
Validating User Input
• Input validation: inspecting input data to
determine whether it is acceptable
• Bad output will be produced from bad
input
• Can perform various tests:
– Range
– Reasonableness
– Valid menu choice
– Divide by zero
53
Copyright © 2012 Pearson Education, Inc.
Input Validation in Program 4-19
54
Copyright © 2012 Pearson Education, Inc.
4.12
Comparing Characters and
Strings
55
Copyright © 2012 Pearson Education, Inc.
Comparing Characters
• Characters are compared using their ASCII
values
• 'A' < 'B'
– The ASCII value of 'A' (65) is less than the ASCII
value of 'B'(66)
• '1' < '2'
– The ASCII value of '1' (49) is less than the ASCI
value of '2' (50)
• Lowercase letters have higher ASCII codes
than uppercase letters, so 'a' > 'Z'
56
Copyright © 2012 Pearson Education, Inc.
Relational Operators Compare
Characters in Program 4-20
57
Copyright © 2012 Pearson Education, Inc.
Comparing string Objects
• Like characters, strings are compared
using their ASCII values
string name1 = "Mary";
string name2 = "Mark";
name1 > name2 // true
name1 <= name2 // false
name1 != name2 // true
name1 < "Mary Jane" // true
The characters in each
string must match before
they are equal
58
Copyright © 2012 Pearson Education, Inc.
Relational Operators Compare
Strings in Program 4-21
59
Copyright © 2012 Pearson Education, Inc.
4.13
The Conditional Operator
60
Copyright © 2012 Pearson Education, Inc.
The Conditional Operator
• Can use to create short if/else
statements
• Format: expr ? expr : expr;
x<0 ? y=10 : z=20;
First Expression:
Expression to be
tested
2nd Expression:
Executes if first
expression is true
3rd Expression:
Executes if the first
expression is false
61
Copyright © 2012 Pearson Education, Inc.
The Conditional Operator
• The value of a conditional expression is
– The value of the second expression if the first
expression is true
– The value of the third expression if the first
expression is false
• Parentheses () may be needed in an
expression due to precedence of
conditional operator
62
Copyright © 2012 Pearson Education, Inc.
The Conditional Operator in
Program 4-22
63
Copyright © 2012 Pearson Education, Inc.
4.14
The switch Statement
64
Copyright © 2012 Pearson Education, Inc.
The switch Statement
• Used to select among statements from
several alternatives
• In some cases, can be used instead of
if/else if statements
65
Copyright © 2012 Pearson Education, Inc.
switch Statement Format
switch (expression) //integer
{
case exp1: statement1;
case exp2: statement2;
...
case expn: statementn;
default: statementn+1;
}
66
Copyright © 2012 Pearson Education, Inc.
The switch Statement in Program
4-23
67
Copyright © 2012 Pearson Education, Inc.
switch Statement Requirements
1) expression must be an integer variable
or an expression that evaluates to an
integer value
2) exp1 through expn must be constant
integer expressions or literals, and must
be unique in the switch statement
3)
default is optional but recommended
68
Copyright © 2012 Pearson Education, Inc.
switch Statement-How it Works
1) expression is evaluated
2) The value of expression is compared
against exp1 through expn.
3) If expression matches value expi, the
program branches to the statement
following expi and continues to the end
of the switch
4) If no matching value is found, the
program branches to the statement after
default:
69
Copyright © 2012 Pearson Education, Inc.
break Statement
• Used to exit a switch statement
• If it is left out, the program "falls through"
the remaining statements in the switch
statement
70
Copyright © 2012 Pearson Education, Inc.
break and default statements in
Program 4-25
Continued…
71
Copyright © 2012 Pearson Education, Inc.
break and default statements in
Program 4-25
72
Copyright © 2012 Pearson Education, Inc.
Using switch in Menu Systems
• switch statement is a natural choice for
menu-driven program:
– display the menu
– then, get the user's menu selection
– use user input as expression in switch
statement
– use menu choices as expr in case
statements
73
Copyright © 2012 Pearson Education, Inc.
4.15
More About Blocks and Scope
74
Copyright © 2012 Pearson Education, Inc.
More About Blocks and Scope
• Scope of a variable is the block in which it
is defined, from the point of definition to
the end of the block
• Usually defined at beginning of function
• May be defined close to first use
75
Copyright © 2012 Pearson Education, Inc.
Inner Block Variable Definition in
Program 4-29
76
Copyright © 2012 Pearson Education, Inc.
Variables with the Same Name
• Variables defined inside { } have local or
block scope
• When inside a block within another block,
can define variables with the same name
as in the outer block.
– When in inner block, outer definition is not
available
– Not a good idea
77
Copyright © 2012 Pearson Education, Inc.
Two Variables with the Same
Name in Program 4-30
Copyright © 2012 Pearson Education, Inc.
Chapter 4:
Making
Decisions
Show answer
Auto Play
Slide 1 / 77
SLIDE
Similar Resources on Wayground
74 questions
FRESHDESK QUIZ
Presentation
•
KG - University
76 questions
Price Ceiling and Price Floor
Presentation
•
12th Grade
72 questions
STI's
Presentation
•
12th Grade
69 questions
CS124 - Programming Language - Statement-Level Control Struc
Presentation
•
University
68 questions
Comptia A+ Review 1001- Networking 1
Presentation
•
University
69 questions
Ch. 14 Instructional Strategies
Presentation
•
12th Grade
74 questions
APB Unit 6.3 - Gene Expression and Regulation #GoBioRams
Presentation
•
11th - 12th Grade
75 questions
Bahasa Inggris 1 - Week 08 and 09
Presentation
•
University
Popular Resources on Wayground
20 questions
"What is the question asking??" Grades 3-5
Quiz
•
1st - 5th Grade
20 questions
“What is the question asking??” Grades 6-8
Quiz
•
6th - 8th Grade
10 questions
Fire Safety Quiz
Quiz
•
12th Grade
20 questions
Equivalent Fractions
Quiz
•
3rd Grade
34 questions
STAAR Review 6th - 8th grade Reading Part 1
Quiz
•
6th - 8th Grade
20 questions
“What is the question asking??” English I-II
Quiz
•
9th - 12th Grade
20 questions
Main Idea and Details
Quiz
•
5th Grade
47 questions
8th Grade Reading STAAR Ultimate Review!
Quiz
•
8th Grade
Discover more resources for Computers
10 questions
Fire Safety Quiz
Quiz
•
12th Grade
20 questions
“What is the question asking??” English I-II
Quiz
•
9th - 12th Grade
10 questions
Fire Prevention
Quiz
•
9th - 12th Grade
20 questions
Grammar
Quiz
•
9th - 12th Grade
16 questions
AP Biology: Unit 1 Review (CED)
Quiz
•
9th - 12th Grade
20 questions
verbos reflexivos en español
Quiz
•
9th - 12th Grade
11 questions
Expectations Review
Quiz
•
9th - 12th Grade
10 questions
Climate Change and Its Impact
Interactive video
•
9th - 12th Grade