Flow Chart Lect June 22
Flow Chart Lect June 22
START
Input M1,M2,M3,M4 Step 1:
GRADE (M1+M2+M3+M4)/4 Step 2:
Input
M1,M2,M3,M4
if (GRADE <50) then Step 3:
Print “FAIL”
else
GRADE(M1+M2+M3+M4)/4 Print “PASS”
end
N IS Y
GRADE<5
0
PRINT PRINT
“PASS” “FAIL”
STOP
Example 2
• Write an algorithm and draw a flowchart to
convert the length in feet to centimeter.
Pseudocode:
• Input the length in feet (Lft)
• Calculate the length in cm (Lcm) by
multiplying LFT with 30
• Print length in cm (LCM)
Example 2
Algorithm Flowchart
Print
Lcm
STOP
Example 3
Write an algorithm and draw a flowchart that will
read the two sides of a rectangle and calculate its
area.
Pseudocode
• Input the width (W) and Length (L) of a rectangle
• Calculate the area (A) by multiplying L with W
• Print A
Example 3
Algorithm START
Print
A
STOP
Example 4
• Write an algorithm and draw a flowchart that will
calculate the roots of a quadratic equation
ax2 bx c 0
• Hint: d = sqrt ( b2 4),
acand the roots are: x1 =
(–b + d)/2a and x2 = (–b – d)/2a
Example 4
Pseudocode:
• Input the coefficients (a, b, c) of the quadratic
equation
• Calculate d
• Calculate x1
• Calculate x2
• Print x1 and x2
Example 4
START
• Algorithm:
Input
• Step 1: Input a, b, c a, b, c
• Step 2: d sqrt ( b b 4 a
) c
• Step 3: x1 (–b + d) / (2 x a) d sqrt(b x b – 4 x a x c)
• Step 4: x2 (–b – d) / (2 x a)
x1 (–b + d) / (2 x a)
• Step 5: Print x1, x2
X2 (–b – d) / (2 x a)
Print
x1 ,x2
STOP
DECISION STRUCTURES
• The expression A>B is a logical expression
• it describes a condition we want to test
• if A>B is true (if A is greater than B) we take the
action on left
• print the value of A
• if A>B is false (if A is not greater than B) we take the
action on right
• print the value of B
DECISION STRUCTURES
• If -else
Y N
is
A>B
Print A Print B
IF–THEN–ELSE STRUCTURE
• The structure is as follows
If condition then
true alternative
else
false alternative
endif
IF–THEN–ELSE STRUCTURE
• The algorithm for the flowchart is as follows:
If A>B then
print A
else Y
is
N
print B A>B
endif
Print A Print B
Relational Operators
Relational Operators
Operator Description
> Greater than
< Less than
= Equal to
Greater than or equal to
Less than or equal to
Not equal to
Example 5
• Write an algorithm that reads two values, determines the
largest value and prints the largest value with an identifying
message.
ALGORITHM
Step 1: Input VALUE1, VALUE2
Step 2: if (VALUE1 > VALUE2) then
MAX VALUE1
else
MAX VALUE2
endif
Step 3: Print “The largest value is”, MAX
Example 5
START
Input
VALUE1,VALUE2
Y is
N
VALUE1>VALUE2
Print
“The largest value is”, MAX
STOP
NESTED IFS
• One of the alternatives within an IF–THEN–
ELSE statement
– may involve further IF–THEN–ELSE statement
Example 6
• Write an algorithm that reads three numbers
and prints the value of the largest number.
Example 6
Step 1: Input N1, N2, N3
Step 2: if (N1>N2) then
if (N1>N3) then
MAX N1 [N1>N2, N1>N3]
else
MAX N3 [N3>N1>N2]
endif
else
if (N2>N3) then
MAX N2 [N2>N1, N2>N3]
else
MAX N3 [N3>N2>N1]
endif
endif
Step 3: Print “The largest number is”, MAX
Example 6
• Flowchart: Draw the flowchart of the above
Algorithm.
Step Wise Refinement
95
Two Approaches
• Top Down Design
• Bottom Up
96
Think First, Code Second
• Understand the problem
• Work out step by step procedure for solving
the problem (algorithm)
• top down design and stepwise refinement
Understand the problem
Think first.
How many grades do we have?
How will we know when we have the last one?
Refine “Input the quiz grades. Sum
them and count them. .”
Input the first grade
While the user has not yet entered the special end of data value
Add this grade into the total
Add one to the grade counter
Input the next grade (possibly the special end of data
value)
Calculate and print the class average
• Think first. What kind of errors could occur?
What could go wrong?
• Division by 0.
• User doesn’t enter any grades.
Calculate and print the class average
if (counter != 0) {
average = (float) total/counter;
printf(“Class average is %f“, average);
else
printf(“No grades were entered”);
return 0;
}
Home Work
• Explain stepwise refinement.
• Explain the designing and implementation of
correct, efficient & maintainable program.
• What is structured programming.
108
For Loop
Syntax:
for(initialization; Conditional; Increment){
Statement 1;
Statement 2;
}
109
Thanks
110