Loop constructs
Department of Software Engineering,
Capital University of Science and Technology, Islamabad
2
Loops
• Loops cause a section of your program to be
repeated a certain number of times
• loops are used to repeat a block of code.
• Repeats until the condition remains true
• Terminates when the condition becomes
false
• For example, let's say we want to show a
message 100 times. Then instead of writing the
print statement 100 times, we can use a loop.
3
Loops in C++
1. for loop
2. while loop
3. do while loop
Loops
Counter-controlled Loops
• Depends on the value of a variable known as counter
variable. The value of the variable is incremented or
decremented in each iteration.
Example: for loop
Sentinel-Controlled Loops / Conditional loop
• A loop that terminates when something happens inside
the loop body indicating that loop should be exited. Also
known as conditional loops
• OR
• A condition controlled loop is programming structure
that. causes a statement or set of statements to repeat as
long as a. condition evaluates to True.
Example: while and do while loops
for loop - Syntax
5
6
Example: for loop - Syntax
for (int j=0; j<10; j++)
cout << j * j <<endl;
Initialization
expression
Test Condition
Increment expression
cout << j*2 <<endl;
cout << j*j*j <<endl;
for loop – Flow Chart
7
Example 1: for loop
Printing Numbers From 1 to 5
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i <= 5; ++i)
{
cout << i << " ";
}
return 0;
}
8
Example 2: for loop
// C++ Program to display a
text 5 times
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i <= 5; ++i)
{
cout << "Hello World! " <<
endl;
}
return 0;
}
9
Example 3: for loop
Find the sum of first n Natural Numbers
#include <iostream>
using namespace std;
int main()
{
int num, sum;
sum = 0;
cout << "Enter a positive integer: ";
cin >> num;
for (int i = 1; i <= num; ++i)
{
sum += i;
}
cout << "Sum = " << sum << endl;
return 0;
}
10
11
Example 4: for loop
#include <iostream>
using namespace std;
int main()
{
int j;
for (j=0; j<10; j++)
cout << j * j <<endl;
return 0;
}
12
Example 5: for loop
- Get a number from user and calculate its factorial:
For any positive number n, it's factorial is given by:
• factorial = 1*2*3...*n
• Factorial of negative number cannot be found and
factorial of 0 is 1.
In this program below, user is asked to enter a
positive integer. Then the factorial of that number is
computed and displayed in the screen.
Cont…
13
14
for loop - Variable Visibility
int main()
{
int j;
for(j=0; j<10; j++) {
int k=0;
k = j*j;
cout<<“nValue of k: “<<k;
}
// k = 23; Cannot do this!
}
for loop - Variable Visibility
int main()
{
for(int j=0; j<5; j++)
cout<<“nValue of j: “<<j;
cout<<“nValue of j: “<<j; // ERROR
}
Loop body
15
for loop – optional expressions
int j=0;
for(; j<10; j++)
cout<<“nHello world“;
int j=0;
for(; j<10;)
{
cout<<“nHello world“;
j++;
}
for(; ;)
cout<<“nHello world“;
Infinite loop
(it never terminates) 16
Infinite for loop
17
If the condition in a for loop is always true, it runs forever (until memory is full).
For example,
In the above program, the condition is always true which will then run the code
for infinite times.
While Loop- Syntax
18
• A while loop evaluates the condition
• If the condition evaluates to true, the code inside the while loop is executed.
• The condition is evaluated again.
• This process continues until the condition is false.
• When the condition evaluates to false, the loop terminates.
Flowchart of while Loop
19
Example 1: Display Numbers from 1
to 5
// C++ Program to print numbers from 1 to 5
#include <iostream>
using namespace std;
int main() {
int i = 1;
// while loop from 1 to 5
while (i <= 5) {
cout << i << " ";
++i;
}
return 0;
}
20
Example 2: Sum of Positive Numbers Only
#include <iostream>
using namespace std;
int main() {
int number;
int sum = 0;
// take input from the user
cout << "Enter a number: ";
cin >> number;
while (number >= 0) {
// add all positive numbers
sum += number;
// take input again if the number is positive
cout << "Enter a number: ";
cin >> number;
}
// display the sum
cout << "nThe sum is " << sum << endl;
return 0;
} 21
Example 3: Write a program to print the table of 10
using a while loop
22
#include<iostream>
using namespace std;
int main()
{
int t=1;
cout<<"Table of 10"<<endl;
while(t!=11)
{
cout<<"10 X "<<t<<"="<<10*t<<endl;
t=t+1;
}
return(0);
}
do...while Loop - Syntax
23
• The body of the loop is executed at first. Then the condition is evaluated.
• If the condition evaluates to true, the body of the loop inside the do statement is
executed again.
• The condition is evaluated once again.
• If the condition evaluates to true, the body of the loop inside the do statement is
executed again.
• This process continues until the condition evaluates to false. Then the loop
stops.
Flowchart of do...while Loop
24
Example 4: Display Numbers from 1 to 5
// C++ Program to print numbers from 1 to 5
#include <iostream>
using namespace std;
int main() {
int i = 1;
// do...while loop from 1 to 5
do {
cout << i << " ";
++i;
}
while (i <= 5);
return 0;
}
25
Example 5: Sum of Positive Numbers Only
#include <iostream>
using namespace std;
int main() {
int number = 0;
int sum = 0;
do {
sum += number;
// take input from the user
cout << "Enter a number: ";
cin >> number;
}
while (number >= 0);
// display the sum
cout << "nThe sum is " << sum << endl;
return 0;
}
26
Infinite while Loop/ Do…While Loop
27

