Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 8 Repetition Statements. Introduction Iteration - process of looping or the repetition of one or more statements Loop body - the statement, or.

Similar presentations


Presentation on theme: "Chapter 8 Repetition Statements. Introduction Iteration - process of looping or the repetition of one or more statements Loop body - the statement, or."— Presentation transcript:

1 Chapter 8 Repetition Statements

2 Introduction Iteration - process of looping or the repetition of one or more statements Loop body - the statement, or statements, that will be repeated

3 8.1 General Repetition Concepts Two different categories of loops Pre-test: Test condition first - complete the body of the loop if condition is true Post-test: Test condition after body has executed once - body will only be repeated if the condition is true

4 8.1 General Repetition Concepts

5 Looping structures must have the following: Variable with an initial value that controls whether the body of the loop is executed (i.e., control variable) Conditional expression involving control variable Statement within the body where control variable is modified each time the body of the loop is executed

6 8.1 General Repetition Concepts Infinite loop – a loop that continuously executes - the program or loop has to be terminated by the user or programmer Usually an error situation Most common cause - failure to manipulate the control variable In Windows - pressing Ctrl + C causes program to stop execution

7 8.1 General Repetition Concepts Nested loop - loop embedded in another loop Almost any statement can be placed in loop body - including other loops or conditional statements Once finished, flow transfer's to the next statement following the loop

8 8.2 The while Loop Pre-test loop Syntax: while ( ) Action, or body, will continue to execute while the condition remains true If the body needs to include multiple statements, surround them (action) with curly braces

9 8.2 The while Loop Sometimes see a loop written as: while ( 1 ) {... } The numeric literal 1 is treated as a true condition and never changes – causing an infinite loop

10 8.2 The while Loop while ( 1 ) {... } Requires additional statement within the body of the loop to terminate it Although there are reasons to use this type of loop, it should only be used by experienced programmers and then only with due consideration

11 8.2 The while Loop char again = '\0'; int operand1 = 0, operand2 = 0; cout << "\nDo you wish to multiply two numbers (y/n)? "; cin >> again; // Priming read while ( again == 'y' || again == 'Y' ) // Notice no semicolon { // Start of the loop body (action) cout << "Enter first number: "; cin >> operand1; cout << "Enter second number: "; cin >> operand2; cout << "Result: " << operand1 << " * " << operand2 << " = " << operand1 * operand2 << endl; // Don’t forget to change the control variable cout << "\nDo you wish to multiply two more numbers (y/n)? "; cin >> again; } // End of the loop body (action) cout << "The End" << endl;

12 8.2 The while Loop Priming read - a prompt prior to encountering a loop Ensures the control variable has a user provided value before evaluating the condition Must be a corresponding prompt as the last statement in the body of the loop

13 8.3 The do-while Loop Post-test loop (the body of the loop always executes at least once) Syntax: do while ( ); If the body needs to include multiple statements, surround them with curly braces

14 8.3 The do-while Loop char menu_choice; float number; cout << "Please enter a number: "; cin >> number; do { cout << "\n1) Square the Number\n" << "2) Cube the Number\n" << "3) Exit\n\n" << "Please enter menu choice: " << endl; cin >> menu_choice; switch ( menu_choice ) { case '1': cout << number << " Squared = " << number * number << endl; break; case '2': cout << number << " Cubed = " << number * number * number << endl; break; case '3': cout << "Goodbye" << endl; break; default: cout << "Invalid menu option" << endl; } } while ( menu_choice != '3' ); // Notice the semicolon

15 8.4 The for Loop Generally used when the specific number of iterations are known Both while loops and for loops are pre- test loops - could be used interchangeable

16 8.4 The for Loop Syntax: for ( ; ; )

17 8.4 The for Loop for ( ; ; ) Four sections: Requires the two semicolons ( ; ) and the action Can include multiple statements separated by commas placed within both the and sections

18 8.4 The for Loop Order in which the parts are evaluated or executed: 1. 2. 3. (if true condition) 4. 5. The section is only executed once

19 8.4 The for Loop Variable(s) declared in section only visible within the body of the loop Not all compilers adhere to this standard - but you should

20 8.4 The for Loop Common errors students make - put a semicolon after the closing parenthesis Although legal, semicolon terminates the loop In effect - takes the place of the body of the loop Often a difficult error to find

21 8.4 The for Loop for ( int i = 0; i < 5; i++ ) cout << i << ' '; // Output 0 1 2 3 4

22 8.4 The for Loop // Example 1 for ( int i = 0; i < 5; i++ ) // No semicolon cout << i << endl; // Example 2 // Notice the multiple expressions for ( int i = 0, j = 5; i < 5; i++, j-- ) cout << i << ' ' << j << endl; // Example Output // Ex. 1// Ex. 2 0 0 5 1 1 4 2 2 3 3 3 2 4 4 1

23 8.4 The for loop int sum = 0, value; for ( int i = 0; i < 5; i++ ) // No semicolon { cout << "Enter value " << i + 1 << ": "; cin >> value; sum += value; } cout << "The sum of the five values is: " << sum << endl; // Example Output Enter value 1: 4 Enter value 2: 7 Enter value 3: 3 Enter value 4: 12 Enter value 5: 99 The sum of the five values is: 125

24 8.4.1 Nested for Loops for loops can be nested Used in many algorithms Important when using multi-dimensional arrays

25 8.4.1 Nested for Loops for ( int row = 0; row < 5; row++ ) { for ( int col = 0; col < 5; col++ ) cout << col << ' '; cout << endl; } // Example Output 0 1 2 3 4

26 8.4.1 Nested for Loops for ( int row = 0; row < 5; row++ ) { for ( int col = row; col < 5; col++ ) cout << col << ' '; cout << endl; } // Example Output 0 1 2 3 4 1 2 3 4 2 3 4 3 4 4

27 8.5 Breakpoints and Loops Debugging loops: Time consuming and annoying if necessary to step through the loop Breakpoints add functionality to break or stop execution, based upon a condition or after a line of code has been encountered a certain number of times

28 8.5 Breakpoints and Loops Right clicking on a breakpoint shows popup menu that allows setting breakpoint properties

29 8.5 Breakpoints and Loops The Breakpoint Condition allows setting a condition that when true, stops the loop

30 8.5 Breakpoints and Loops Can also stop execution after a breakpoint has been encountered a specific number of times

31 8.7 C – The Differences Illegal in C to declare variables in the initialization section of a for loop All variables in C must be declared at the beginning of a block, right after an opening curly brace C99 specifications allow the C++ conventions for variable declarations

32 8.7 C – The Differences #include int main() { //Legal in both C++ and C: int count; for ( count = 0; count < 5; count++ ) printf( "%d\n", count ); // Legal in C++ (and C99) but not in older C: // for ( int i = 0; i < 5; i++ ) // cout << i << endl; return 0; }


Download ppt "Chapter 8 Repetition Statements. Introduction Iteration - process of looping or the repetition of one or more statements Loop body - the statement, or."

Similar presentations


Ads by Google