Chapter 4: Looping. Resource: Starting Out with C++, Third Edition, Tony Gaddis 5.1 The Increment and Decrement Operators ++ and -- are operators that.

Slides:



Advertisements
Similar presentations
Computer Science 1620 Loops.
Advertisements

1 9/29/06CS150 Introduction to Computer Science 1 Loops Section Page 255.
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 5 Looping.
Starting Out with C++, 3 rd Edition 1 Chapter 5. Looping.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Sixth Edition Chapter 5: Looping by Tony.
1 10/20/08CS150 Introduction to Computer Science 1 do/while and Nested Loops Section 5.5 & 5.11.
1 10/11/06CS150 Introduction to Computer Science 1 do/while and Nested Loops.
Chapter 6 - Repetition. Introduction u Many applications require certain operations to be carried out more than once. Such situations require repetition.
Loops. COMP104 Loops / Slide 2 Shortcut Assignment * C++ has a set of operators for applying an operation to a variable and then storing the result back.
Chapter 5: Loops and Files.
Summary of Loops Programming. COMP102 Prog Fundamentals I: Summary of Loops /Slide 2 Which Loop to Use? l for loop n for calculations that are repeated.
CS 1 Lesson 5 Loops and Files CS 1 -- John Cole.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Brief Edition Chapter 5 Looping.
Section 3 - Selection and Repetition Constructs. Control Structures 1. Sequence 2. Selection 3. Repetition.
CHAPTER 5 CONTROL STRUCTURES II (Repetition). In this chapter, you will:  Learn about repetition (looping) control structures  Explore how to construct.
© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Looping Exercises Deciding Which Loop to Use At this.
1 What is a loop? A loop is a repetition control structure that causes a single statement or block to be executed repeatedly Loops.
Chapter 4: Loops and Files. The Increment and Decrement Operators  There are numerous times where a variable must simply be incremented or decremented.
Mr. Dave Clausen1 La Cañada High School Chapter 6: Repetition Statements.
 Wednesday, 9/18/02, Slide #1 CS106 Introduction to CS1 Wednesday, 9/18/02  QUESTIONS?? HW #1 due today at 5!!  Today: Loops, and two new data types.
Chapter 7 Additional Control Structures. 2 2 void GetYesOrNo (/* out */ char& response) // Inputs a character from the user // Postcondition: response.
C++ for Engineers and Scientists, Third Edition1 Objectives In this chapter, you will learn about: Basic loop structures while loops Interactive while.
Lecture 4 Looping. Building on the foundation Now that we know a little about  cout  cin  math operators  boolean operators  making decisions using.
Chapter 8 Repetition Statements. Introduction Iteration - process of looping or the repetition of one or more statements Loop body - the statement, or.
Program Flow Control - Looping Addis Ababa Institute of Technology Yared Semu April 2012.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 5 Looping.
+ Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy Walters, and Godfrey Muganda Chapter 5: Looping.
Lecture 9: Making Decisions Final Section Professor: Dr. Miguel Alonso Jr. Fall 2008 CGS2423/COP1220.
Introduction to Loops Iteration Repetition Counting Loops Also known as.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Loops and Files. 5.1 The Increment and Decrement Operators.
A loop is a repetition control structure. body - statements to be repeated control statement - decides whether another repetition needs to be made leading.
1 Standard Version of Starting Out with C++, 4th Brief Edition Chapter 5 Looping.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5: Looping.
A FIRST BOOK OF C++ CHAPTER 5 REPETITION. OBJECTIVES In this chapter, you will learn about: The while Statement Interactive while Loops The for Statement.
A First Book of C++ Chapter 5 Repetition.
Starting Out with C++: From Control Structures through Objects
Copyright © 2012 Pearson Education, Inc. Chapter 5: Loops.
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 5 Looping.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 5: Control Structures II (Repetition)
CS102 Introduction to Computer Programming Chapter 5 Looping.
Chapter Looping 5. The Increment and Decrement Operators 5.1.
Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 5 Looping.
Chapter Looping 5. The Increment and Decrement Operators 5.1.
Lecture 7 – Repetition (Loop) FTMK, UTeM – Sem /2014.
Chapter 4 Repetition Statements Program Development and Design Using C++, Third Edition.
Sesi 0607EKT120/4 Computer Programming Week 5 – Repetition / Loops.
Lesson 7 Iteration Structures. Iteration is the third control structure we will explore. Iteration simply means to do something repeatedly. All iteration.
Starting Out with C++, 3 rd Edition 1 Chapter 5. Looping.
Starting Out with C++, 3 rd Edition. My first C++ program #include using namespace std; int main() { cout
Computer Programming -1-
Introduction to Loop. Introduction to Loops: The while Loop Loop: part of program that may execute > 1 time (i.e., it repeats) while loop format: while.
Chapter 4 Repetition Structures
REPETITION CONTROL STRUCTURE
CHAPTER 4 REPETITION CONTROL STRUCTURE / LOOPING
Chapter 5. Looping.
Chapter 5: Repetition Structures
Chapter 5: Looping Starting Out with C++ Early Objects Seventh Edition
Chapter 2.2 Control Structures (Iteration)
Chapter 5: Looping Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley.
Chapter 5: Looping Starting Out with C++ Early Objects Seventh Edition
Alternate Version of STARTING OUT WITH C++ 4th Edition
Chapter 5. Looping.
Loops A loop is a repetition control structure.
Chapter 6: Repetition Structures
Chapter 5: Repetition Structures
Alternate Version of STARTING OUT WITH C++ 4th Edition
Based on slides created by Bjarne Stroustrup & Tony Gaddis
Based on slides created by Bjarne Stroustrup & Tony Gaddis
Chapter 4 Repetition Structures
Presentation transcript:

