An Introduction to Programming with C Fifth Edition























- Slides: 23
An Introduction to Programming with C++ Fifth Edition Chapter 8 More on the Repetition Structure
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 Edition 2
Concept Lesson • Posttest Loops • Coding the Posttest Loop • Nested Repetition Structures An Introduction to Programming with C++, Fifth Edition 3
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 Edition 4
Posttest Loops (continued) An Introduction to Programming with C++, Fifth Edition 5
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 An Introduction to Programming with C++, Fifth Edition 6
Flowcharting a Posttest Loop (continued) An Introduction to Programming with C++, Fifth Edition 7
Flowcharting a Posttest Loop (continued) An Introduction to Programming with C++, Fifth Edition 8
Flowcharting a Posttest Loop (continued) An Introduction to Programming with C++, Fifth Edition 9
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 Edition 10
Coding the Posttest Loop (continued) An Introduction to Programming with C++, Fifth Edition 11
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 Edition 12
Posttest Loop Example – O’Donnell Incorporated Program (continued) An Introduction to Programming with C++, Fifth Edition 13
Posttest Loop Example – O’Donnell Incorporated Program (continued) An Introduction to Programming with C++, Fifth Edition 14
Nested Repetition Structures • In a nested repetition structure, one loop (inner loop) is placed entirely within another loop (outer loop) An Introduction to Programming with C++, Fifth Edition 15
Nested Repetition Structures (continued) An Introduction to Programming with C++, Fifth Edition 16
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 Edition 17
Nested Loop Example – Max Beauty Supply Program (continued) An Introduction to Programming with C++, Fifth Edition 18
Nested Loop Example – Max Beauty Supply Program (continued) An Introduction to Programming with C++, Fifth Edition 19
Nested Loop Example – Max Beauty Supply Program (continued) An Introduction to Programming with C++, Fifth Edition 20
Nested Loop Example – Max Beauty Supply Program (continued) An Introduction to Programming with C++, Fifth Edition 21
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 Edition 22
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 An Introduction to Programming with C++, Fifth Edition 23