0% found this document useful (0 votes)
6 views76 pages

PF-Lec 02(Algorithm FlowChart Pseudocode)

Uploaded by

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

PF-Lec 02(Algorithm FlowChart Pseudocode)

Uploaded by

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

Programming

Fundamentals
CSC-131 – (3+1)

SYED MUHAMMAD RAFI


LECTURER, DEPARTMENT OF COMPUTER SCIENCE
IQRA UNIVERSITY
Lecture # 02
Algorithm, Pseudocode
and Flowchart
IPO
Chart

• IPO stands for Input Process Output.

• It performs the analysis by identifying the input, process


and output of a given problem.

3
IPO
Chart
• It can be represented by the
following chart:
Input Processing Output
Processing Items:

Algorithm:

4
IPO
Chart
• The input section specifies all the inputs to the problem.

• The input may be given by the user from input devices


like, keyboard, mouse, scanner etc.

• The input may also come as the contents of a file.

• The input may come from the network or Internet.


5
IPO
Chart
• The output section specifies all the outcomes of the problem.

• The output may be in the form of the presenting the results


on the monitor screen, printer or any other output device.

• The output may also be stored in a file.

• The output may be redirected to network or Internet.


6
IPO
Chart
• The processing section specifies two things: processing items
and algorithm.

• The processing items involve any formula or equation to


be used while processing.

• The algorithm is the step by step processing procedure to solve


that task. 7
Algorith
m
• Algorithm is the representation of a solution to a problem.

• It is step by step procedure to solve a given problem.

• An algorithm contains finite number of instructions in


order to solve a
problem.
8
Algorith
m
• For example, calculating the average of three numbers.

Step 01: Start


Step 02: Input number1, number2 and number3 from the user
Step 03: Calculate average as: average = (number1 + number2 +
number3)/3
Step 04: Print average
Step 05: End
9
Flow

Chart
Flow chart is the pictorial representation of a process or an
algorithm.

• It uses symbols (boxes of different shapes) to represent each step


of an algorithm.

• All the symbols are then connected with arrows to show the flow of
the process.

10
Flow
Symbol
Chart
Name Meaning

Terminal Indicates the beginning and end


(Oval) points of an algorithm.

Process Shows an instruction other


(Rectangle) than input, output or selection.

11
Flow
Symbol
Chart
Name Meaning

Input-Output
Shows an input or output
(Parallelogram) instruction.

Decision Shows any point in the process


(Diamond) where decision is to be made.

12
Flow
Symbol
Chart
Name Meaning

On-Page Continues and connects the


Connector flowchart on the same page.

Off-Page Continues and connects the


Connector flowchart on another page.

13
Flow
Symbol
Chart
Name Meaning

Sub-Process Denotes movement to another


process and hence a new
flowchart

Arrows Connects symbols and shows


flow of the process or algorithm.

14
Problem
Examples
IPO Charts, Algorithms and Flow
Charts
15
Problem 01: Area of
rectangle

Problem Statement: Write a program that accepts the


width and the height of a rectangle from the user and
prints the area of the rectangle.

16
Problem 01 - IPO Chart and
Algorithm
Input Processing Output
• Width of Processing Items: • Area of
rectangle area = width * height rectangle
• Height of
rectangle Algorithm:
Step 01: Start
Step 02: Input width, height
Step 03: area = width* height
Step 04: Print area
Step 05: End

17
Problem 01 – Flow
Chart

18
Problem 02 : Average of three
numbers

Problem Statement: Write a program that accepts


three numbers from the user and displays the
average of the numbers.

19
Problem 02 - IPO Chart and
Algorithm

Input Processing Output


• First number Processing Items: • Average
• Second average = (number1 + number2 + number3)/3 of
number numbers
• Third number Algorithm:
Step 01: Start
Step 02: Input number1, number2, number3
Step 03: average = (number1 + number2 +
number3)/3
Step 04: Print average
Step 05: End

20
Problem 02 – Flow
Chart

21
Problem 03 : Temperature scale
conversion

Problem Statement: Write a program that receives the


temperature in Celsius from the user and displays the
temperature in Fahrenheit and Kelvin.

22
Problem 03 - IPO Chart and
Algorithm
Input Processing Output
• Temperature Processing Items: • Temperature in
in F = C * 1.8 Fahrenheit
Celsius + 32 K = C • Temperature
+ 273.15 in Kelvin

Algorithm:
Step 01: Start
Step 02: Input C
Step 03: F= (C * 1.8) + 32
Step 04: K= C + 273.15
Step 05: Print F and K
Step 06: End

23
Problem 03 – Flow
Chart

24
Problem 04 : Area and circumference of
a circle