Chapter 4: Looping

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5.1 The Increment and Decrement Operators ++ and -- are operators that add and subtract one from their operands. num = num + 1; num += 1; num++;

Resource: Starting Out with C++, Third Edition, Tony Gaddis Using ++ and -- in Mathematical Expressions a = 2; b = 5; c = a * b++; cout << a << “ “ << b << “ “ << c; Results:

Resource: Starting Out with C++, Third Edition, Tony Gaddis Using ++ and -- in Relational Expressions x = 10; if ( x++ > 10) cout << “x is greater than 10.\n”; Two operations are happening: –the value in x is tested to determine if it is greater than 10 –then x is incremented

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5.2Introduction to Loops - The while Loop A loop is part of a program that repeats. A while loop is a “pre test” loop - the expression is tested before the loop is executed while (expression) statement;

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5-3 Program // This program demonstrates a simple while loop. #include void main(void) { int number = 0; cout << "This program will let you enter number after\n"; cout << "number. Enter 99 when you want to quit the "; cout << "program.\n"; while (number != 99) cin >> number; }

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5-3 Program Output with Example Input This program will let you enter number after number. Enter 99 when you want to quit the program. 1 [Enter] 2 [Enter] 30 [Enter] 75 [Enter] 99 [Enter]

Resource: Starting Out with C++, Third Edition, Tony Gaddis Terminating a Loop A loop that does not have a way of stopping is called an infinite loop: int test = 0; while (test < 10) cout << “Hello\n”; A null statement is also an infinite loop, but it does nothing forever: while (test < 10);

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5.3Counters A counter is a variable that is incremented or decremented each time a loop iterates.

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5-4 Program // This program displays the numbers 1 through 10 // and their squares. #include void main(void) { int num = 1; // Initialize counter cout << "number number Squared\n"; cout << " \n"; while (num <= 10) { cout << num << "\t\t" << (num * num) << endl; num++; // Increment counter }

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5-4 Program Output number number Squared

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5.4 Letting the User Control the Loop We can let the user indicate the number of times a loop should repeat.

Resource: Starting Out with C++, Third Edition, Tony Gaddis while (count++ < numStudents) { int score1, score2, score3; float average; cout << "\nStudent " << count << ": "; cin >> score1 >> score2 >> score3; average = (score1 + score2 + score3) / 3.0; cout << "The average is " << average << ".\n"; } 5-6 Program

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5-6 Program Output with Example Input This program will give you the average of three test scores per student. How many students do you have test scores for? 3 [Enter] Enter the scores for each of the students. Student 1: [Enter] The average is 79. Student 2: [Enter] The average is Student 3: [Enter] The average is

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5.5Keeping a Running Total A running total is a sum of numbers that accumulates with each iteration of a loop. The variable used to keep the running total is called an accumulator.

Resource: Starting Out with C++, Third Edition, Tony Gaddis while (count++ < days) { float sales; cout << "Enter the sales for day " << count << ": "; cin >> sales; total += sales; } cout.precision(2); cout.setf(ios::fixed | ios::showpoint); cout << "The total sales are $" << total << endl; } 5-7 Program Continued

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5-7 Program Output with Example Input For how many days do you have sales figures? 5 [Enter] Enter the sales for day 1: [Enter] Enter the sales for day 2: [Enter] Enter the sales for day 3: [Enter] Enter the sales for day 4: [Enter] Enter the sales for day 5: [Enter] The total sales are $

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5.6Sentinels A sentinel is a special value that marks the end of a list of values.

