SlideShare a Scribd company logo
Chapter 6 – Iteration
Iterative structures, or looping structures, are used in programming to
repeat sections of code. Examples where iteration is important:
• Calculating f(x) for 100 values of x
• Computing a result iteratively until a certain accuracy is reached, such
  as in evaluating a series like sin(x) = x – x3/3! + x5/5! – x7/7! + ….
• Printing a table of results
• Allowing the user to correct input values or to rerun a program
• Reading large quantities of data from a data file
• Working with arrays
• Etc

There are three basic types of control structures:
• Sequential structures (or straight-line structures)
• Decision structures (or selection structures or branching structures)
• Iterative structures (or looping structures)
These structures are illustrated on the following page:               1
Flowcharts for sequential, selection, and iterative control structures



   Command                           Command                          Command



   Command
                            False      Test       True                  Setup      Done


   Command              Commands                 Commands
                        to execute               to execute
                          if False                 if True           Commands
   Command



   Command                           Command                          Command



Sequential Structure             Example Selection Structure       Iterative Structure
                                                                                     2
(straight-line structure)      (decision or branching structure)   (looping structure)
Iterative Structures in C++
There are three types of iterative structures in C++:
• while loop
   – Continue looping while a condition is true
   – Pre-test on the condition, so loop is executed 0 or more times
• do-while loop
   – Continue looping while a condition is true
   – Post-test on the condition, so loop is executed 1 or more times
• for loop
   – Loop for a specific number of iterations based on an index variable
while loop
Key features:
• A pre-test is used at the beginning of the loop
• The loop is executed 0 or more times (until the condition is false)
• The test condition must be initialized before the loop



  Form:                        Example 1: while loop

  while (condition)            int i = 1;
  {                            while (i <= 5)
         statement(s)          {
  }                                    cout << “Loop #” << i << endl;
                                       i++;
  Note: braces optional        }
  if only one statement.
Example 2: while loop
Example 3: while loop
Write a C++ program to calculate the average of an unknown number of
grades as follows:
•   Prompt the user to enter a grade each time through the loop
•   Update the sum and number of grades
•   Prompt the user to enter a negative grade after the last valid grade
•   Continue looping while the input grade is not negative
Example 4: while loop
Write a C++ program to evaluate e (the base of the natural log) to 5
digits after the decimal point using the following series:
                 e = 1/0! + 1/1! + 1/2! + 1/3! + …..
Display the final value of e (it should be 2.71828).
do while loop
Key features:
• A post-test is used at the end of the loop
• The loop is executed 1 or more times (until the condition is false)
• The loop must be executed at least once!
• It is not necessary to initialize a test condition before the loop
• Unlike the while loop, there is a semicolon after the condition.
  Form:
  do
  {
          statement(s)
  }
  while (condition);

  Note: braces optional
  if only one statement.
Example 1: do while loop – re-running a program
Example 2: do while loop
Write a C++ program to determine the smallest integer N such that
       N3 – 2N2 > 100,000
Display the result.
for loop
• Often the best loop structure when you know how many times the
  instructions in the loop are to be executed.
• The for loop has three parts:
   – Initialization expression – a loop control variable is assigned an initial value
   – Conditional statement – the loop is repeated as long as this is true
   – Step – specifies how to modify the loop variable after each pass thru the loop
• Form:
     for (initialization expression; conditional statement; step)
     {
             statement(s)
     }
    Note: braces optional if only one statement.
 For loop – Example 1:
 for (i = 1; i <= 10; i++)
 {                                                      Result: “Hello!” is
           cout << “Hello!” << endl;                    displayed ten times.
 }
for loop – Example 2
Display sin(α) for α = 0 to 90° to 10° steps.
for loop – Example 3                                 20
Display the result of the following summation: Sum = ∑ n 3
                                                    n =1
for loop – Example 4
Determine the output in each case below:




                                           LoopCount = _______

                                           LoopCount = _______

                                           LoopCount = _______

                                           LoopCount = _______

                                           LoopCount = _______
for loop – Example 5
Find the average of 100 grades in a data file.
Nested for loops
There are many cases where it is useful to form nested loops, or loops
inside or other loops. An example is illustrated below:


  for (int i = 1; i < = 4; i++)
  {
     statement(s)
     for (int j = 1; j <= 3; j++)
                                                     Outer loop
     {                                 Inner loop
          statement(s)
     }
     statement(s)
  }
Tracing through nested for loops
It is often necessary to trace through a nested loop structure to
determine the resulting calculations, displayed values, etc. Using a
table can be helpful.
Example: Trace through the nested loop shown below:

  for (int i = 1; i < = 4; i++)            i          j         k
  {
     for (int j = 1; j <= 3; j++)
     {
          k = i + j;
     }
  }