Problem Statement: Write a program that receives the


radius of the circle from the user and displays the area
and circumference of the circle.

25
Problem 04 - IPO Chart and
Algorithm
Input Processing Output
• Radius of Processing Items: • Area of circle
circle area = π * radius^2 • Circumferenc
circumference = 2 * π * e of circle
radius

Algorithm:
Step 01: Start
Step 02: Input radius
Step 03: set PI = 3.1415
Step 04: area = PI * radius^2
Step 05: circumference = 2 * PI * radius
Step 06: Print area , circumference
Step 07: End
26
Problem 04 – Flow
Chart

27
Problem 05 : Buntty, Bubbly and Building

Problem Statement: There are two friends Buntty and


Bubbly. Buntty is standing at the top of a vertical
building and Bubbly is standing on the ground away
from the building. Write a program that displays the
distance of Bubbly from the building after asking the
user about the length of the building and the distance
between Buntty and Bubbly.
28
Problem 05 - IPO Chart and
Algorithm
Input Processing Output
• Distance Processing Items: • Distance
between Hyp2 = Base2 + Perp2 of Bubbly
Buntty Hyp = Distance b/w Buntty and from the
and Bubbly Base = Distance b/w building
Bubbly Bubbly and building Perp =
Height of building
• Height of Base = 𝐻𝑦𝑝2 + 𝑃𝑒𝑟𝑝2
the Algorithm:
Building
Step 01: Start

𝐷𝑖𝑠_𝐵𝑢𝑛_𝐵𝑢𝑏2 +
Step 02: Input Dis_Bun_Bub, Height_Bui

𝐻𝑒𝑖𝑔ℎ𝑡_𝐵𝑢𝑖2
Step 03: Dis_Bub_Bui =
29
Problem 05 - IPO Chart and
Algorithm
Input Processing Output
Step 04: Print Dis_Bub_Bui
Step 05: End

30
Problem 05 – Flow
Chart

31
Problem 06 : Notes and Coins

Problem Statement: A person enters the bank and stands in


the queue to get his salary. When his turn comes, he
requests the cashier that I need my salary with
minimum notes and coins. Write a program for the
cashier that first asks the cashier to enter the salary
amount and then displays the number of notes and coins
of (Rs. 5000, Rs. 1000, Rs. 100, Rs. 50, Rs. 20, Rs. 10,
Rs. 5, Rs. 2 and
Re. 1). 32
Problem 06 - IPO Chart and
Algorithm
Input Processing Output
• Salary Processing Items: • Number of notes of 5000

𝑠𝑎𝑙𝑎𝑟𝑦/𝑛𝑜𝑡𝑒_𝑎𝑚𝑜𝑢𝑛𝑡
amoun No of notes = • Number of notes of 1000
t • Number of notes of 500

𝑠𝑎𝑙𝑎𝑟𝑦/𝑐𝑜𝑖𝑛_𝑎𝑚𝑜𝑢𝑛𝑡
No of coins = • Number of notes of 100
• Number of notes of 50
• Number of notes of 20
Algorithm: • Number of notes of 10
Step 01: Start • Number of coins of 5
Step 02: Input salary • Number of coins of 2
𝑠𝑎𝑙𝑎𝑟𝑦/5000
Step 03: notes_5000 = • Number of coins of 1

Step 04: salary = salary – (notes_5000 *


5000)
Step 05: notes_1000 = 𝑠𝑎𝑙𝑎𝑟𝑦/1000 33
Step 06: salary = salary – (notes_1000 *
1000)
Problem 06 - IPO Chart and
Algorithm
Input Processing Output

Step 09: notes_100 = 𝑠𝑎𝑙𝑎𝑟𝑦/100


Step 10: salary = salary – (notes_100 * 100)
Step 11: notes_50 = 𝑠𝑎𝑙𝑎𝑟𝑦/50
Step 12: salary = salary – (notes_50 * 50)
Step 13: notes_20 = 𝑠𝑎𝑙𝑎𝑟𝑦/20
Step 14: salary = salary – (notes_20 * 20)
Step 15: notes_10 = 𝑠𝑎𝑙𝑎𝑟𝑦/10
Step 16: salary = salary – (notes_10 * 10)
Step 17: coins_5 = 𝑠𝑎𝑙𝑎𝑟𝑦/5
Step 18: salary = salary – (coins_5 * 5)
Step 19: coins_2 = 𝑠𝑎𝑙𝑎𝑟𝑦/2
Step 20: salary = salary – (coins_2 * 2) 34
Problem 06 - IPO Chart and
Algorithm
Input Processing Output
Step 21: coins_1 = salary
Step 22: Print notes_5000, notes_1000,
notes_500, notes_100,
notes_50, notes_20, notes_10,
coins_5, coins_2, coins_1
Step 23: End

