0% found this document useful (0 votes)
60 views44 pages

Loop Constructs: by Ansar Javed Department of Computer Science, Capital University of Science and Technology, Islamabad

Loop constructs allow sections of code to repeat a certain number of times. There are three main types of loops in C++: for loops, which repeat a fixed number of times based on a counter variable; while loops, which repeat until a condition is no longer true; and do-while loops, which always repeat at least once and then continue repeating until a condition is no longer true. Loops can be nested within each other to create more complex repetition patterns in code.

Uploaded by

Malak Nizar Alam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views44 pages

Loop Constructs: by Ansar Javed Department of Computer Science, Capital University of Science and Technology, Islamabad

Loop constructs allow sections of code to repeat a certain number of times. There are three main types of loops in C++: for loops, which repeat a fixed number of times based on a counter variable; while loops, which repeat until a condition is no longer true; and do-while loops, which always repeat at least once and then continue repeating until a condition is no longer true. Loops can be nested within each other to create more complex repetition patterns in code.

Uploaded by

Malak Nizar Alam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

Loop constructs

By

Ansar Javed

Department of Computer Science,


Capital University of Science and Technology, Islamabad
Loops
• Loops cause a section of your program
to be repeated a certain number of
times
• Repeats until the condition remains true
• Terminates when the condition becomes
false

2
Loops in C++
1. for loop
2. while loop
3. do loop

3
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
Example: while and do loops
(1) for loop
#include <iostream>
using namespace std;
int main()
{
int j;

for (j=0; j<10; j++)


cout << j * j <<endl;

return 0;
}
5
(1) for loop - Syntax

Initialization Test Condition


expression Increment expression

for (int j=0; j<10; j++)


cout << j * j <<endl;
cout << j*2 <<endl;
cout << j*j*j <<endl;

6
(for loop) -- Class Exercise-1
- Get a number form user and calculate its factorial

7
(for loop) -- Class Exercise-2
- Write a program that ask the user to enter a
number. The program should print the Cube of all
integers starting from 1 to the Number.
E.g.,
Enter a Number: 4
1 1
2 6
3 27
4 64
8
(for loop) -- Class Exercise-3
- Write a program that asks the user to enter two
numbers: speed1, and speed2 representing speeds
in KPH (Kilo meters per Hour). Then the program
should convert and show table of speeds in MPH
(Miles per Hour) for all the speed values between
speed1 and speed2.
MPH = KPH * 0.6214

speed1 and speed2 variables should be multiple of


10. Each table entry (in KPH) should be updated by
5 in each iteration.
for loop – Multiple Expressions

Multiple Initialization Multiple Increment/Dec


Only one
expressions expressions
Test Condition

for (int j=0, k=9; j<10; j++,k--)


cout << j * j <<endl;
cout<< k*k <<endl;

10
(1) for loop - Variable Visibility
void 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!
} 11
(1) 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(; ;) Infinite loop


(it never terminates)
cout<<“\nHello world“;
(1) for loop - Variable Visibility
void main()
{
Loop body
for(int j=0; j<5; j++)
cout<<“\nValue of j: “<<j;

cout<<“\nValue of j: “<<j; // ERROR


}
while loop
• for loop does something a fixed number of times.

• If you don’t know how many times you want to do


something before you start the loop?

• In this case a different kind of loop may be used:


the while loop
while loop - syntax
Loop body contain
single statement

Loop body contain


Multiple statement
Example: Tracing a while Loop
Initialize count

int count = 0;
while (count < 2)
{
cout << "Welcome to C++!";
count++;
}
Example: Tracing a while Loop
(count < 2) is true
int count = 0;
while (count < 2)
{
cout << "Welcome to C++!";
count++;
}
Example: Tracing a while Loop

int count = 0;
Print “Welcome to C++”
while (count < 2)
{
cout << "Welcome to C++!";
count++;
}
Example: Tracing a while Loop

int count = 0;
while (count < 2)
{ Increase count by 1
count is 1 now
cout << "Welcome to C++!";
count++;
}
Example: Tracing a while Loop
(count < 2) is still true since
int count = 0; count is 1

while (count < 2)


{
cout << "Welcome to C++!";
count++;
}
Example: Tracing a while Loop

int count = 0;
while (count < 2) Print “Welcome to C++”
{
cout << "Welcome to C++!";
count++;
}
Example: Tracing a while Loop

int count = 0;
while (count < 2)
Increase count by 1
{ count is 2 now

cout << "Welcome to C++!";


count++;
}
Example: Tracing a while Loop
(count < 2) is false since count is 2
int count = 0; now

while (count < 2)


{
cout << "Welcome to C++!";
count++;
}
Example: Tracing a while Loop