Nested for loops – Example 1
Determine the output for each part below.
   int Count = 0;
   for (int i = 1; i < = 5; i++)
       for (int j = 1; j <= 4; j++)              Count = __________
               for (int k = 1; k <= 3; k++)
                         Count++;
   cout << “Count = “ << Count;

   int Count1 = 0, Count2 = 0, Count3 = 0;
   for (int i = 10; i > = 0; i-=2)
   {
       Count1++;
       for (int j = 3; j <= 24; j+=3)            Count1 = __________
       {
              Count2++;
              for (int k = -20; k <= 20; k+=5)   Count2 = __________
                         Count3++;
       }
   }                                             Count3 = __________
   cout << “Count1 = “ << Count1 << endl;
   cout << “Count1 = “ << Count1 << endl;
   cout << “Count1 = “ << Count1 << endl;
Nested for loops – Example 2
Determine the output for the instructions shown below.

 for (int i = 1; i < = 2; i++)
     for (int j = i; j <= 3; j++)
             for (int k = j; k <= 4; k++)
                        cout << i << j << k << endl;


                                                       Output:
Nested for loops – Example 3
Data file datex3.in contains 100 numbers with 10 numbers in each
row. Determine the sum of the values in each row.
Infinite loops (forever loops)
It is sometimes useful to construct a loop which will execute forever.
Such loops are sometimes called infinite loops or forever loops.
Examples:
• Monitor an alarm system 24 hours per day and sound an alarm when
  appropriate
• Run the display on a gas pump and display advertising until a user
  presses a button to indicate that they want to pump gas.

Notes:
• An infinite loop may be exited at any point using a break statement.
• You can generally stop an infinite loop from the keyboard by
  pressing Ctrl+C.
Infinite loops (forever loops) – form
Infinite loops can be created easily using any of the three types of
loop structures introduced:

Infinite while loop:       while (1)
                           {
                             statement(s)
                           }
Infinite do while loop:
                           do
                           {
                                statement(s)
                           }
                           while (1);
Infinite for loop:         for(;;)
                           {
                              statement(s)
                           }
Infinite loops - examples        //clock program
                                 while (1)
                                 {
                                    statements to display time
                                 }
 // alarm program
 do
 {
     statements to sound alarm if certain inputs occur
 }
 while (1);
                              // vending machine
                              for(;;)
                              {
                                  statements to wait for inputs
                                  statements to release product
                                  statements to dispense change
                              }
Structures with an indeterminate number of loops
For loops with an indeterminate number of iterations, we can use:
 – Do while loop – exit at the top of the loop
 – While loop – exit at the bottom of the loop
 – Forever loop – exit in the middle of the loop using a break statement


   while (x < 2)           do                     for(;;)
   {                       {                      {
     statement(s)               statement(s)         statement(s)
   }                       }                         if (!(x<2)) break;
                           while (x < 2);            statement(s)
 Exit from top of loop
   once x<2 is false                              }
                          Exit from bottom of
                         loop once x<2 is false    Exit from middle of
                                                  loop once x<2 is false

      Note: Any number of exit points could be provided in
      any of the loop structures above using break statements.
Forever loop - Example
Write a C++ program to evaluate e (the base of the natural log) using the
infinite series e = 1/0! + 1/1! + 1/2! + 1/3! + ….. accurate to 8 digits
after the decimal point using a forever loop with a break statement.
Graphing in C++
Generating graphs in C++ is a fairly advanced topic. However, it is easy
to write a C++ program to send the x,y data to a data file where it can
then be graphed using other programs like Excel or MatLab.
Excel can easily open data files where columns of numbers are separated
by commas, spaces, or tabs. If they are separated by commas, the file is
sometimes called a “commas delimited file.”

                                    Commas delimited
                                    data file A:xydata.dat
 C++ Program                                                 Excel
 …                                         10,125        y
 Ofstream OutData(“A:xydata.dat”)          12,137
 //calculate x and y values                14,156
 …                                         16,189
 OutData << x << “,” << y << endl;         18, 211                   x
 …                                         …
