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