int count = 0;
while (count < 2)
{
cout << "Welcome to C++!";
count++; The loop exits. Execute the next
statement after the loop.
}
Example Program
-Writea program to print character entered by user,
terminate the program when ‘z’ is pressed.

#include <iostream>
#include <conio.h>
using namespace std;

void main( )
{
char ch='0';
cout<<"Enter characters, z to terminate..\n";
while(ch!='z')
ch = _getche();
cout<<“Program ended…”
}
(while loop) -- Class Exercise-1
-Writea program to get characters from the user. In the
end of the program should count total characters
(entered by the user). The program should stop taking
input when 0 is pressed.
(while loop) -- Class Exercise-2
-Write a program to get input in the form of characters
from the user. In the end of the program should count
total words entered by the user. The program should
stop taking input when 1 is pressed.
(while loop) -- Class Exercise-3
- Writea program that inputs a value in an integer number
from user. For this number the program returns the count
for how many times can we divide this number by 2 to
get down to 1”.

int count = 0; int num; cin>>num;


//count how many divisions we've done
while (num >= 1)
{
num = num / 2;
count++;
}
cout<<“\nWe have to divide: “<<count<<“ times”;
do loop
• In while loop if condition is false it is never entered
or executed

• Sometime, requirements are that the loop should


be executed at least once….

• For that, we use do loop, that guarantees at least


on execution of the loop body
do while loop - syntax
Loop body contain
single statement

Loop body contain


Multiple statement
do loop – Example1
#include <iostream>
using namespace std;

void main( )
{
int counter, howmuch;
cin>>howmuch;
counter = 0;
do {
counter++;
cout<<counter<<'\n';
} while ( counter < howmuch);

}
do loop – Example2
void main( )
{
int num1, num2; char choice;
do {
cout<<“\nEnter a number:”;
cin>>num1;
cout<<“\nEnter another number:”;
cin>>num2;
cout<<“\nTheir sum is: “<<num1+num2;
cout<<“\nDo another time (y/n):”;
ch = _getche(); // #include <conio.h>
} while(ch==‘y’);
}
“break” Statement
• break statement
– Immediate exit from while, for, do/while, (also
used in switch)
– Program continues with first statement after the loop
structure

• Common uses of break in Loop


– Escape early from a loop OR skip remainder part of the
loop
“break” Statement Syntax
for (int i=1; i<=5; i++)
{
if (i==3)
break;
cout<<“Hello”;
}
===================================================
int n;
int EvenSum=0;
while(1)
{
cin>>n;
if(n%2==1)
break;
EvenSum = EvenSum + n;
}
(using break in loops) – Class Exercise 1
• Write a program which reads an integer n from the
user, and prints square value (n*n) for that number.
Whenever ZERO is entered by the user program
should terminate by printing “Invalid Value” message.
break in loop – Concusion
• “break” immediately ends the loop that
contains it.
“continue” Statement
• “continue” statement
– Only ends the current iteration. Program control
goes to the end of the loop body.
– Skips remainder of loop body (in current iteration)
– Proceeds with next iteration of loop

• “continue” can only be inside loops (for, while, or


do-while). IT CANNOT BE USED IN “switch”
“continue” Statement - example
for (int i=1; i<=5; i++)
{
if (i==3)
continue;
cout<<“Hello”<<i;
}
===================================================
int n;
int EvenSum=0;
while(1)
{
cin>>n;
if(n%2==1)
continue;
EvenSum = EvenSum + n;
}
Nested Repetition Structures
(Nested Loops)
• In a nested repetition structure, one loop (inner
loop) is placed entirely within another loop (outer
loop)

• In nested loops any loop (for, while, or do loop)


can be placed inside another loop which can be a
for, while, or a do loop
Nested Repetition Structures
(Nested Loops) - Example
Outer Loop

for (int i=0; i<2; i++)


{ Inner Loop
for (int j=0; j<2;j++)
{
cout<<“\nHello-”<<i<<“:“<<j;
}
}
(Nested Loops) – Example Program-1
- Write a program to print triangle of starts.

*
**
***
****
*****
******
*******
********
*********
(Nested Loops) – Example Program-2
- Write a program to print triangle of starts.

*********
********
*******
******
*****
****
***
**
*
(Nested Loops) – Example Program-3
- Write a program to print Rectangle based on two
triangles (One using + and other using * symbol).

+********
++*******
+++******
++++*****
+++++****
++++++***
+++++++**
++++++++*
+++++++++
(Nested Loops) – Example Program-4
- Write a program for a company to calculate total sales for
3 regions. Each region’s sales is entered by user which is
then summed in total regional sales. The program keep
accepting regional sales until it is not 0. The program
prints the final regional sum for three regions and exits.

Example Output:
Total Sales for Region 1: 87645
Total Sales for Region 2: 2312
Total Sales for Region 3: 8874

You might also like