1 / 20

Chapter 6 - Repetition

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. Lesson 6.1. Logical expression (variable or arithmetic expression) Boolean results (True or False). General Structure.

noam
Download Presentation

Chapter 6 - Repetition

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 6 - Repetition

  2. 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 Lesson 6.1

  3. Logical expression (variable or arithmetic expression)Boolean results (True or False) General Structure while (expression) { statement1 statement2 … } Lesson 6.1

  4. 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 Lesson 4.1

  5. Initialize variables Variable as expressionvalue other than zero tests true Loop body Statements that provide exit from loop 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; } Lesson 6.2

  6. Initialize test expression variable Expression evaluated, whentrue, statements in loop executed Statements within loop Changing variable to provide exit from loop Example while Loop int i= 0; while (i <= 5) { cout << “Loop number is “ << i; i++; } Lesson 6.2

  7. do-while Loop • Used when you want to execute loop at least once • Loops on test being true and exits when test is false Lesson 6.3

  8. General Syntax • do • { statement1; • statement2; • … } while (expression); Lesson 6.3

  9. do while Loop Example • do • { cout << “\n enter an id number:”; • cin >> id_num; • } while ((id_num < 100) || (id_num>1999)); • Bare bones • Does not alert user of problems Lesson 6.3

  10. Decision Statement – Chapter 5 Exit loop if id number is valid Expression always true 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); Lesson 6.3

  11. 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

  12. 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 Lesson 6.4

  13. General Syntax • for (initialize lcv; test lcv; update lcv) • { • statement; • statement; • } Lesson 6.4

  14. 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 Lesson 6.4

  15. 3 1 3 2 finalValue counter Display Screen Example: False True True True • int finalValue; • cin >> finalValue; • for (int counter = 0; counter < finalValue; counter++) • cout << "*"; 0 3 * * * Lesson 6.4

  16. 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; Lesson 6.4

  17. int counter, finalValue; • counter = 0; • cin >> finalValue; • while (counter < finalValue) • { cout << "*"; • counter++;} Comparison: • int finalvalue; • cin >> finalValue; • for (int counter = 0; counter < finalValue; counter++) • cout << "*"; int finalvalue; cin >> finalValue; for (int counter = 0; counter < finalValue; counter ++) cout << "*"; Lesson 6.4

  18. 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 Lesson 6.4

  19. 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++) Lesson 6.4

  20. 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

More Related