35
Problem 06 – Flow
Chart

36
Problem 06 – Flow
Chart

Zoom-In to have a
clear view

37
Problem 07 : Even or odd
number

Problem Statement: Write a program that receives an


integer number from the user and displays whether it is
an even number or an odd number.

38
Problem 07 - IPO Chart and
Algorithm
Input Processing Output
• Integer Processing Items: • Number is
number If (number MOD 2) = 0 then it odd or even
is even If (number MOD 2) ≠
0 then it is odd

Algorithm:
Step 01: Start
Step 02: Input number from the user
Step 03: if (number MOD 2) == 0 then GOTO Step
04
else GOTO Step 05
Step 04: Print “Number is even” GOTO Step 06
Step 05: Print “Number is odd”
Step 06: End 39
Problem 07 – Flow
Chart

40
Problem 08 : Positive
numbers

Problem Statement: Write a program that receives an


integer number from the user. If the number is positive
then display that number.

41
Problem 08 - IPO Chart and
Algorithm
Input Processing Output
• Integer Processing Items: • Number if
number If (number > 0) then it is positive it
is positive
Algorithm:
Step 01: Start
Step 02: Input number
Step 03: if (number > 0) then Print number
Step 04: End

42
Problem 08 – Flow
Chart

43
Problem 09 : Largest
number
Problem Statement: Write a program that receives three unique
integer numbers from the user and displays the largest number.

44
Problem 09 - IPO Chart and
Algorithm
Input Processing Output
• First number Processing Items: • Large
• Second If (num1> num2 and num1 > num3) then num1 st
number is largest If (num2> num1 and num2 > num3) numb
• Third number then num2 is largest If (num3> num1 and er
num3 > num2) then num3 is largest

Algorithm:
Step 01: Start
Step 02: Input num1, num2 and num3 from the user
Step 03: if (num1> num2 and num1 > num3) then GOTO
Step 05
Step 04: if (num2> num1 and num2 > num3) then
GOTO Step 06 else GOTO Step 07

45
Problem 09 - IPO Chart and
Algorithm
Input Processing Output
Step 05: Print num1 GOTO
Step 08 Step 06: Print num2
GOTO Step 08 Step 07: Print
num3
Step 08: End

46
Problem 09 – Flow
Chart

47
Problem 10 : Marks
sheet

Problem Statement: Write a program that receives the


marks of five different subjects from the user and
displays the percentage and grade obtained.

48
Problem 10 - IPO Chart and
Algorithm
Input Processing Output
• Marks of Processing Items: • Percenta
first Percentage = (Obtained marks/Total ge of
subject marks)*100 If(Percentage >= 85) grade marks
• Marks of = A+ • Grade
second If(Percentage >= 80 and Percentage <= 84) obtained
subject grade = A If(Percentage >= 75 and
• Marks of Percentage <= 79) grade = B+
third If(Percentage >= 70 and Percentage <= 74)
subject grade = B If(Percentage >= 65 and
• Marks of Percentage <= 69) grade = C+
fourth If(Percentage >= 60 and Percentage <= 64)
subject grade = C If(Percentage >= 55 and
• Marks of fifth Percentage <= 59) grade = D+
subject If(Percentage >= 50 and Percentage <= 54)
grade = D If(Percentage <= 49) grade = F49
Problem 10 - IPO Chart and
Algorithm
Input Processing Output
Algorithm:
Step 01: Start
Step 02: Input marks of subjects sub1, sub2, sub3, sub4 and
sub5
from the user
Step 03: Calculate percentage as :
per = ((sub1 + sub2 + sub3 + sub4 + sub5)/500)*100
Step 04: If (per>=85) then grade=“A+” GOTO Step 10
Step 05: If (per>=80 and per<=84) then grade=“A” GOTO
Step 13 Step 06: If (per>=75 and per<=79) then grade=“B+”
GOTO Step 13 Step 07: If (per>=70 and per<=74) then
grade=“B” GOTO Step 13 Step 08: If (per>=65 and per<=69)
then grade=“C+” GOTO Step 13 Step 09: If (per>=60 and
per<=64) then grade=“C” GOTO Step 13 Step 10: If
(per>=55 and per<=59) then grade=“D+” GOTO Step 13 50Step
11: If (per>=50 and per<=54) then grade=“D” GOTO Step 13
Problem 10 - IPO Chart and
Algorithm
Input Processing Output
Step 12: If (per<=49) then grade=“F”
Step 13: Print per, grade
Step 14: End

51
Problem 10 – Flow
Chart

52
Problem 10 – Flow
Chart

