PROBLEM SOLVING WITH LOOPS - WordPress.com · The loop logic structure There are three types of...
Transcript of PROBLEM SOLVING WITH LOOPS - WordPress.com · The loop logic structure There are three types of...
PROBLEM SOLVING WITH
LOOPS
Chapter 7
Concept of Repetition Structure Logic
It is a computer task, that is used for Repeating a series of instructions many times.
Ex. The Process of calculating the Total Payment for more than one employee.
Loops can be written using combination of previous
logic structures
Example:
Write an Algorithm that calculate the average of 7
students grade.
Solution without looping structure
Average() 1. Real Sum, Average
2. Sum = St1_Grade+St2_Grade+St3_Grade+ St4_Grade+St5_Grade+St6_Grade+ St7_Grade
3. Average = Sum/ 7
4. Exit
Real St1_Grade, St2_Grade, St3_Grade, St4_Grade, St5_Grade, St6_Grade, St7_Grade,
Control () 1. Read() 2. Average() 3. End
Read() 1. Read St1_Grade 2. Read St2_Grade 3. Read St3_Grade 4. Read St4_Grade 5. Read St5_Grade 6. Read St6_Grade 7. Read St7_Grade 8. Exit
Solution with looping structure
Average()
1. Integer Count=1
2. Real Sum=0
3. While ( count <= 7)
1. Read()
2. Sum=Sum +Student_Grade
3. Count=Count+1
4. WhileEnd
5. Real Average = Sum / count
6. Exit
Real Student_Grade Control ()
1. Read() 2. Average() 3. End
Read() 1. Enter Student_Grade 2. Exit
Average Module Algorithm Flowchart
Flowchart
Average()
Integer Count=1
Real Sum=0
While
Count<=7
T
Read()
Sum=Sum+Student_Grade
Count=Count+1 Exit
F
Real Average = Sum / 7
What will
Happen If
we
remove
this?
This will lead to
an infinite loop
What will
Happen If
we
remove
this?
Count has no
data, its value is
Unknown, So the
value of the
condition is
unpredictable.
What will
Happen If
we
remove
this?
Sum has no initial
value, its value is
Unknown
The loop logic structure
There are three types of loop structures:
The While/WhileEnd loop
Which repeats instructions while a condition is True and stops repeating when a condition arises that is not True .
The Repeat/Until loop
Which repeats instructions while a condition is False or until a condition is True .
The automatic-counter loop
a variable is set equal to a given number and increases in equal given increments until it is greater than an ending number .
The loop logic structure
The algorithm and flowchart differ with each type of
loop structure .
Several standard types of tasks are accomplished
through the use of the loop structure .
Counting ( incrementing and decrementing)
Accumulating ( calculating a sum or a total)
In both task a number is added or subtracted from a variable
and the result is stored back into the same variable .
In each case the resultant variable is assigned the value of zero
before starting the loop( initializing the variable ) .
Initialization
The Initialization
set to an initial value
usually zero but not all the time
Examples:
Count = 0
Count = 1
Count = 100
Incrementing (or Decrement)
Is done by adding a constant , such as 1 or 2 to the value of a variable
Example :
Counter = counter + 1 or c = c + 1
The increment can be one , two , or any other constant , including negative number if you want to decrement rather than increment .
Example:
Counter = counter -1 or c = c - 1
Remember Variable Must be Note:
Initialized before starting the loop.
The Accumulating
Or summing , a group of numbers
Similar to incrementing, except a variable instead of a constant is added to another variable.
sum = sum + variable or s = s + v
Examples: Totalsales = Totalsales + Sales
Remember Variable Must be Note:
Initialized to zero.
While/ While End Loop.
Repeats the instructions between the While & While End, if the
condition is true.
While <Condition (s)>
Instruction
Instruction
.
.
.
WhileEnd
while/whileEnd
Use the While/ While End Loop structure when you do not know the number of times an instruction to be repeated.
Or if there are cases when the instructions in the loop
should not be processed .
Primer read The value must be entered before the loop start.
It gives the while/whileEnd loop a valid value for the variable in order for the conditions to be true the first time through the loop .
The value of variable that allow to control when to stop the looping process called a trip value .
Example 1:
Create the algorithm to find the average age of all the
students in class
How many
Students?
UNKOWN
How can I solve this
problem?
Average Age of a
Class –
While/WhileEnd
Repeat/Until
Repeat
Instruction
Instruction
.
.
.
Until< Condition(S)>
Example 1:
Create the algorithm to find the average age of all the
students in class
How many
Students?
UNKOWN
How can I solve this
problem?
Average Age of
a Class –
Repeat/Until
While/EndWhile & Repeat/Until
Repeat/Until While/WhileEnd
•You can set the operand of the conditions
anywhere within the loop since the
condition is processed at the end .
•Repeat the loop until the resultant of
condition is true.
•The condition is processed at the end
•Instructions in the loop are processed
entirely at least once.
•You must initialize the data so that the
resultant of the condition is true the first
time through the loop. Otherwise , the loop
instruction will never be processed .
•Repeat the loop until the resultant of
condition is false.
•The condition is processed at the beginning
Automatic-Counter Loop
Increments or decrements a variable each time the
loop is repeated .
Use it when you know from the start the number of
times the loop will be executed .
The beginning value , the ending value , and the
increment value may be constant , variable , or
expressions .
Automatic-Counter Loop
Variable name Loop: counter=begin To End Step S
Instruction
Instruction
Instruction
.
.
Loop –End: Counter
Automatic-Counter Loop:
General Rules
When the computer executes the Loop instruction its sets the counter equal to the beginning number.
When the computer executes the Loop-End instruction it increments the counter.
When the counter is less than or equal to the ending number The processing continues for the instructions that follows the loop.
When the counter is greater than the ending number. The processing continues for the instructions that follows the loop-End
instruction.
Automatic-Counter Loop
When decrementing the counter :
The counter is decremented at the end of the loop .
When the counter is greater than or equal to the ending
value , the loop continues.
Step value needs to be a negative number and begin must
be greater than end
Example 1: using Automatic-Counter Loop
Create the algorithm to find the average age of all the
students in class
( J -1 )
2
3
4
5
J ,
( J – 1)
J,
Example 2:
Create the algorithm & flowchart to:
Prints the even numbers.
The series of numbers will:
Start From 0 .
Ends at 50.
Example 2 Solution
Algorithm
PrintEvenNum()
1. Loop: counter=0 To 50 Step 2
1. Print counter
2. Loop-End: counter
3. End
Recursion
Another type of loop structure .
A module or a function calls itself .
Example :
FactorialFunction (N)
1. If N > 1
then
Factorial = N * FactorialFunction (N-1)
Else
Factorial = 1
2. Exit