Lec7 - Loops updated.pptx

  • 1.
    Loop constructs Department ofSoftware Engineering, Capital University of Science and Technology, Islamabad
  • 2.
    2 Loops • Loops causea section of your program to be repeated a certain number of times • loops are used to repeat a block of code. • Repeats until the condition remains true • Terminates when the condition becomes false • For example, let's say we want to show a message 100 times. Then instead of writing the print statement 100 times, we can use a loop.
  • 3.
    3 Loops in C++ 1.for loop 2. while loop 3. do while loop
  • 4.
    Loops Counter-controlled Loops • Dependson the value of a variable known as counter variable. The value of the variable is incremented or decremented in each iteration. Example: for loop Sentinel-Controlled Loops / Conditional loop • A loop that terminates when something happens inside the loop body indicating that loop should be exited. Also known as conditional loops • OR • A condition controlled loop is programming structure that. causes a statement or set of statements to repeat as long as a. condition evaluates to True. Example: while and do while loops
  • 5.
    for loop -Syntax 5
  • 6.
    6 Example: for loop- Syntax for (int j=0; j<10; j++) cout << j * j <<endl; Initialization expression Test Condition Increment expression cout << j*2 <<endl; cout << j*j*j <<endl;
  • 7.
    for loop –Flow Chart 7
  • 8.
    Example 1: forloop Printing Numbers From 1 to 5 #include <iostream> using namespace std; int main() { for (int i = 1; i <= 5; ++i) { cout << i << " "; } return 0; } 8
  • 9.
    Example 2: forloop // C++ Program to display a text 5 times #include <iostream> using namespace std; int main() { for (int i = 1; i <= 5; ++i) { cout << "Hello World! " << endl; } return 0; } 9
  • 10.
    Example 3: forloop Find the sum of first n Natural Numbers #include <iostream> using namespace std; int main() { int num, sum; sum = 0; cout << "Enter a positive integer: "; cin >> num; for (int i = 1; i <= num; ++i) { sum += i; } cout << "Sum = " << sum << endl; return 0; } 10
  • 11.
    11 Example 4: forloop #include <iostream> using namespace std; int main() { int j; for (j=0; j<10; j++) cout << j * j <<endl; return 0; }
  • 12.
    12 Example 5: forloop - Get a number from user and calculate its factorial: For any positive number n, it's factorial is given by: • factorial = 1*2*3...*n • Factorial of negative number cannot be found and factorial of 0 is 1. In this program below, user is asked to enter a positive integer. Then the factorial of that number is computed and displayed in the screen.
  • 13.
  • 14.
    14 for loop -Variable Visibility int main() { int j; for(j=0; j<10; j++) { int k=0; k = j*j; cout<<“nValue of k: “<<k; } // k = 23; Cannot do this! }
  • 15.
    for loop -Variable Visibility int main() { for(int j=0; j<5; j++) cout<<“nValue of j: “<<j; cout<<“nValue of j: “<<j; // ERROR } Loop body 15
  • 16.
    for loop –optional expressions int j=0; for(; j<10; j++) cout<<“nHello world“; int j=0; for(; j<10;) { cout<<“nHello world“; j++; } for(; ;) cout<<“nHello world“; Infinite loop (it never terminates) 16
  • 17.
    Infinite for loop 17 Ifthe condition in a for loop is always true, it runs forever (until memory is full). For example, In the above program, the condition is always true which will then run the code for infinite times.
  • 18.
    While Loop- Syntax 18 •A while loop evaluates the condition • If the condition evaluates to true, the code inside the while loop is executed. • The condition is evaluated again. • This process continues until the condition is false. • When the condition evaluates to false, the loop terminates.
  • 19.
  • 20.
    Example 1: DisplayNumbers from 1 to 5 // C++ Program to print numbers from 1 to 5 #include <iostream> using namespace std; int main() { int i = 1; // while loop from 1 to 5 while (i <= 5) { cout << i << " "; ++i; } return 0; } 20
  • 21.
    Example 2: Sumof Positive Numbers Only #include <iostream> using namespace std; int main() { int number; int sum = 0; // take input from the user cout << "Enter a number: "; cin >> number; while (number >= 0) { // add all positive numbers sum += number; // take input again if the number is positive cout << "Enter a number: "; cin >> number; } // display the sum cout << "nThe sum is " << sum << endl; return 0; } 21
  • 22.
    Example 3: Writea program to print the table of 10 using a while loop 22 #include<iostream> using namespace std; int main() { int t=1; cout<<"Table of 10"<<endl; while(t!=11) { cout<<"10 X "<<t<<"="<<10*t<<endl; t=t+1; } return(0); }
  • 23.
    do...while Loop -Syntax 23 • The body of the loop is executed at first. Then the condition is evaluated. • If the condition evaluates to true, the body of the loop inside the do statement is executed again. • The condition is evaluated once again. • If the condition evaluates to true, the body of the loop inside the do statement is executed again. • This process continues until the condition evaluates to false. Then the loop stops.
  • 24.
  • 25.
    Example 4: DisplayNumbers from 1 to 5 // C++ Program to print numbers from 1 to 5 #include <iostream> using namespace std; int main() { int i = 1; // do...while loop from 1 to 5 do { cout << i << " "; ++i; } while (i <= 5); return 0; } 25
  • 26.
    Example 5: Sumof Positive Numbers Only #include <iostream> using namespace std; int main() { int number = 0; int sum = 0; do { sum += number; // take input from the user cout << "Enter a number: "; cin >> number; } while (number >= 0); // display the sum cout << "nThe sum is " << sum << endl; return 0; } 26
  • 27.
    Infinite while Loop/Do…While Loop 27