Thông tin tài liệu
2003 Prentice Hall, Inc. All rights reserved.
1
Chapter 2 - Control Structures
Outline
2.1 Introduction
2.2 Algorithms
2.3 Pseudocode
2.4 Control Structures
2.5 if Selection Structure
2.6 if/else Selection Structure
2.7 while Repetition Structure
2.8 Formulating Algorithms: Case Study 1 (Counter-Controlled
Repetition)
2.9 Formulating Algorithms with Top-Down, Stepwise Refinement:
Case Study 2 (Sentinel-Controlled Repetition)
2.10 Formulating Algorithms with Top-Down, Stepwise Refinement:
Case Study 3 (Nested Control Structures)
2.11 Assignment Operators
2.12 Increment and Decrement Operators
2.13 Essentials of Counter-Controlled Repetition
2.14 for Repetition Structure
2.15 Examples Using the for Structure
2003 Prentice Hall, Inc. All rights reserved.
2
Chapter 2 - Control Structures
Outline
2.16 switch Multiple-Selection Structure
2.17 do/while Repetition Structure
2.18 break and continue Statements
2.19 Logical Operators
2.20 Confusing Equality (==) and Assignment (=) Operators
2.21 Structured-Programming Summary
2003 Prentice Hall, Inc. All rights reserved.
3
2.1 Introduction
•
Before writing a program
–
Have a thorough understanding of problem
–
Carefully plan your approach for solving it
•
While writing a program
–
Know what “building blocks” are available
–
Use good programming principles
2003 Prentice Hall, Inc. All rights reserved.
4
2.2 Algorithms
•
Computing problems
–
Solved by executing a series of actions in a specific order
•
Algorithm a procedure determining
–
Actions to be executed
–
Order to be executed
–
Example: recipe
•
Program control
–
Specifies the order in which statements are executed
2003 Prentice Hall, Inc. All rights reserved.
5
2.3 Pseudocode
•
Pseudocode
–
Artificial, informal language used to develop algorithms
–
Similar to everyday English
•
Not executed on computers
–
Used to think out program before coding
•
Easy to convert into C++ program
–
Only executable statements
•
No need to declare variables
2003 Prentice Hall, Inc. All rights reserved.
6
2.4 Control Structures
•
Sequential execution
–
Statements executed in order
•
Transfer of control
–
Next statement executed not next one in sequence
•
3 control structures (Bohm and Jacopini)
–
Sequence structure
•
Programs executed sequentially by default
–
Selection structures
•
if, if/else, switch
–
Repetition structures
•
while, do/while, for
2003 Prentice Hall, Inc. All rights reserved.
7
2.4 Control Structures
•
C++ keywords
–
Cannot be used as identifiers or variable names
C++ Keywo rds
Keywords common to the
C and C++ programming
languages
auto
break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if
int
long
register
return
short
signed
sizeof
static
struct
switch
typedef
union
unsigned
void
volatile
while
C++ only keywords
asm
bool
catch
class
const_cast
delete
dynamic_cast
explicit
false
friend
inline
mutable
namespace
new
operator
private
protected
public
reinterpret_cast
static_cast
template
this
throw
true
try
typeid
typename
using
virtual
wchar_t
2003 Prentice Hall, Inc. All rights reserved.
8
2.4 Control Structures
•
Flowchart
–
Graphical representation of an algorithm
–
Special-purpose symbols connected by arrows (flowlines)
–
Rectangle symbol (action symbol)
•
Any type of action
–
Oval symbol
•
Beginning or end of a program, or a section of code (circles)
•
Single-entry/single-exit control structures
–
Connect exit point of one to entry point of the next
–
Control structure stacking
2003 Prentice Hall, Inc. All rights reserved.
9
2.4 Control Structures
2003 Prentice Hall, Inc. All rights reserved.
10
2.5 if Selection Structure
•
Selection structure
–
Choose among alternative courses of action
–
Pseudocode example:
If student’s grade is greater than or equal to 60
Print “Passed”
–
If the condition is true
•
Print statement executed, program continues to next statement
–
If the condition is false
•
Print statement ignored, program continues
–
Indenting makes programs easier to read
•
C++ ignores whitespace characters (tabs, spaces, etc.)
[...]... of grade to be entered next grade value average of grades // initialization phase total = 0; // initialize total gradeCounter = 1; // initialize loop counter © 20 03 Prentice Hall, Inc All rights reserved 23 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 // processing phase while ( gradeCounter grade; total = total + grade; gradeCounter = gradeCounter +... grades were entered” • Next: C++ program © 20 03 Prentice Hall, Inc All rights reserved 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 // Fig 2. 9: fig 02_ 09.cpp // Class average program with sentinel-controlled repetition #include using using using using Outline fig 02_ 09.cpp (1 of 3) std::cout; std::cin; std::endl; std::fixed; #include // parameterized stream manipulators... successfully } // end function main Enter Enter Enter Enter Enter Enter Enter Enter Enter Class grade, -1 to end: grade, -1 to end: grade, -1 to end: grade, -1 to end: grade, -1 to end: grade, -1 to end: grade, -1 to end: grade, -1 to end: grade, -1 to end: average is 82. 50 75 94 97 88 70 64 83 89 -1 setprecision (2) prints two digits past fixed forces output to print decimal in fixed point format (not point... average to the total divided by ten Print the class average • Next: C++ code for this example © 20 03 Prentice Hall, Inc All rights reserved 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 // Fig 2. 7: fig 02_ 07.cpp // Class average program with counter-controlled repetition #include fig 02_ 07.cpp (1 of 2) using std::cout; using std::cin; using std::endl; // function main begins int main() { int... gradeCounter = 0; // initialize loop counter © 20 03 Prentice Hall, Inc All rights reserved 30 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 // processing phase // get first grade from user cout > grade; Outline // prompt for input // read grade from user // loop until sentinel value read from user while ( grade != -1 )static_cast() treats total... reserved 2. 9 27 Formulating Algorithms (SentinelControlled Repetition) • Many programs have three phases – Initialization • Initializes the program variables – Processing • Input data, adjusts program variables – Termination • Calculate and print the final results – Helps break up programs for top-down refinement © 20 03 Prentice Hall, Inc All rights reserved 2. 9 28 Formulating Algorithms (SentinelControlled... • Example int product = 2; while ( product . 20 03 Prentice Hall, Inc. All rights reserved.
1
Chapter 2 - Control Structures
Outline
2. 1 Introduction
2. 2 Algorithms
2. 3 Pseudocode
2. 4 Control Structures
2. 5. Structure
2. 15 Examples Using the for Structure
20 03 Prentice Hall, Inc. All rights reserved.
2
Chapter 2 - Control Structures
Outline
2. 16 switch Multiple-Selection
Ngày đăng: 19/03/2014, 09:20
Xem thêm: Chapter 2 - Control Structures docx, Chapter 2 - Control Structures docx, 20 Confusing Equality (==) and Assignment (=) Operators