Chapter 6 - Repetition - PowerPoint PPT Presentation

About This Presentation
Title:

Chapter 6 - Repetition

Description:

Such situations require repetition in control flow. ... to input 'month' value, keep prompting until a correct value of moth is input. ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 28
Provided by: RalphFTo7
Learn more at: https://cse.buffalo.edu
Category:

less

Transcript and Presenter's Notes

Title: Chapter 6 - Repetition


1
Chapter 6 - Repetition

2
Introduction
  • Many applications require certain operations to
    be carried out more than once. Such situations
    require repetition in control flow.
  • In C repetition in execution can be realized
    using a while, do-while and a for statement.

3
Topics for discussion
  • Repetition structure (loop) design
  • while loop syntax, semantics, example
  • Loop control
  • do-while syntax, semantics, example
  • for loop syntax, semantics, example
  • Summary

4
while loop syntax
  • while ( condition )
  • statement
  • condition is a logical expression that
    evaluates to true or false. It could be a
    relational or Boolean expression.
  • statement could a single statement or more
    than one statement bounded by .

5
while loop semantics
  • 1) The condition is evaluated.
  • 2) If it is true, then the body of the loop is
    executed. Then the control is transferred back to
    the condition for re-evaluation.
  • 3) If the logical expression is false, the while
    loop is exited and control is transferred to the
    statement after the while statement.

6
The while statement
  • while (condition)
  • statement
  • while (condition)
  • statement block

7
Loop Design
  • Loop design should consider
  • Initialization of conditions (sum 0)
  • Termination of the loop (when n 0)
  • Testing (at the top or bottom of the loop)
  • (at the top , n gt 0)
  • Updating conditions
  • ( n n -1)
  • Of course, the body of the loop.
  • (sum sum n n n -1)
  • Body of the loop Statements representing the
    process to be repeated. These are statements
    within the scope of a loop.

8
Example while Loop
int i 0, number 1 while (number)
cout ltlt Please type a number. ltlt
Type 0 (zero) to stop execution.\n
cin gtgt number i if (i gt 50)
break
Lesson 6.2
9
Example while Loop
int i 0 while (i lt 5) cout ltlt
Loop number is ltlt i i
Lesson 6.2
10
Example
  • Write statements that takes as input n, the side
    of a square and print and square of size n with
    asterisks.
  • //PRE n is a value between 2 and 20
  • //Output is for n3

11
Do-while - syntax
  • Use this control structure
  • When a loop needs to be executed at least once.
  • When the testing of the conditions needs to be
    done at the bottom.
  • do
  • statement
  • while ( condition )

12
do-while semantics
  • 1) Execute the statement.
  • 2) Evaluate the expression.
  • If it is TRUE then proceed to step 1)
  • else exit the loop.
  • NOTE do-while is executed at least once.

13
The do/while statement
  • do
  • statement
  • while (condition)
  • do
  • statement block
  • while (condition)

while
14
Example for do-while
  • Usage Prompt user to input month value, keep
    prompting until a correct value of moth is input.
  • do
  • cout ltltPlease input month 1-12)
  • cin gtgt month
  • while ((month lt 1) (month gt 12))

15
do while Loop Example
  • do
  • cout ltlt \n enter an id number
  • cin gtgt id_num
  • while ((id_num lt 100) (id_numgt1999))
  • Bare bones
  • Does not alert user of problems

Lesson 6.3
16
Better do while Loop
  • do
  • cout ltlt \n Enter an id number
  • cin gtgt id_num
  • if ((id_num lt 100) (id_num gt 1999))
  • cout ltlt \n invalid number entered
  • ltlt \n please check and re-enter
  • else
  • break
  • while (1)

Lesson 6.3
17
Recap while(s)
  • while
  • Most commonly used when repetition not counter
    controlled
  • Pre-tested
  • Loop body may not be executed
  • do-while
  • Convenient when at least one repetition needed
  • Post-tested

Lesson 6.3
18
For loop - syntax
  • for (initialize exp test exp update exp)
  • statement
  • initialize exp done only once at the start
  • test exp This is a condition that evaluates to
    TRUE or FALSE.
  • update exp This specifies how to update
    condition.
  • Note for loop is used when the number of times
    to be repeated is fixed/known apriori.

19
For loop - Semantics
  • 1) Initialize exp is executed.
  • 2) Test exp is evaluated.
  • If it is TRUE , body of for is executed
  • else exit for loop
  • 3) After the execution of the body of the loop,
    update exp is executed to update condition go to
    Step 2 above.

20
The for statement
initalize
false
test
increment/ decrement
true
statement(s)
statement(s)
21
for Loop (cont.)
  • Example
  • for (int i 0 i lt 10 i) cout ltlt i
  • Initialization, testing and updating in same
    statement
  • Semicolons required
  • Braces optional if only one statement

Lesson 6.4
22
Example
  • int finalValue
  • cin gtgt finalValue
  • for (int counter 0 counter lt finalValue
    counter)
  • cout ltlt ""

True
True
True
False
0
3



Lesson 6.4
23
For Loop Examples
  • for (int count 0 count lt n count) cout ltlt
    ch
  • float sum 0
  • for (float x 0.5 x lt 20.1 x 0.5) sum
    sqrt (x)

Lesson 6.4
24
Comparison
  • int finalvalue
  • cin gtgt finalValue
  • for (int counter 0 counter lt finalValue
    counter)
  • cout ltlt ""

int finalvalue
cin gtgt finalValue
for
(int counter 0
counter lt finalValue
counter )
cout ltlt ""
Lesson 6.4
25
Debugging and Testing
  • Off by one errors
  • Check loops to ensure you are executing the
    correct number of times
  • x lt 10 or x lt 10
  • Check loop boundaries
  • Can create infinite loop
  • Does answer make sense

Lesson 6.4
26
For Loop Modifications
  • break statement
  • Can use within loop to terminate early
  • Controversial
  • Multiple expressions for initialization and
    increment
  • Use comma separated list
  • for (I 1, j 2 I lt 10 I, j)

Lesson 6.4
27
Summary
Learned how to
  • Create while loops
  • Create do-while loops
  • Create for loops
  • Trace and debug loops
  • Use loops to solve problems

Chapter 6
Write a Comment
User Comments (0)
About PowerShow.com