Zoom-In to have a
clear view

53
Problem 11 : First 10 integer
numbers

Problem Statement: Write a program that generates and


displays first 10 integer numbers.

54
Problem 11 - IPO Chart and
Algorithm
Input Processing Output
Processing Items: • First
1, 2, 3, . . . , 10 10
integer
Algorithm:
Step 01: Start numbe
Step 02: Set i = 1 rs
Step 03: For i = 1 to 10
Step 04: Print i
Step 05: Set i =
i+1
Step 06: Next I
Step 07: End

55
Problem 11 – Flow
Chart

56
Problem 12 : Sum of first N integer
numbers

Problem Statement: Write a program that displays sum of


first N
integer numbers. Where as the number N is provided by
the user.

57
Problem 12 - IPO Chart and
Algorithm
Input Processing Output
• Number N Processing Items: • Sum of first
Sum = 1 + 2 + 3 + , . . . , + N N integers

Algorithm:
Step 01: Start
Step 02: Input N from the
user Step 03: Set i = 1,
sum = 0
Step 04: Repeat Step 05 to Step 06 while i <=N
Step 05: Set sum = sum + i
Step 06: Set i =
i + 1 Step 07:
Print sum Step
08: End
58
Problem 12 – Flow
Chart

59
Problem 13 : First N even
numbers

Problem Statement: Write a program that generates and


displays first N even numbers. Where as the number N
is provided by the user.

60
Problem 13 - IPO Chart and
Algorithm
Input Processing Output
• Number N Processing Items: • First N
2N even
number
Algorithm:
Step 01: Start
Step 02: Input N from the
user Step 03: Set i = 1
Step 04: Repeat Step 05 to Step 06 while i <=N
Step 05: Print
2*i Step 06: Set
i = i + 1 Step 07:
End

61
Problem 13 – Flow
Chart

62
Problem 14 : First N multiples of
5

Problem Statement: Write a program that generates and


displays first N multiples of 5. Where as the number N is
provided by the user.

63
Problem 14 - IPO Chart and
Algorithm
Input Processing Output
• Number N Processing Items: • First N multiples of
5, 10, 15, 20, 25, . . . , N*5 5

Algorithm:
Step 01: Start
Step 02: Input N from the
user Step 03: Set i = 1
Step 04: Repeat Step 05 to Step 06 while i <=N
Step 05: Print i
* 5 Step 06: Set
i = i + 1 Step 07:
End

64
Problem 14 - IPO Chart and
Algorithm
Input Processing Output
• Number N Processing Items: • First N multiples of
5, 10, 15, 20, 25, . . . , N*5 5

Algorithm:
Step 01: Start
Step 02: Input N from the
user Step 03: Set i = 5
Step 04: Repeat Step 05 to Step 06 while i <=N*5
Step 05: Print i
Step 06: Set i =
i + 5 Step 07:
End

65
Problem 14 – Flow
Chart

66
Problem 14 – Flow
Chart

67
Problem 15 : Factorial of a
number

Problem Statement: Write a program that


receives a positive integer number from the user
and displays its factorial.

68
Problem 15 - IPO Chart and
Algorithm
Input Processing Output
• Number N Processing Items: • Factorial of N
N! = N * (N-1) * (N-2) * , . . . , * 1

Algorithm:
Step 01: Start
Step 02: Input N from the
user Step 03: Set i = N ,
factorial = 1
Step 04: Repeat Step 05 to Step 06 while i >1
Step 05: Set factorial = factorial * i
Step 06: Set i = i - 1
Step 07: Print
factorial Step 08:
End
69
Problem 15 – Flow
Chart

70
Problem 16 : Prime or composite
number

Problem Statement: Write a program that receives a


positive integer number from the user and displays
whether it is a prime or composite number.

71
Problem 16 - IPO Chart and
Algorithm
Input Processing Output

• Number N Processing Items: • N is prime


Prime number = (N MOD n) ≠ 0, where n= 2 to or
(N-1) composite
Composite number = Otherwise

Algorithm:
Step 01: Start
Step 02: Input N from the user
Step 03: Set i = 2 , isPrime = true
Step 04: Repeat Step 05 to Step 06 while i < N
Step 05: if (N MOD i) = 0 then isPrime = false GOTO Step
07
Step 06: Set i = i + 1
Step 07: if isPrime = true GOTO Step 08 else GOTO Step 72

09
Problem 16 - IPO Chart and
Algorithm
Input Processing Output

Step 08: Print “Number is prime” GOTO Step 10


Step 09: Print “Number is composite”
Step 10: End

73
Problem 16 – Flow
Chart

74
End of lecture
End of lecture

You might also like