Resource: Starting Out with C++, Third Edition, Tony Gaddis while (points != -1) { count++; cout << "Enter the points for game " << count << ": "; cin >> points; if (points != -1) total += points; } cout << "The total points are " << total << endl; } 5-8 Program Continued

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5-8 Program Output with Example Input Enter the number of points your team has earned so far in the season, then enter - 1 when you are finished. Enter the points for game 1: 7 [Enter] Enter the points for game 2: 9 [Enter] Enter the points for game 3: 4 [Enter] Enter the points for game 4: 6 [Enter] Enter the points for game 5: 8 [Enter] Enter the points for game 6: -1 [Enter] The total points are 34

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5.7The do-while Loop and For Loops In addition to the while loop, C++ also offers the do-while and for loops. A do-while loop is similar to a while loop, but in post-test format: do statement; while (expression);

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5-9 Program // This program averages 3 test scores. It repeats as many // times as the user wishes #include void main(void) { int score1, score2, score3; float average; char again; do { cout << "Enter 3 scores and I will average them: "; cin >> score1 >> score2 >> score3; average = (score1 + score2 + score3) / 3.0; cout << "The average is " << average << ".\n"; cout << "Do you want to average another set? (Y/N) "; cin >> again; } while (again == 'Y' || again == 'y'); }

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5-9 Program Output with Example Input Enter 3 scores and I will average them: [Enter] The average is 80. Do you want to average another set? (Y/N) y [Enter] Enter 3 scores and I will average them: [Enter] The average is Do you want to average another set? (Y/N) n [Enter]

Resource: Starting Out with C++, Third Edition, Tony Gaddis The for Loop Ideal for situations that require a counter because it has built-in expressions that initialize and update variables. for (initialization; test; update) statement;

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5-11 Program // This program displays the numbers 1 through 10 and // their squares. #include void main(void) { cout << “Number Number Squared\n"; cout << " \n"; for (int num = 1; num <= 10; num++){ cout << num << "\t\t" << (num * num) << endl; } }

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5-11 Program Output Number Number Squared

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5.8Other Forms of the Update Expression Incrementing the counter by something besides 1: for(number = 2; number <= 100; number +=2) cout << number << endl; // print the even numbers 2 – 100 Going backwards: for(number = 10; number >= 0; number--) cout << number << endl; //count from 10 to 0 A stand-alone for loop: //This one prints the integers from 1 to 10 for(number = 1; number <= 10; cout << number++) There are quite a few variations, try some of your own!

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5.8Deciding Which Loop to Use The while loop –A pre-test loop. –Use when you do not want the loop to iterate if the condition is false from the beginning. –Ideal if you want to use a sentinel. The do-while loop –A post-test loop. –Use if you always want the loop to iterate at least once. The for loop –A pre-test loop. –Automatically executes an update expression at the end of each iteration. –Ideal for situations where a counter variable is needed. –Used when the exact number of required iterations is known.

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5.9Nested Loops A loop that is inside another loop is called a nested loop.

Resource: Starting Out with C++, Third Edition, Tony Gaddis for (int count1 = 1; count1 <= numStudents; count1++) { total = 0; // Initialize accumulator for (int count2 = 1; count2 <= numTests; count2++) { int score; cout << "Enter score " << count2 << " for "; cout << "student " << count1 << ": "; cin >> score; total += score; // accumulate running total } average = total / numTests; cout << "The average score for student " << count1; cout << " is " << average << ".\n\n"; } 5-13 Program Continued

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5-13 Program Output with Example Input This program averages test scores. For how many students do you have scores? 2 [Enter] How many test scores does each student have? 3 [Enter] Enter score 1 for student 1: 84 [Enter] Enter score 2 for student 1: 79 [Enter] Enter score 3 for student 1: 97 [Enter] The average for student 1 is 86. Enter score 1 for student 2: 92 [Enter] Enter score 2 for student 2: 88 [Enter] Enter score 3 for student 2: 94 [Enter] The average for student 2 is 91.

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5.10 Breaking Out of a Loop The break statement causes a loop to terminate early.

Resource: Starting Out with C++, Third Edition, Tony Gaddis for (int count = 0; count <= 10; count++) { cout << value << " raised to the power of "; cout << count << " is " << pow(value, count); cout << "\nEnter Q to quit or any other key "; cout << "to continue. "; cin >> choice; if (choice == 'Q' || choice == 'q') break; } 5-14 Program Continued

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5-14 Program Output Enter a number: 2 [Enter] This program will raise 2 to the powers of 0 through raised to the power of 0 is 1 Enter Q to quit or any other key to continue. C [Enter] 2 raised to the power of 1 is 2 Enter Q to quit or any other key to continue. C [Enter] 2 raised to the power of 2 is 4 Enter Q to quit or any other key to continue. Q [Enter]

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5.11 Using break in a nested loop The break statement below breaks out of the inner loop but NOT the outer loop. for(int row = 0; row < 5; row++) { //begin outer loop for(star = 0; star < 20; star++) { //begin inner loop …………// some statements break; …………// some more statements } //end inner loop } //end outer loop

Resource: Starting Out with C++, Third Edition, Tony Gaddis 5.11 The continue Statement The continue statement causes a loop to stop its current iteration and begin the next one.

Resource: Starting Out with C++, Third Edition, Tony Gaddis do { if ((videoCount % 3) == 0) { cout << "Video #" << videoCount << " is free!\n"; continue; } cout << "Is video #" << videoCount; cout << " a current release? (Y/N)"; cin >> current; if (current == 'Y' || current == 'y') total += 3.50; else total += 2.50; } while (videoCount++ < numVideos); cout.precision(2); cout.setf(ios::fixed | ios::showpoint); cout << "The total is $" << total; } 5-15 Program Continued