You are on page 1of 27

# Programming

Fundamentals

BSCS Semester1
Course Instructor: M. Nadeem

What is a Loop?

## An iterative statement is called loop. A type of control structure that

repeats a statement or set of statements is known as looping
structures. It is also known as iterative or repetitive structure. There
are two elements of the loop: the body of loop which is to be executed
number of times and a loop condition which terminates the loop when a
particular condition is met.
Repetition
A single statement
A set of statements

09/15/15

Types of Loop

Types of Loop

## Counter loop (for loop)

Conditional loops (while, do while)
Types of Loop
For Loop

09/15/15

While Loop

Do While Loop

## For Loop Operation

Initialization Expression

Test
Expression

False
Exit

True
Body of Loop

Increment Expression

09/15/15

Test Expression
Initialization
Expression

Increment
Expression

keyword

statement;
09/15/15

## For Loop Structure

Test Expression
Initialization
Expression

Increment Expression

keyword

{ statement;
statement;
statement;
09/15/15

## Multiple Statement Loop Body

For Loop
// demonstrate simple for loop
# include <iostream>
#include<conio.h>
void main()
{
int j;
for (j=0 ; j < 5 ; j++)
printf(%d
getch();
}
Output:
0

09/15/15

, j * j;

16

## for (x=0 , j=0 ; j < 5 ;

j++ , x++)

controlling

Increment or Decrement

## for ( j=5 ; j > 0 ; j-- )

for ( j=0 ; j <10 ; j+=2 )
09/15/15

A

## loop that does not terminate is called

Infinite loop.
A loop who's condition always remain true is
called infinite loop.
e.g.
for(int i=0;i>0;i++)
printf(%d,i);
09/15/15

While Loop
Single Statement Loop Body

## while (test expression )

statement;
Test
Expression
Multiple Statement Loop Body

## while ( test expression )

09/15/15

{
Statement;
Statement;
Statement;
}

False
Exit

True
Body of Loop

While Operation
10

The body of the loop is executed until the condition becomes false. Here is a
program which illustrates the working of the while loop.
void main ()
{
int c=0;
int i=0;
char str=y;
while(str==y)
{
cout<<Enter the number you want to add<<endl;
scanf(%d,&i);
c=c+1;
cout<<Do you want to enter another number y/n:<<endl;
scanf(%c,&str);
}
printf(The sum of the numbers are : %d,c);
getch();
}

09/15/15

11

## // to find the average of as many numbers as user wants with

while loop.
void main()
{
int n,sum,count;
while(scanf(%d,&n))
{
If(n==0)
continue;
sum=sum+n //sum+=n;
count++;
}
Printf(%d,(sum/count));
}

09/15/15

12

Do While Loop
Single Statement Loop Body

Do
statement;
while (test expression );

## Multiple Statement Loop Body

Do

09/15/15

{
Statement;
Statement;
Statement;
}
while ( test expression );

Body of Loop

Test
Expression

False
Exit

True
Do While Operation
13

The body of the loop is executed until the condition becomes false. Here is a
program which illustrates the working of the do while loop.
void main ()
{
int c=0;
int i=0;
char str=y;
do
{
cout<<Enter the number you want to add<<endl;
scanf(%d,&i);
c=c+1;
cout<<Do you want to enter another number y/n:<<endl;
scanf(%c,&str);
} while(str==y);
printf(The sum of the numbers are : %d\n,c);
getch();
}
09/15/15

14

## // to find the average of as many numbers as user wants with

do while loop.
void main()
{
int n,sum,count;
do
{
If(n==0)
continue;
sum=sum+n //sum+=n;
count++;
} while(scanf(%d,&n));
printf(%d,(sum/count));
}
09/15/15

15

For Loop

No

09/15/15

knowledge

Prior Knowledge

While Loop
Do While

16

## To exit a loop you can use the

break statement at any time.
This can be very useful if you
want to stop running a loop
because a condition has been
met other than the loop end
condition.
With continue; it is possible
to skip the rest of the
commands in the current loop
and start from the top again.
(the loop variable must still be
incremented).

09/15/15

EXAMPLE
int main()
{
int j, total;
for (int i=0; i<20;i++)
{
cin>>j;
if ( j == 10)
continue;
total = i + j;
cout<<total is=<<total;
}
return 0;
}
17

Continue statement

## With continue; it is possible to skip the rest of the commands in

the current loop and start from the top again. (the loop variable
must still be incremented).
EXAMPLE

09/15/15

int main()
{
int i;
i = 0;
while ( i < 20 )
{
i++;
continue;
printf(hey wait! you are skipping me\n);
}
return 0;
}

18

Nested Loop
A

## loop within an other loop

is called nested loop. e.g.
for(int i=1;i<=5;i++)

for(int j=1;j<=i;j++)
{
printf(%d,j);
}
printf(\n);

Output
1
12
123
1234
12345

}
09/15/15

19

Nested Loop
for(int

09/15/15

i=5;i>=1;i--)

for(int j=i;j>=1;j--)
{
printf(%d,j);
}
printf(\n);

Output
54321
4321
321
21
1

20

Nested Loop
for(int

09/15/15

i=5;i>=1;i--)

for(int j=1;j<=i;j++)
{
printf(%d,j);
}
printf(\n);

Output
12345
1234
123
12
1

21

Nested Loop
for(int

09/15/15

i=5;i>=1;i--)

for(int j=1;j<=i;j++)
{
printf(*);
}
printf(\n);

Output
*****
****
***
**
*

22

Nested Loop
int

i=5;
while(i>=1)

{
int j=1;

while(j<=i)
{

printf(%d,j);
j++;

}
i--;
printf(\n);

Output
12345
1234
123
12
1

}
09/15/15

23

## Repeating trial and error without

understanding the problem
Writing Code without detailed
analysis and design (Abstraction,
Algo)
Writing tricky and dirty programs

Programms:

## Display Average of odd numbers from 1200 to 1000

09/15/15

25

Programs:

Write a program using for, while and do while and nested loops to display the
following outputs. You are also required to submit the dry runs of all these
programs on paper.

12345678910
123456789
12345678
1234567
123456
12345
1234
123
12
1

09/15/15

1
12
123
1234
12345
123456
1234567
12345678
123456789
12345678910

*
***
*****
*******
*******
*****
***
*

===========
****************
********
****
**
*
===========

26

Programs:

Write a program using for, while and do while and nested loops to display the
following outputs. You are also required to submit the dry runs of all these
programs on paper.

13579
13579
1357
1357
135
135
13
1

09/15/15

0
02
024
0246
02468
0246810
024681012
02468101214

&
&&
&&&
&&&&
&&&&&
&&&&&
&&&&
&&&
&&
&

*
***
*****
*******
*****
***
*

27