0% found this document useful (0 votes)
48 views

Algoritma & Pemrograman: Control Flow

The document discusses different types of loops in C++ including while, do-while, and for loops. It provides examples of how to use each loop type, how they are structured syntactically, and how expressions within the loops control the flow and number of iterations. Key points covered include initializing and reinitializing loop counters, using blocks within loops, nesting loops, and selecting between conditional blocks using if-else and else-if chains. Sample programs demonstrate the different loop structures and conditional flows.

Uploaded by

J3ane_Titahena
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views

Algoritma & Pemrograman: Control Flow

The document discusses different types of loops in C++ including while, do-while, and for loops. It provides examples of how to use each loop type, how they are structured syntactically, and how expressions within the loops control the flow and number of iterations. Key points covered include initializing and reinitializing loop counters, using blocks within loops, nesting loops, and selecting between conditional blocks using if-else and else-if chains. Sample programs demonstrate the different loop structures and conditional flows.

Uploaded by

J3ane_Titahena
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 31

Algoritma & Pemrograman

Control Flow (1)

Prepared by
Frans Panduwinata, S.Kom, M.T
Loops

• Loops are used to perform a set of instructions repeatedly.

• The set of instructions to be iterated is called the loop


body.

• C++ offers three language elements to formulate iteration


statements: while, do-while, and for.

• The number of times a loop is repeated is defined by a


controlling expression.
Structogram for while
The while Statement

• The while statement takes the following format:


SYNTAX:
while( expression )
statement // loop body
The while Statement (cont)

• When entering the loop, the controlling expression is


verified, i.e. the expression is evaluated.
– If this value is true,
the loop body is then executed before the controlling expression is
evaluated once more.

– If the controlling expression is false,


i.e. expression evaluates to false, the program goes on to
execute the statement following the while loop.
Building Blocks

• If you need to repeat more than one statement in a


program loop, you must place the statements in a block
marked by parentheses { }.

• A block is syntactically equivalent to a statement, so you


can use a block wherever the syntax requires a statement.
Sample Program
Structogram for for
Initializing and Reinitializing

• A typical loop uses a counter that is initialized, tested by


the controlling expression and reinitialized at the end of
the loop.
EXAMPLE:
int count = 1; // Initialization
while( count <= 10) // Controlling
expression
{
cout<<count<< ". loop"<<endl;
++count; // Reinitialization
}
Initializing and Reinitializing (cont)

• In the case of a for statement the elements that control


the loop can be found in the loop header.
SYNTAX:
for( expression1; expression2; expression3 )
statement

 expression1 is executed first and only once to initialize the loop.

 expression2 is the controlling expression, which is always


evaluated prior to executing the loop body:
 if expression2 is false, the loop is terminated
 if expression2 is true, the loop body is executed. Subsequently, the
loop is reinitialized by executing expression3 and expression2 is
re-tested.
Initializing and Reinitializing (cont)

• EXAMPLE:
int count;
for( count = 1; count <= 10; ++count)
cout << count<< ". loop" << endl;

• EXAMPLE:
for( int i = 0; i < 10; cout << i++ )
;

As this example illustrates,


 The loop body can be an empty statement.
 This is always the case if the loop header contains all necessary
statements.
 However, to improve readability, even the empty statement should
occupy a line of its own.
Sample Program
The Comma Operator

• You can use the comma operator to include several


expressions where a single expression is syntactically
correct.
SYNTAX:
expression1, expression2 [, expression3 ...]

The expressions separated by commas are evaluated from left to


right.
The Comma Operator (cont)

• EXAMPLE:
int x, i, limit;
for( i=0, limit=8; i < limit; i += 2)
x = i * i, cout << setw(10) << x;

The comma operator separates the assignments for the variables i


and limit and is then used to calculate and output the value of x in a
single statement.
The Comma Operator (cont)

• EXAMPLE:
x = (a = 3, b = 5, a * b);

In this example the statements in brackets are executed before the


value of the product of a * b is assigned to x.
Sample Program
Sample Program (cont)

Screen Output:
Structogram for do-while
The do-while Statement

• In contrast to while and for loops, which are controlled


by their headers,
the do-while loop is controlled by its footer.

• This results in the loop body being performed at least


once.
SYNTAX:
do
statement
while(expression);
Nesting Loops

• Loops can be nested, that


is, the loop body can also
contain a loop.

• The ANSI standard


stipulates a maximum
depth of 256 nested loops.
Nesting Loops (cont)

Screen Output:
Structogram for the if-else Statement
Selections with if-else

• The if-else statement can be used to choose between


two conditional statements.
SYNTAX:
if( expression )
statement1
[ else
statement2 ]

– expression is first evaluated.


– If the result is true, statement1 is executed and statement2 is
executed in all other cases, provided an else branch exists.
– If there is no else and expression is false, the control jumps to the
statement following the if statement.
Nested if-else Statements

• Multiple if-else statements can be nested. But not


every if statement has an else branch.
EXAMPLE:
if( n > 0 )
if( n%2 == 1 )
cout << " Positive odd number ";
else
cout << "Positive even number";

– In this example, the else branch belongs to the second if.


– An else branch is always associated with the nearest preceding if
statement that does not have an else branch.
Nested if-else Statements (cont)

• However, you can use a code block to redefine the


association of an else branch.
EXAMPLE:
if( n > 0 )
{
if( n%2 == 1 )
cout << " Positive odd number \n";
}
else
cout << " Negative number or zero\n";
Defining Variables in if Statements

• You can define and initialize a variable within an if


statement.

• The expression is true if converting the variable’s value to


a bool type yields true.
EXAMPLE:
if( int x = func() )
{...} // Here to work with x.

– The return value of the function, func(), is used to initialize the variable x.
– If this value is not 0, the statements in the next block are executed.
– The variable x no longer exists after leaving the if statement.
Sample Program
Structogram for an else-if Chain
Layout and Program Flow

• You can use an else-if chain to selectively execute one


of several options.
SYNTAX:
if ( expression1 )
statement1
else if( expression2 )
statement2
.
.
.
else if( expression(n) )
statement(n)
[ else statement(n+1)]
Sample Program

Screen Output:

Screen Output:
EXERCISES

You might also like