An Introduction to Programming with C++ Fifth Edition Chapter 8 More on the Repetition Structure
An Introduction to Programming with C++, Fifth Edition2 Objectives Include the posttest repetition structure in pseudocode Include the posttest repetition structure in a flowchart Code a posttest loop using the C++ do while statement Nest repetition structures
An Introduction to Programming with C++, Fifth Edition3 Concept Lesson Posttest Loops Coding the Posttest Loop Nested Repetition Structures
An Introduction to Programming with C++, Fifth Edition4 Posttest Loops Loops can be pretest or posttest Condition in a posttest loop is evaluated with each loop iteration –Evaluation occurs after instructions within loop are processed Also called bottom-driven loops
An Introduction to Programming with C++, Fifth Edition5 Posttest Loops (continued)
An Introduction to Programming with C++, Fifth Edition6 Flowcharting a Posttest Loop Flowcharts illustrate why loops are referred to as pretest and posttest loops –Repetition diamond appears at the top of a pretest loop, but at the bottom of a posttest loop
Flowcharting a Posttest Loop (continued) An Introduction to Programming with C++, Fifth Edition7
8 Flowcharting a Posttest Loop (continued)
An Introduction to Programming with C++, Fifth Edition9 Flowcharting a Posttest Loop (continued)
An Introduction to Programming with C++, Fifth Edition10 Coding the Posttest Loop Use the while statement or the for statement to code a pretest loop in C++ Use the do while statement to code a posttest loop in C++ –The loop condition must be a Boolean expression Can contain variables, constants, functions, and arithmetic/comparison/logical operators
An Introduction to Programming with C++, Fifth Edition11 Coding the Posttest Loop (continued)
An Introduction to Programming with C++, Fifth Edition12 Posttest Loop Example – O’Donnell Incorporated Program Problem description –In January of each year, O’Donnell Incorporated pays a 10% bonus to each of its salespeople –Bonus based on amount of sales made by salesperson during previous year –Payroll clerk wants a program that calculates and displays each salesperson’s bonus amount
An Introduction to Programming with C++, Fifth Edition13 Posttest Loop Example – O’Donnell Incorporated Program (continued)
An Introduction to Programming with C++, Fifth Edition14 Posttest Loop Example – O’Donnell Incorporated Program (continued)
An Introduction to Programming with C++, Fifth Edition15 Nested Repetition Structures In a nested repetition structure, one loop (inner loop) is placed entirely within another loop (outer loop)
Nested Repetition Structures (continued) An Introduction to Programming with C++, Fifth Edition16
An Introduction to Programming with C++, Fifth Edition17 Nested Loop Example – Max Beauty Supply Program Max Beauty Supply divides its sales territory into two regions: Region 1 and Region 2 Sales manager wants a program to enter the sales amounts for both regions, one region at a time –Program should calculate the total amount sold in the current region, and display that information
An Introduction to Programming with C++, Fifth Edition18 Nested Loop Example – Max Beauty Supply Program (continued)
An Introduction to Programming with C++, Fifth Edition19 Nested Loop Example – Max Beauty Supply Program (continued)
An Introduction to Programming with C++, Fifth Edition20 Nested Loop Example – Max Beauty Supply Program (continued)
An Introduction to Programming with C++, Fifth Edition21 Nested Loop Example – Max Beauty Supply Program (continued)
An Introduction to Programming with C++, Fifth Edition22 Summary A repetition structure can be a pretest or posttest loop –In a pretest loop, the loop condition is evaluated before the instructions in the loop body are processed Instructions may never be processed Use while or for statements –In a posttest loop, the loop condition is evaluated after the instructions in the loop body are processed Instructions are always processed at least once Use the do while statement You can nest repetition structures
An Introduction to Programming with C++, Fifth Edition23 Application Lesson: Using a Nested Repetition Structure in a C++ Program Lab 8.1: Stop and Analyze Lab 8.2 –Create a program that displays one or more multiplication tables for Mrs. Johnson students Lab 8.3 –Modify program so it uses a posttest loop (instead of a pretest loop) to display the multiplication tables Lab 8.4: Desk-Check Lab Lab 8.5: Debugging Lab