chapter 6 - repetition

Post on 31-Jan-2016

33 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Chapter 6 - Repetition. while Loop. Simplest loop Two parts: test expression and loop body Pre-tested loop Execute loop body if test true Bypass loop body if test false. Logical expression (variable or arithmetic expression) Boolean results (True or False). General Structure. - PowerPoint PPT Presentation

TRANSCRIPT

Chapter 6 - Repetition

while Loop

Simplest loop Two parts: test expression and loop body Pre-tested loop

– Execute loop body if test true– Bypass loop body if test false

General Structure

while (expression) { statement1 statement2 … }

Logical expression (variable or arithmetic expression)Boolean results (True or False)

Steps In Using a while Loop

1. Initialize variable acting as test expression 2. Evaluate the boolean test 3. If true execute statements within loop 4. Update the variable 5. Go back to step 2

Note: if no change to variable then infinite loop (never ends) is created

Example while Loop

int i= 0, number = 1;while (number) { cout << “Please type a number. ”

<< “Type 0 (zero) to stop execution.\n”; cin >> number; i++; if (i > 50) break; }

Initialize variables

Variable as expressionvalue other than zero tests true

Loop body

Statements that provide exit from loop

Example while Loop

int i= 0;while (i <= 5) { cout << “Loop number is “ << i; i++; }

Initialize test expression variable

Expression evaluated, whentrue, statements in loop executed

Statements within loop

Changing variable to provide exit from loop

do-while Loop

Used when you want to execute loop at least once

Loops on test being true and exits when test is false

General Syntax

do

{ statement1;

statement2;

… } while (expression);

do while Loop Example

Bare bones Does not alert user of problems

do { cout << “\n enter an id number:”; cin >> id_num; } while ((id_num < 100) || (id_num>1999));

Better do while Loop do { cout << “\n Enter an id number:”; cin >> id_num; if ((id_num < 100) || (id_num > 1999)) { cout << “\n invalid number entered” << “\n please check and re-enter”; } else break; } while (1);

Decision Statement – Chapter 5

Expression always trueExit loop if id number is valid

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

For Loop

Convenient for counter controlled loops Pre-tested loop Same behavior as while

– Set lcv to initial value– Test lcv against terminating value– Update lcv to next value

All done in for header statement

General Syntax

for (initialize lcv; test lcv; update lcv) {

statement; statement; }

for Loop (cont.) Example: for (int i = 0; i < 10; i++)

cout << i; Initialization, testing and updating in same

statement Semicolons required Braces optional if only one statement

Example: int finalValue; cin >> finalValue; for (int counter = 0; counter < finalValue; counter++) cout << "*";

Display Screen

3finalValue

3counter

0

True

*1

True

*2

True

*3

False

For Loop Examples

float sum = 0; for (float x = 0.5; x < 20.1; x += 0.5)

sum += sqrt (x);

for (int count = 0; count < n; count++)cout << ch;

Comparison: int finalvalue; cin >> finalValue; for (int counter = 0; counter < finalValue; counter++) cout << "*";

counter = 0; cin >> finalValue; while (counter < finalValue) { cout << "*"; counter++;}

int counter, finalValue;int finalvalue;cin >> finalValue;for (int counter = 0;counter < finalValue;counter ++)cout << "*";

Debugging and Testing

Off by one errors– Check loops to ensure you are executing the

correct number of times– x < 10 or x <= 10

Check loop boundaries– Can create infinite loop

Does answer make sense

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 < 10; I++, j++)

Summary

Create while loops Create do-while loops Create for loops Trace and debug loops Use loops to solve problems

Learned how to:

top related