Example: Graphing in C++
Graph the function y = 100e-x for x = 0.0, 0.2, 0.4, … , 5.0
Example: Graphing in C++
•   Open the data file A:OutToExcel.dat with Excel (select All Files
    (*.*) for File Type.
•   The Text Import Wizard (Step 1 of 3) should appear as shown below.
     The default is a delimited file. Select Next to continue.
•   The Text Import Wizard (Step 2 of 3) should appear next. Select
    Comma as the delimiter (default is Tab). Select Next to continue.
Example: Graphing in C++
•   The Text Import Wizard (Step 3 of 3) should appear next. This
    screen lets you select data format. The default is General which is
    sufficient for this example. Select Finish .
•   The data should now appear in columns A and B in Excel. Add the
    graph.

More Related Content

What's hot

The Three Basic Selection Structures in C++ Programming Concepts
The Three Basic Selection Structures in C++ Programming ConceptsThe Three Basic Selection Structures in C++ Programming Concepts
The Three Basic Selection Structures in C++ Programming Concepts
Tech
 
Linear search-and-binary-search
Linear search-and-binary-searchLinear search-and-binary-search
Linear search-and-binary-search
International Islamic University
 
Looping statements in Java
Looping statements in JavaLooping statements in Java
Looping statements in JavaJin Castor
 
Complexity of Algorithm
Complexity of AlgorithmComplexity of Algorithm
Complexity of Algorithm
Muhammad Muzammal
 
Binary Search
Binary SearchBinary Search
Binary Search
kunj desai
 
Types of loops in c language
Types of loops in c languageTypes of loops in c language
Types of loops in c language
sneha2494
 
C if else
C if elseC if else
C if else
Ritwik Das
 
Register transfer language
Register transfer languageRegister transfer language
Register transfer language
Sanjeev Patel
 
Control statements
Control statementsControl statements
Control statements
Kanwalpreet Kaur
 
C functions
C functionsC functions
Jumping statements
Jumping statementsJumping statements
Jumping statementsSuneel Dogra
 
Intro automata theory
Intro automata theory Intro automata theory
Intro automata theory
Rajendran
 
3.looping(iteration statements)
3.looping(iteration statements)3.looping(iteration statements)
3.looping(iteration statements)Hardik gupta
 
Intermediate code generation (Compiler Design)
Intermediate code generation (Compiler Design)   Intermediate code generation (Compiler Design)
Intermediate code generation (Compiler Design)
Tasif Tanzim
 
Control Structures
Control StructuresControl Structures
Control StructuresGhaffar Khan
 
Loops in c++ programming language
Loops in c++ programming language Loops in c++ programming language
Linear search algorithm
Linear search algorithmLinear search algorithm
Linear search algorithm
NeoClassical
 
Python If Else | If Else Statement In Python | Edureka
Python If Else | If Else Statement In Python | EdurekaPython If Else | If Else Statement In Python | Edureka
Python If Else | If Else Statement In Python | Edureka
Edureka!
 
linear search and binary search
linear search and binary searchlinear search and binary search
linear search and binary search
Zia Ush Shamszaman
 

What's hot (20)

The Three Basic Selection Structures in C++ Programming Concepts
The Three Basic Selection Structures in C++ Programming ConceptsThe Three Basic Selection Structures in C++ Programming Concepts
The Three Basic Selection Structures in C++ Programming Concepts
 
Linear search-and-binary-search
Linear search-and-binary-searchLinear search-and-binary-search
Linear search-and-binary-search
 
Looping statements in Java
Looping statements in JavaLooping statements in Java
Looping statements in Java
 
Complexity of Algorithm
Complexity of AlgorithmComplexity of Algorithm
Complexity of Algorithm
 
Binary Search
Binary SearchBinary Search
Binary Search
 
Types of loops in c language
Types of loops in c languageTypes of loops in c language
Types of loops in c language
 
C if else
C if elseC if else
C if else
 
Register transfer language
Register transfer languageRegister transfer language
Register transfer language
 
Control statements
Control statementsControl statements
Control statements
 
C functions
C functionsC functions
C functions
 
Jumping statements
Jumping statementsJumping statements
Jumping statements
 
Intro automata theory
Intro automata theory Intro automata theory
Intro automata theory
 
3.looping(iteration statements)
3.looping(iteration statements)3.looping(iteration statements)
3.looping(iteration statements)
 
Loops in c
Loops in cLoops in c
Loops in c
 
Intermediate code generation (Compiler Design)
Intermediate code generation (Compiler Design)   Intermediate code generation (Compiler Design)
Intermediate code generation (Compiler Design)
 
Control Structures
Control StructuresControl Structures
Control Structures
 
Loops in c++ programming language
Loops in c++ programming language Loops in c++ programming language
Loops in c++ programming language
 
Linear search algorithm
Linear search algorithmLinear search algorithm
Linear search algorithm
 
Python If Else | If Else Statement In Python | Edureka
Python If Else | If Else Statement In Python | EdurekaPython If Else | If Else Statement In Python | Edureka
Python If Else | If Else Statement In Python | Edureka
 
linear search and binary search
linear search and binary searchlinear search and binary search
linear search and binary search
 

Viewers also liked

Control structures selection
Control structures   selectionControl structures   selection
Control structures selection
Online
 
Debugging Debugging
Debugging DebuggingDebugging Debugging
Dynamics Behaviour of Multi Storeys Framed Structures by of Iterative Method
Dynamics Behaviour of Multi Storeys Framed  Structures by of Iterative Method Dynamics Behaviour of Multi Storeys Framed  Structures by of Iterative Method
Dynamics Behaviour of Multi Storeys Framed Structures by of Iterative Method
AM Publications
 
Ndu06 typesof language
Ndu06 typesof languageNdu06 typesof language
Ndu06 typesof languagenicky_walters
 
2.3 Apply the different types of algorithm to solve problem
2.3 Apply the different types of algorithm to solve problem2.3 Apply the different types of algorithm to solve problem
2.3 Apply the different types of algorithm to solve problem
Frankie Jones
 
5 problem solving with the sequential logic structure
5 problem solving with the sequential logic structure5 problem solving with the sequential logic structure
5 problem solving with the sequential logic structureRheigh Henley Calderon
 
Selection Statements in C Programming
Selection Statements in C ProgrammingSelection Statements in C Programming
Selection Statements in C Programming
Kamal Acharya
 
Control structures in C++ Programming Language
Control structures in C++ Programming LanguageControl structures in C++ Programming Language
Control structures in C++ Programming Language
Ahmad Idrees
 
8.1 alogorithm & prolem solving
8.1 alogorithm & prolem solving8.1 alogorithm & prolem solving
8.1 alogorithm & prolem solvingKhan Yousafzai
 
Vb decision making statements
Vb decision making statementsVb decision making statements
Vb decision making statements
pragya ratan
 
business data processing
business data processingbusiness data processing
business data processing
Ãbhîläşh Mãňü
 
Basics of information technology
Basics of information technologyBasics of information technology
Basics of information technology
Aakash software cell Gujrat.
 
Control Structures in Visual Basic
Control Structures in  Visual BasicControl Structures in  Visual Basic
Control Structures in Visual BasicTushar Jain
 
Loops in C
Loops in CLoops in C
Loops in C
Kamal Acharya
 
File organization 1
File organization 1File organization 1
File organization 1
Rupali Rana
 

Viewers also liked (20)

Control structures selection
Control structures   selectionControl structures   selection
Control structures selection
 
Debugging Debugging
Debugging DebuggingDebugging Debugging
Debugging Debugging
 
Dynamics Behaviour of Multi Storeys Framed Structures by of Iterative Method
Dynamics Behaviour of Multi Storeys Framed  Structures by of Iterative Method Dynamics Behaviour of Multi Storeys Framed  Structures by of Iterative Method
Dynamics Behaviour of Multi Storeys Framed Structures by of Iterative Method
 
Ndu06 typesof language
Ndu06 typesof languageNdu06 typesof language
Ndu06 typesof language
 
2.3 Apply the different types of algorithm to solve problem
2.3 Apply the different types of algorithm to solve problem2.3 Apply the different types of algorithm to solve problem
2.3 Apply the different types of algorithm to solve problem
 
5 problem solving with the sequential logic structure
5 problem solving with the sequential logic structure5 problem solving with the sequential logic structure
5 problem solving with the sequential logic structure
 
Selection Statements in C Programming
Selection Statements in C ProgrammingSelection Statements in C Programming
Selection Statements in C Programming
 
Control structures in C++ Programming Language
Control structures in C++ Programming LanguageControl structures in C++ Programming Language
Control structures in C++ Programming Language
 
Using loops
Using loopsUsing loops
Using loops
 
8.1 alogorithm & prolem solving
8.1 alogorithm & prolem solving8.1 alogorithm & prolem solving
8.1 alogorithm & prolem solving
 
7 problem solving with loops
7 problem solving with loops7 problem solving with loops
7 problem solving with loops
 
6 problem solving with decisions
6 problem solving with decisions6 problem solving with decisions
6 problem solving with decisions
 
Vb decision making statements
Vb decision making statementsVb decision making statements
Vb decision making statements
 
business data processing
business data processingbusiness data processing
business data processing
 
Basics of information technology
Basics of information technologyBasics of information technology
Basics of information technology
 
File organization
File organizationFile organization
File organization
 
Control Structures in Visual Basic
Control Structures in  Visual BasicControl Structures in  Visual Basic
Control Structures in Visual Basic
 
Loops in C
Loops in CLoops in C
Loops in C
 
File organization 1
File organization 1File organization 1
File organization 1
 
File organisation
File organisationFile organisation
File organisation
 

Similar to Iteration

Iterative control structures, looping, types of loops, loop working
Iterative control structures, looping, types of loops, loop workingIterative control structures, looping, types of loops, loop working
Iterative control structures, looping, types of loops, loop working
Neeru Mittal
 
06.Loops
06.Loops06.Loops
06.Loops
Intro C# Book
 
Control structures ii
Control structures ii Control structures ii
Control structures ii
Ahmad Idrees
 
Loops IN COMPUTER SCIENCE STANDARD 11 BY KR
Loops IN COMPUTER SCIENCE STANDARD 11 BY KRLoops IN COMPUTER SCIENCE STANDARD 11 BY KR
Loops IN COMPUTER SCIENCE STANDARD 11 BY KR
Krishna Raj
 
Loops in Python.pptx
Loops in Python.pptxLoops in Python.pptx
Loops in c language
Loops in c languageLoops in c language
Loops in c language
Tanmay Modi
 
Loops in c language
Loops in c languageLoops in c language
Loops in c language
tanmaymodi4
 
4th_Ed_Ch03.pdf
4th_Ed_Ch03.pdf4th_Ed_Ch03.pdf
4th_Ed_Ch03.pdf
ShifatiRabbi
 
06 Loops
06 Loops06 Loops
06 Loops
maznabili
 
Matlab Script - Loop Control
Matlab Script - Loop ControlMatlab Script - Loop Control
Matlab Script - Loop Control
Shameer Ahmed Koya
 
FP 201 - Unit 3 Part 2
FP 201 - Unit 3 Part 2FP 201 - Unit 3 Part 2
FP 201 - Unit 3 Part 2rohassanie
 
Programming in Arduino (Part 2)
Programming in Arduino  (Part 2)Programming in Arduino  (Part 2)
Programming in Arduino (Part 2)
Niket Chandrawanshi
 
130707833146508191
130707833146508191130707833146508191
130707833146508191
Tanzeel Ahmad
 
Java căn bản - Chapter6
Java căn bản - Chapter6Java căn bản - Chapter6
Java căn bản - Chapter6Vince Vo
 
Ch6 Loops
Ch6 LoopsCh6 Loops
Ch6 Loops
SzeChingChen
 
C++ chapter 4
C++ chapter 4C++ chapter 4
C++ chapter 4
SHRIRANG PINJARKAR
 
Control Statement.ppt
Control Statement.pptControl Statement.ppt
Control Statement.ppt
sanjay
 
03 conditions loops
03   conditions loops03   conditions loops
03 conditions loops
Manzoor ALam
 
Programming loop
Programming loopProgramming loop
Programming loop
University of Potsdam
 

Similar to Iteration (20)

Cs1123 6 loops
Cs1123 6 loopsCs1123 6 loops
Cs1123 6 loops
 
Iterative control structures, looping, types of loops, loop working
Iterative control structures, looping, types of loops, loop workingIterative control structures, looping, types of loops, loop working
Iterative control structures, looping, types of loops, loop working
 
06.Loops
06.Loops06.Loops
06.Loops
 
Control structures ii
Control structures ii Control structures ii
Control structures ii
 
Loops IN COMPUTER SCIENCE STANDARD 11 BY KR
Loops IN COMPUTER SCIENCE STANDARD 11 BY KRLoops IN COMPUTER SCIENCE STANDARD 11 BY KR
Loops IN COMPUTER SCIENCE STANDARD 11 BY KR
 
Loops in Python.pptx
Loops in Python.pptxLoops in Python.pptx
Loops in Python.pptx
 
Loops in c language
Loops in c languageLoops in c language
Loops in c language
 
Loops in c language
Loops in c languageLoops in c language
Loops in c language
 
4th_Ed_Ch03.pdf
4th_Ed_Ch03.pdf4th_Ed_Ch03.pdf
4th_Ed_Ch03.pdf
 
06 Loops
06 Loops06 Loops
06 Loops
 
Matlab Script - Loop Control
Matlab Script - Loop ControlMatlab Script - Loop Control
Matlab Script - Loop Control
 
FP 201 - Unit 3 Part 2
FP 201 - Unit 3 Part 2FP 201 - Unit 3 Part 2
FP 201 - Unit 3 Part 2
 
Programming in Arduino (Part 2)
Programming in Arduino  (Part 2)Programming in Arduino  (Part 2)
Programming in Arduino (Part 2)
 
130707833146508191
130707833146508191130707833146508191
130707833146508191
 
Java căn bản - Chapter6
Java căn bản - Chapter6Java căn bản - Chapter6
Java căn bản - Chapter6
 
Ch6 Loops
Ch6 LoopsCh6 Loops
Ch6 Loops
 
C++ chapter 4
C++ chapter 4C++ chapter 4
C++ chapter 4
 
Control Statement.ppt
Control Statement.pptControl Statement.ppt
Control Statement.ppt
 
03 conditions loops
03   conditions loops03   conditions loops
03 conditions loops
 
Programming loop
Programming loopProgramming loop
Programming loop
 

More from Liam Dunphy

Butterfly Struggles - An inspirational life lesson
Butterfly Struggles - An inspirational life lessonButterfly Struggles - An inspirational life lesson
Butterfly Struggles - An inspirational life lesson
Liam Dunphy
 
Tm hills scarytasla-ming
Tm hills scarytasla-mingTm hills scarytasla-ming
Tm hills scarytasla-ming
Liam Dunphy
 
Creative learning spaces
Creative learning spacesCreative learning spaces
Creative learning spaces
Liam Dunphy
 
#ccGlobal for cesimeet
#ccGlobal for cesimeet#ccGlobal for cesimeet
#ccGlobal for cesimeet
Liam Dunphy
 
Tm sydney north - collaboration
Tm sydney north - collaborationTm sydney north - collaboration
Tm sydney north - collaboration
Liam Dunphy
 
Training presentation outlook 2007 manage your mailbox 3-move or copy message...
Training presentation outlook 2007 manage your mailbox 3-move or copy message...Training presentation outlook 2007 manage your mailbox 3-move or copy message...
Training presentation outlook 2007 manage your mailbox 3-move or copy message...
Liam Dunphy
 
Training presentation outlook 2007 manage your mailbox 2-understand your choi...
Training presentation outlook 2007 manage your mailbox 2-understand your choi...Training presentation outlook 2007 manage your mailbox 2-understand your choi...
Training presentation outlook 2007 manage your mailbox 2-understand your choi...
Liam Dunphy
 
Organising and dss steps in designing a spreadsheet solution
Organising and dss   steps in designing a spreadsheet solutionOrganising and dss   steps in designing a spreadsheet solution
Organising and dss steps in designing a spreadsheet solutionLiam Dunphy
 
Programming Languages
Programming LanguagesProgramming Languages
Programming Languages
Liam Dunphy
 
Meta Languages
Meta LanguagesMeta Languages
Meta Languages
Liam Dunphy
 
Algorithms
AlgorithmsAlgorithms
Algorithms
Liam Dunphy
 
Algorithms2
Algorithms2Algorithms2
Algorithms2
Liam Dunphy
 
Representational Tools
Representational ToolsRepresentational Tools
Representational Tools
Liam Dunphy
 
System Data Modelling Tools
System Data Modelling ToolsSystem Data Modelling Tools
System Data Modelling Tools
Liam Dunphy
 
Communications Systems
Communications SystemsCommunications Systems
Communications Systems
Liam Dunphy
 
Ipt Syllabus Changes Communications Systems
Ipt Syllabus Changes   Communications SystemsIpt Syllabus Changes   Communications Systems
Ipt Syllabus Changes Communications Systems
Liam Dunphy
 
Ipt Syllabus Changes
Ipt Syllabus ChangesIpt Syllabus Changes
Ipt Syllabus Changes
Liam Dunphy
 
Ipt Syllabus Changes Project Management
Ipt Syllabus Changes   Project ManagementIpt Syllabus Changes   Project Management
Ipt Syllabus Changes Project Management
Liam Dunphy
 
Algorithms
AlgorithmsAlgorithms
Algorithms
Liam Dunphy
 

More from Liam Dunphy (20)

Butterfly Struggles - An inspirational life lesson
Butterfly Struggles - An inspirational life lessonButterfly Struggles - An inspirational life lesson
Butterfly Struggles - An inspirational life lesson
 
Tm hills scarytasla-ming
Tm hills scarytasla-mingTm hills scarytasla-ming
Tm hills scarytasla-ming
 
Creative learning spaces
Creative learning spacesCreative learning spaces
Creative learning spaces
 
#ccGlobal for cesimeet
#ccGlobal for cesimeet#ccGlobal for cesimeet
#ccGlobal for cesimeet
 
Tm sydney north - collaboration
Tm sydney north - collaborationTm sydney north - collaboration
Tm sydney north - collaboration
 
Training presentation outlook 2007 manage your mailbox 3-move or copy message...
Training presentation outlook 2007 manage your mailbox 3-move or copy message...Training presentation outlook 2007 manage your mailbox 3-move or copy message...
Training presentation outlook 2007 manage your mailbox 3-move or copy message...
 
Training presentation outlook 2007 manage your mailbox 2-understand your choi...
Training presentation outlook 2007 manage your mailbox 2-understand your choi...Training presentation outlook 2007 manage your mailbox 2-understand your choi...
Training presentation outlook 2007 manage your mailbox 2-understand your choi...
 
Mm expertise
Mm expertiseMm expertise
Mm expertise
 
Organising and dss steps in designing a spreadsheet solution
Organising and dss   steps in designing a spreadsheet solutionOrganising and dss   steps in designing a spreadsheet solution
Organising and dss steps in designing a spreadsheet solution
 
Programming Languages
Programming LanguagesProgramming Languages
Programming Languages
 
Meta Languages
Meta LanguagesMeta Languages
Meta Languages
 
Algorithms
AlgorithmsAlgorithms
Algorithms
 
Algorithms2
Algorithms2Algorithms2
Algorithms2
 
Representational Tools
Representational ToolsRepresentational Tools
Representational Tools
 
System Data Modelling Tools
System Data Modelling ToolsSystem Data Modelling Tools
System Data Modelling Tools
 
Communications Systems
Communications SystemsCommunications Systems
Communications Systems
 
Ipt Syllabus Changes Communications Systems
Ipt Syllabus Changes   Communications SystemsIpt Syllabus Changes   Communications Systems
Ipt Syllabus Changes Communications Systems
 
Ipt Syllabus Changes
Ipt Syllabus ChangesIpt Syllabus Changes
Ipt Syllabus Changes
 
Ipt Syllabus Changes Project Management
Ipt Syllabus Changes   Project ManagementIpt Syllabus Changes   Project Management
Ipt Syllabus Changes Project Management
 
Algorithms
AlgorithmsAlgorithms
Algorithms
 

Recently uploaded

Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
Nguyen Thanh Tu Collection
 
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
AzmatAli747758
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
How to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPHow to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERP
Celine George
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
EduSkills OECD
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
PedroFerreira53928
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 

Recently uploaded (20)

Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
 
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
How to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPHow to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERP
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 

Iteration

  • 1. Chapter 6 – Iteration Iterative structures, or looping structures, are used in programming to repeat sections of code. Examples where iteration is important: • Calculating f(x) for 100 values of x • Computing a result iteratively until a certain accuracy is reached, such as in evaluating a series like sin(x) = x – x3/3! + x5/5! – x7/7! + …. • Printing a table of results • Allowing the user to correct input values or to rerun a program • Reading large quantities of data from a data file • Working with arrays • Etc There are three basic types of control structures: • Sequential structures (or straight-line structures) • Decision structures (or selection structures or branching structures) • Iterative structures (or looping structures) These structures are illustrated on the following page: 1
  • 2. Flowcharts for sequential, selection, and iterative control structures Command Command Command Command False Test True Setup Done Command Commands Commands to execute to execute if False if True Commands Command Command Command Command Sequential Structure Example Selection Structure Iterative Structure 2 (straight-line structure) (decision or branching structure) (looping structure)
  • 3. Iterative Structures in C++ There are three types of iterative structures in C++: • while loop – Continue looping while a condition is true – Pre-test on the condition, so loop is executed 0 or more times • do-while loop – Continue looping while a condition is true – Post-test on the condition, so loop is executed 1 or more times • for loop – Loop for a specific number of iterations based on an index variable
  • 4. while loop Key features: • A pre-test is used at the beginning of the loop • The loop is executed 0 or more times (until the condition is false) • The test condition must be initialized before the loop Form: Example 1: while loop while (condition) int i = 1; { while (i <= 5) statement(s) { } cout << “Loop #” << i << endl; i++; Note: braces optional } if only one statement.
  • 6. Example 3: while loop Write a C++ program to calculate the average of an unknown number of grades as follows: • Prompt the user to enter a grade each time through the loop • Update the sum and number of grades • Prompt the user to enter a negative grade after the last valid grade • Continue looping while the input grade is not negative
  • 7. Example 4: while loop Write a C++ program to evaluate e (the base of the natural log) to 5 digits after the decimal point using the following series: e = 1/0! + 1/1! + 1/2! + 1/3! + ….. Display the final value of e (it should be 2.71828).
  • 8. do while loop Key features: • A post-test is used at the end of the loop • The loop is executed 1 or more times (until the condition is false) • The loop must be executed at least once! • It is not necessary to initialize a test condition before the loop • Unlike the while loop, there is a semicolon after the condition. Form: do { statement(s) } while (condition); Note: braces optional if only one statement.
  • 9. Example 1: do while loop – re-running a program
  • 10. Example 2: do while loop Write a C++ program to determine the smallest integer N such that N3 – 2N2 > 100,000 Display the result.
  • 11. for loop • Often the best loop structure when you know how many times the instructions in the loop are to be executed. • The for loop has three parts: – Initialization expression – a loop control variable is assigned an initial value – Conditional statement – the loop is repeated as long as this is true – Step – specifies how to modify the loop variable after each pass thru the loop • Form: for (initialization expression; conditional statement; step) { statement(s) } Note: braces optional if only one statement. For loop – Example 1: for (i = 1; i <= 10; i++) { Result: “Hello!” is cout << “Hello!” << endl; displayed ten times. }
  • 12. for loop – Example 2 Display sin(α) for α = 0 to 90° to 10° steps.
  • 13. for loop – Example 3 20 Display the result of the following summation: Sum = ∑ n 3 n =1
  • 14. for loop – Example 4 Determine the output in each case below: LoopCount = _______ LoopCount = _______ LoopCount = _______ LoopCount = _______ LoopCount = _______
  • 15. for loop – Example 5 Find the average of 100 grades in a data file.
  • 16. Nested for loops There are many cases where it is useful to form nested loops, or loops inside or other loops. An example is illustrated below: for (int i = 1; i < = 4; i++) { statement(s) for (int j = 1; j <= 3; j++) Outer loop { Inner loop statement(s) } statement(s) }
  • 17. Tracing through nested for loops It is often necessary to trace through a nested loop structure to determine the resulting calculations, displayed values, etc. Using a table can be helpful. Example: Trace through the nested loop shown below: for (int i = 1; i < = 4; i++) i j k { for (int j = 1; j <= 3; j++) { k = i + j; } }
  • 18. Nested for loops – Example 1 Determine the output for each part below. int Count = 0; for (int i = 1; i < = 5; i++) for (int j = 1; j <= 4; j++) Count = __________ for (int k = 1; k <= 3; k++) Count++; cout << “Count = “ << Count; int Count1 = 0, Count2 = 0, Count3 = 0; for (int i = 10; i > = 0; i-=2) { Count1++; for (int j = 3; j <= 24; j+=3) Count1 = __________ { Count2++; for (int k = -20; k <= 20; k+=5) Count2 = __________ Count3++; } } Count3 = __________ cout << “Count1 = “ << Count1 << endl; cout << “Count1 = “ << Count1 << endl; cout << “Count1 = “ << Count1 << endl;
  • 19. Nested for loops – Example 2 Determine the output for the instructions shown below. for (int i = 1; i < = 2; i++) for (int j = i; j <= 3; j++) for (int k = j; k <= 4; k++) cout << i << j << k << endl; Output:
  • 20. Nested for loops – Example 3 Data file datex3.in contains 100 numbers with 10 numbers in each row. Determine the sum of the values in each row.
  • 21. Infinite loops (forever loops) It is sometimes useful to construct a loop which will execute forever. Such loops are sometimes called infinite loops or forever loops. Examples: • Monitor an alarm system 24 hours per day and sound an alarm when appropriate • Run the display on a gas pump and display advertising until a user presses a button to indicate that they want to pump gas. Notes: • An infinite loop may be exited at any point using a break statement. • You can generally stop an infinite loop from the keyboard by pressing Ctrl+C.
  • 22. Infinite loops (forever loops) – form Infinite loops can be created easily using any of the three types of loop structures introduced: Infinite while loop: while (1) { statement(s) } Infinite do while loop: do { statement(s) } while (1); Infinite for loop: for(;;) { statement(s) }
  • 23. Infinite loops - examples //clock program while (1) { statements to display time } // alarm program do { statements to sound alarm if certain inputs occur } while (1); // vending machine for(;;) { statements to wait for inputs statements to release product statements to dispense change }
  • 24. Structures with an indeterminate number of loops For loops with an indeterminate number of iterations, we can use: – Do while loop – exit at the top of the loop – While loop – exit at the bottom of the loop – Forever loop – exit in the middle of the loop using a break statement while (x < 2) do for(;;) { { { statement(s) statement(s) statement(s) } } if (!(x<2)) break; while (x < 2); statement(s) Exit from top of loop once x<2 is false } Exit from bottom of loop once x<2 is false Exit from middle of loop once x<2 is false Note: Any number of exit points could be provided in any of the loop structures above using break statements.
  • 25. Forever loop - Example Write a C++ program to evaluate e (the base of the natural log) using the infinite series e = 1/0! + 1/1! + 1/2! + 1/3! + ….. accurate to 8 digits after the decimal point using a forever loop with a break statement.
  • 26. Graphing in C++ Generating graphs in C++ is a fairly advanced topic. However, it is easy to write a C++ program to send the x,y data to a data file where it can then be graphed using other programs like Excel or MatLab. Excel can easily open data files where columns of numbers are separated by commas, spaces, or tabs. If they are separated by commas, the file is sometimes called a “commas delimited file.” Commas delimited data file A:xydata.dat C++ Program Excel … 10,125 y Ofstream OutData(“A:xydata.dat”) 12,137 //calculate x and y values 14,156 … 16,189 OutData << x << “,” << y << endl; 18, 211 x … …
  • 27. Example: Graphing in C++ Graph the function y = 100e-x for x = 0.0, 0.2, 0.4, … , 5.0
  • 28. Example: Graphing in C++ • Open the data file A:OutToExcel.dat with Excel (select All Files (*.*) for File Type. • The Text Import Wizard (Step 1 of 3) should appear as shown below. The default is a delimited file. Select Next to continue. • The Text Import Wizard (Step 2 of 3) should appear next. Select Comma as the delimiter (default is Tab). Select Next to continue.
  • 29. Example: Graphing in C++ • The Text Import Wizard (Step 3 of 3) should appear next. This screen lets you select data format. The default is General which is sufficient for this example. Select Finish . • The data should now appear in columns A and B in Excel. Add the graph.