SlideShare a Scribd company logo
1 of 32
Flow Chart and Pseudo Code
© Dr. Jyoti Lakhani
The American National Standards Institute (ANSI) set standards for
flowcharts and their symbols in the 1960s.
The International Organization for Standardization (ISO) adopted the
ANSI symbols in 1970.
The current standard, ISO 5807, was revised in 1985.
Generally, flowcharts flow from top to bottom and left to right.
© Dr. Jyoti Lakhani
What is a Flowchart?
A flowchart is a graphical representations of steps of an Algorithm and
programming logic
Flowchart Symbols
Terminator
Process
The terminator symbol represents the starting or
ending point of the system.
A box indicates some particular operation.
© Dr. Jyoti Lakhani
This represents a printout, such as a
document or a report.
Document
Decision A diamond represents a decision or branching
point. Lines coming out from the diamond
indicates different possible situations, leading
to different sub-processes.
Data
It represents information entering or leaving
the system. An input might be an order from a
customer. Output can be a product to be
delivered.
Lines represent the flow of the sequence and
direction of a process.
Flow
© Dr. Jyoti Lakhani
On-Page Reference This symbol would contain a letter inside. It
indicates that the flow continues on a
matching symbol containing the same letter
somewhere else on the same page.
This symbol would contain a letter inside. It
indicates that the flow continues on a
matching symbol containing the same letter
somewhere else on a different page.
Off-Page Reference
Identifies a delay or a bottleneck.
Delay or Bottleneck
© Dr. Jyoti Lakhani
Annotation
Indicating additional information about a step
in the program. Represented as an open
rectangle with a dashed or solid line
connecting it to the corresponding symbol in
the flowchart
Shows named process which is defined
elsewhere. Represented as a rectangle
with double-struck vertical edges
Predefined Process
Data File or
Database
Single documents
Multiple documents
© Dr. Jyoti Lakhani
Manual operation
Manual input
Preparation or Initialization
© Dr. Jyoti Lakhani
© Dr. Jyoti Lakhani
Calculate Profit and Loss
© Dr. Jyoti Lakhani
Draw a flowchart to input two numbers from
user and display the largest of two numbers
© Dr. Jyoti Lakhani
http://flowgorithm.org/download/index.htm
Download, Install and Practice
© Dr. Jyoti Lakhani
© Dr. Jyoti Lakhani
An example of Algorithm
Algorithm to add two numeric values
1. Declare two variables n1 and n2
2. Read values in n1 and n2
3. Declare one more variable sum
4. Add n1 and n2 and assign result in sum
5. Print sum
General English
Flow Chart Implementation
Algorithm to add two numeric values
Start
End
Input n1
Input n2
Print Sum
Sum = n1 + n2
© Dr. Jyoti Lakhani
Algorithm Name: Add_Numbers ( n1, n2)
Input: Two integers n1 and n2
Output: sum of n1 and n2
Start
1. sum <- n1 + n2
2. Print sum
End
Pseudo Code Implementation
Algorithm to add two numeric values
© Dr. Jyoti Lakhani
Pseudo code is a simple way of writing programming code in English
Pseudo code is simply an implementation of an algorithm in the form of
annotations and informative text written in plain English.
Pseudo code is not actual programming language
It has no syntax like any of the programming language and thus can’t
be compiled or interpreted by the computer.
Algorithms will often be expressed in pseudo code
WHY?
WHAT? A mixture of code and English
“While understanding pseudo code is usually not difficult, writing it can be
a challenge” © Dr. Jyoti Lakhani
Why use pseudo code at all?
If we write an algorithm in English,
the description may be at so high a level that it is
difficult to analyze the algorithm and to transform
it into code.
If instead we write the algorithm in code,
we have invested a lot of time in determining the
details of an algorithm we may not choose to
implement?
The GOAL of writing pseudo code, then, is
to provide a high-level description of an algorithm which
facilitates analysis and eventual coding
but at the same time suppresses many of the details that
vanish with asymptotic notation
© Dr. Jyoti Lakhani
Why use pseudo code at all?
It allows the designer to focus on the logic of the
algorithm without being distracted by details of language
syntax.
It describe the entire logic of the algorithm so that
implementation becomes a rote mechanical task of
translating line by line into source code.
© Dr. Jyoti Lakhani
Here are a few general guidelines for checking your pseudo code:
-Naomi Nishimura
1. Mimic good code and good English:
It is still important that variable names be mnemonic, comments be included
where useful, and English phrases be comprehensible (full sentences are usually
not necessary).
2. Ignore unnecessary details:
you shouldn’t obsess about syntax at all
3. Arrange the sequence of tasks and write the pseudo code accordingly
4. Aim of the algorithm:
Start with the statement of a pseudo code which establishes the main goal or the
aim.
Example:
This program will allow the user to check the number whether it's
even or odd. © Dr. Jyoti Lakhani
5. Proper Indentation:
The way the if-else, for, while loops are indented in a program, indent the
statements likewise, as it helps to comprehend the decision control and
execution mechanism. They also improve the readability to a great extent.
Example:
if "1"
print response "I am case 1"
if "2"
print response "I am case 2".
Example:
if "1“ print response "I am case 1“ if "2“ print response
"I am case 2"
© Dr. Jyoti Lakhani
5. Don’t be labor the obvious:
In many cases, the type of a variable is clear from context; it is often
unnecessary to make it explicit.
6. Take advantage of programming short-hands:
Using if-then-else or looping structures is more concise than writing out
the equivalent in English;
Using parameters in specifying procedures is concise, clear, and
accurate, and hence should not be omitted from pseudo code.
7. Use appropriate naming conventions
The human tendency follows the approach to follow what we see. If a
programmer goes through a pseudo code, his approach will be the
same as per it, so the naming must be simple and distinct.
© Dr. Jyoti Lakhani
8. Use appropriate Naming Convention:
such as Camel Case for methods, upper case for constants and lower case for
variables.
9. Elaborate everything which is going to happen in the actual code:
Don’t make the pseudo code abstract
10. Use standard programming structures
such as ‘if-then’, ‘for’, ‘while’, ‘cases’ the way we use it in programming
11. Check whether all the sections of a pseudo code is complete, finite and clear to
understand and comprehend
12. Don’t write the pseudo code in a complete programmatic manner:
It is necessary to be simple to understand even for a layman or client, hence
don’t incorporate too many technical terms.
© Dr. Jyoti Lakhani
Advantages of Pseudo code
1. Improves the readability of any approach. It’s one of the best
approaches to start implementation of an algorithm
2. Acts as a bridge between the program and the algorithm or
flowchart
3. Also works as a rough documentation, so the program of one
developer can be understood easily when a pseudo code is written
out. In industries, the approach of documentation is essential. And
that’s where a pseudo-code proves vital
4. The main goal of a pseudo code is to explain what exactly each line
of a program should do, hence making the code construction
phase easier for the programmer
© Dr. Jyoti Lakhani
No broad standard for pseudo code syntax exists, as a program in pseudocode is not
an executable program, however certain limited standards exist
Pseudo code resembles skeleton programs which can be compiled without errors.
Flowcharts,
drakon-charts and
Unified Modelling Language (UML) charts can be thought of as a graphical
alternative to pseudo code, but are more spacious on paper.
Languages such as HAGGIS bridge the gap between pseudo code and code written in
programming languages.
- Wiki
© Dr. Jyoti Lakhani
Type of
operation
Symbol Example
Assignment ← or := c ← 2πr, c := 2πr
Comparison =, ≠, <, >, ≤, ≥
Arithmetic +, −, ×, /, mod
Floor/ceiling ⌊, ⌋, ⌈, ⌉ a ← ⌊b⌋ + ⌈c⌉
Logical and, or
Sums, products Σ Π h ← Σa∈A 1/a
Some Conventions to write Pseudo Code
- Wiki
© Dr. Jyoti Lakhani
Common Action Keywords:
Input: READ
OBTAIN
GET
Output:
PRINT
DISPLAY
SHOW
Compute:
COMPUTE
CALCULATE
DETERMINE
Initialize:
SET
INIT
Add one:
INCREMENT
BUMP
Action Words
© Dr. Jyoti Lakhani
IF-THEN-ELSE
The general form is:
IF condition THEN
sequence 1
ELSE
sequence 2
ENDIF
IF HoursWorked > NormalMax THEN
Display overtime message
ELSE
Display regular time message
ENDIF
Example:
© Dr. Jyoti Lakhani
WHILE
The general form is:
WHILE condition
sequence
ENDWHILE
The loop is entered only if the condition is true.
WHILE Population < LimitCompute
Population as Population + Births – Deaths
ENDWHILE
© Dr. Jyoti Lakhani
CASE
The general form is:
CASE expression OF
condition 1 :
sequence 1
condition 2 :
sequence 2
...
condition n :
sequence n
OTHERS:
default sequence
ENDCASE
CASE grade OF
A :
points = 4
B :
points = 3
C :
points = 2
D :
points = 1
OTHERS :
points = 5
ENDCASE
© Dr. Jyoti Lakhani
FOR
The general form is:
FOR iteration bounds
sequence
ENDFOR
Example:
FOR each month of the year (good)
FOR month = 1 to 12 (ok)
FOR each employee in the list (good)
FOR empno = 1 to listsize (ok)
© Dr. Jyoti Lakhani
REPEAT-UNTIL
The general form is:
REPEAT
sequence
UNTIL condition
NESTED CONSTRUCTS
Example:
SET total to zero
REPEAT
READ Temperature
IF Temperature > Freezing THEN
INCREMENT total
END IF
UNTIL Temperature < zero
© Dr. Jyoti Lakhani
INVOKING SUBPROCEDURES
Use the CALL keyword.
For example:
CALL AvgAge with StudentAges
CALL Swap (CurrentItem, TargetItem)
CALL getBalance RETURNING aBalance
BEGIN
statements
EXCEPTION
WHEN exception type
statements to handle exception
WHEN another exception type
statements to handle exception
END
EXCEPTION HANDLING
© Dr. Jyoti Lakhani
© Dr. Jyoti Lakhani

More Related Content

What's hot

A Novel Approach for Rule Based Translation of English to Marathi
A Novel Approach for Rule Based Translation of English to MarathiA Novel Approach for Rule Based Translation of English to Marathi
A Novel Approach for Rule Based Translation of English to Marathiaciijournal
 
11. manuel leiva & juanjo arevalillo (hermes) evaluation of machine translation
11. manuel leiva & juanjo arevalillo (hermes) evaluation of machine translation11. manuel leiva & juanjo arevalillo (hermes) evaluation of machine translation
11. manuel leiva & juanjo arevalillo (hermes) evaluation of machine translationRIILP
 
Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...
Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...
Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...AuditMark
 

What's hot (9)

50120140503001
5012014050300150120140503001
50120140503001
 
50120140503001
5012014050300150120140503001
50120140503001
 
Procedural programming
Procedural programmingProcedural programming
Procedural programming
 
Opposites Attract
Opposites AttractOpposites Attract
Opposites Attract
 
Learning Curve
Learning CurveLearning Curve
Learning Curve
 
A Novel Approach for Rule Based Translation of English to Marathi
A Novel Approach for Rule Based Translation of English to MarathiA Novel Approach for Rule Based Translation of English to Marathi
A Novel Approach for Rule Based Translation of English to Marathi
 
Switch case and looping
Switch case and loopingSwitch case and looping
Switch case and looping
 
11. manuel leiva & juanjo arevalillo (hermes) evaluation of machine translation
11. manuel leiva & juanjo arevalillo (hermes) evaluation of machine translation11. manuel leiva & juanjo arevalillo (hermes) evaluation of machine translation
11. manuel leiva & juanjo arevalillo (hermes) evaluation of machine translation
 
Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...
Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...
Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...
 

Similar to Flow Chart and Pseudo Code Guide

Ds03 algorithms jyoti lakhani
Ds03 algorithms jyoti lakhaniDs03 algorithms jyoti lakhani
Ds03 algorithms jyoti lakhanijyoti_lakhani
 
PCCF UNIT 1.pptx
PCCF UNIT 1.pptxPCCF UNIT 1.pptx
PCCF UNIT 1.pptxDivyaKS12
 
Safetty systems intro_embedded_c
Safetty systems intro_embedded_cSafetty systems intro_embedded_c
Safetty systems intro_embedded_cMaria Cida Rosa
 
Introduction to Computer Programming
Introduction to Computer ProgrammingIntroduction to Computer Programming
Introduction to Computer ProgrammingProf. Erwin Globio
 
Program logic and design
Program logic and designProgram logic and design
Program logic and designChaffey College
 
Agile development with Ruby
Agile development with RubyAgile development with Ruby
Agile development with Rubykhelll
 
An Efficient Approach to Produce Source Code by Interpreting Algorithm
An Efficient Approach to Produce Source Code by Interpreting AlgorithmAn Efficient Approach to Produce Source Code by Interpreting Algorithm
An Efficient Approach to Produce Source Code by Interpreting AlgorithmIRJET Journal
 
Improving Code Quality Through Effective Review Process
Improving Code Quality Through Effective  Review ProcessImproving Code Quality Through Effective  Review Process
Improving Code Quality Through Effective Review ProcessDr. Syed Hassan Amin
 
Algorithm,Pseudocode,Flowchart.pptx
Algorithm,Pseudocode,Flowchart.pptxAlgorithm,Pseudocode,Flowchart.pptx
Algorithm,Pseudocode,Flowchart.pptxDrThenmozhiKarunanit
 
Mark asoi ppt
Mark asoi pptMark asoi ppt
Mark asoi pptmark-asoi
 
Fundamentals of Programming Lecture #1.pptx
Fundamentals of Programming Lecture #1.pptxFundamentals of Programming Lecture #1.pptx
Fundamentals of Programming Lecture #1.pptxEyasu46
 
Unit 1-problem solving with algorithm
Unit 1-problem solving with algorithmUnit 1-problem solving with algorithm
Unit 1-problem solving with algorithmrajkumar1631010038
 
SWE-401 - 9. Software Implementation
SWE-401 - 9. Software ImplementationSWE-401 - 9. Software Implementation
SWE-401 - 9. Software Implementationghayour abbas
 

Similar to Flow Chart and Pseudo Code Guide (20)

Ds03 algorithms jyoti lakhani
Ds03 algorithms jyoti lakhaniDs03 algorithms jyoti lakhani
Ds03 algorithms jyoti lakhani
 
PCCF UNIT 1.pptx
PCCF UNIT 1.pptxPCCF UNIT 1.pptx
PCCF UNIT 1.pptx
 
Safetty systems intro_embedded_c
Safetty systems intro_embedded_cSafetty systems intro_embedded_c
Safetty systems intro_embedded_c
 
Introduction to Computer Programming
Introduction to Computer ProgrammingIntroduction to Computer Programming
Introduction to Computer Programming
 
Program logic and design
Program logic and designProgram logic and design
Program logic and design
 
Agile development with Ruby
Agile development with RubyAgile development with Ruby
Agile development with Ruby
 
Introduction to Programming.docx
Introduction to Programming.docxIntroduction to Programming.docx
Introduction to Programming.docx
 
sCode optimization
sCode optimizationsCode optimization
sCode optimization
 
An Efficient Approach to Produce Source Code by Interpreting Algorithm
An Efficient Approach to Produce Source Code by Interpreting AlgorithmAn Efficient Approach to Produce Source Code by Interpreting Algorithm
An Efficient Approach to Produce Source Code by Interpreting Algorithm
 
Improving Code Quality Through Effective Review Process
Improving Code Quality Through Effective  Review ProcessImproving Code Quality Through Effective  Review Process
Improving Code Quality Through Effective Review Process
 
Algorithm,Pseudocode,Flowchart.pptx
Algorithm,Pseudocode,Flowchart.pptxAlgorithm,Pseudocode,Flowchart.pptx
Algorithm,Pseudocode,Flowchart.pptx
 
Mark asoi ppt
Mark asoi pptMark asoi ppt
Mark asoi ppt
 
Switch case looping
Switch case loopingSwitch case looping
Switch case looping
 
MPP-UPNVJ
MPP-UPNVJMPP-UPNVJ
MPP-UPNVJ
 
Fundamentals of Programming Lecture #1.pptx
Fundamentals of Programming Lecture #1.pptxFundamentals of Programming Lecture #1.pptx
Fundamentals of Programming Lecture #1.pptx
 
Unit 1-problem solving with algorithm
Unit 1-problem solving with algorithmUnit 1-problem solving with algorithm
Unit 1-problem solving with algorithm
 
Class 7 lecture notes
Class 7 lecture notesClass 7 lecture notes
Class 7 lecture notes
 
C++ good tutorial
C++ good tutorialC++ good tutorial
C++ good tutorial
 
Chapter 2- Prog101.ppt
Chapter 2- Prog101.pptChapter 2- Prog101.ppt
Chapter 2- Prog101.ppt
 
SWE-401 - 9. Software Implementation
SWE-401 - 9. Software ImplementationSWE-401 - 9. Software Implementation
SWE-401 - 9. Software Implementation
 

More from jyoti_lakhani

CG02 Computer Graphic Systems.ppsx
CG02 Computer Graphic Systems.ppsxCG02 Computer Graphic Systems.ppsx
CG02 Computer Graphic Systems.ppsxjyoti_lakhani
 
CG04 Color Models.ppsx
CG04 Color Models.ppsxCG04 Color Models.ppsx
CG04 Color Models.ppsxjyoti_lakhani
 
CG03 Random Raster Scan displays and Color CRTs.ppsx
CG03 Random Raster Scan displays and Color CRTs.ppsxCG03 Random Raster Scan displays and Color CRTs.ppsx
CG03 Random Raster Scan displays and Color CRTs.ppsxjyoti_lakhani
 
CG02 Computer Graphic Systems.pptx
CG02 Computer Graphic Systems.pptxCG02 Computer Graphic Systems.pptx
CG02 Computer Graphic Systems.pptxjyoti_lakhani
 
CG01 introduction.ppsx
CG01 introduction.ppsxCG01 introduction.ppsx
CG01 introduction.ppsxjyoti_lakhani
 
Tree terminology and introduction to binary tree
Tree terminology and introduction to binary treeTree terminology and introduction to binary tree
Tree terminology and introduction to binary treejyoti_lakhani
 
Ds006 linked list- delete from front
Ds006   linked list- delete from frontDs006   linked list- delete from front
Ds006 linked list- delete from frontjyoti_lakhani
 
Ds06 linked list- insert a node after a given node
Ds06   linked list-  insert a node after a given nodeDs06   linked list-  insert a node after a given node
Ds06 linked list- insert a node after a given nodejyoti_lakhani
 
Ds06 linked list- insert a node at end
Ds06   linked list- insert a node at endDs06   linked list- insert a node at end
Ds06 linked list- insert a node at endjyoti_lakhani
 
Ds06 linked list- insert a node at beginning
Ds06   linked list- insert a node at beginningDs06   linked list- insert a node at beginning
Ds06 linked list- insert a node at beginningjyoti_lakhani
 
Ds06 linked list- intro and create a node
Ds06   linked list- intro and create a nodeDs06   linked list- intro and create a node
Ds06 linked list- intro and create a nodejyoti_lakhani
 
Ds04 abstract data types (adt) jyoti lakhani
Ds04 abstract data types (adt) jyoti lakhaniDs04 abstract data types (adt) jyoti lakhani
Ds04 abstract data types (adt) jyoti lakhanijyoti_lakhani
 
Ds03 part i algorithms by jyoti lakhani
Ds03 part i algorithms   by jyoti lakhaniDs03 part i algorithms   by jyoti lakhani
Ds03 part i algorithms by jyoti lakhanijyoti_lakhani
 
Ds01 data structure introduction - by jyoti lakhani
Ds01 data structure  introduction - by jyoti lakhaniDs01 data structure  introduction - by jyoti lakhani
Ds01 data structure introduction - by jyoti lakhanijyoti_lakhani
 
Ids 016 cooperative intrusion detection
Ids 016 cooperative intrusion detectionIds 016 cooperative intrusion detection
Ids 016 cooperative intrusion detectionjyoti_lakhani
 
Ids 015 architecture and implementation of ids
Ids 015 architecture and implementation of idsIds 015 architecture and implementation of ids
Ids 015 architecture and implementation of idsjyoti_lakhani
 

More from jyoti_lakhani (20)

CG02 Computer Graphic Systems.ppsx
CG02 Computer Graphic Systems.ppsxCG02 Computer Graphic Systems.ppsx
CG02 Computer Graphic Systems.ppsx
 
Projections.pptx
Projections.pptxProjections.pptx
Projections.pptx
 
CG04 Color Models.ppsx
CG04 Color Models.ppsxCG04 Color Models.ppsx
CG04 Color Models.ppsx
 
CG03 Random Raster Scan displays and Color CRTs.ppsx
CG03 Random Raster Scan displays and Color CRTs.ppsxCG03 Random Raster Scan displays and Color CRTs.ppsx
CG03 Random Raster Scan displays and Color CRTs.ppsx
 
CG02 Computer Graphic Systems.pptx
CG02 Computer Graphic Systems.pptxCG02 Computer Graphic Systems.pptx
CG02 Computer Graphic Systems.pptx
 
CG01 introduction.ppsx
CG01 introduction.ppsxCG01 introduction.ppsx
CG01 introduction.ppsx
 
Doubly linked list
Doubly linked listDoubly linked list
Doubly linked list
 
Double ended queue
Double ended queueDouble ended queue
Double ended queue
 
Tree terminology and introduction to binary tree
Tree terminology and introduction to binary treeTree terminology and introduction to binary tree
Tree terminology and introduction to binary tree
 
Priority queue
Priority queuePriority queue
Priority queue
 
Ds006 linked list- delete from front
Ds006   linked list- delete from frontDs006   linked list- delete from front
Ds006 linked list- delete from front
 
Ds06 linked list- insert a node after a given node
Ds06   linked list-  insert a node after a given nodeDs06   linked list-  insert a node after a given node
Ds06 linked list- insert a node after a given node
 
Ds06 linked list- insert a node at end
Ds06   linked list- insert a node at endDs06   linked list- insert a node at end
Ds06 linked list- insert a node at end
 
Ds06 linked list- insert a node at beginning
Ds06   linked list- insert a node at beginningDs06   linked list- insert a node at beginning
Ds06 linked list- insert a node at beginning
 
Ds06 linked list- intro and create a node
Ds06   linked list- intro and create a nodeDs06   linked list- intro and create a node
Ds06 linked list- intro and create a node
 
Ds04 abstract data types (adt) jyoti lakhani
Ds04 abstract data types (adt) jyoti lakhaniDs04 abstract data types (adt) jyoti lakhani
Ds04 abstract data types (adt) jyoti lakhani
 
Ds03 part i algorithms by jyoti lakhani
Ds03 part i algorithms   by jyoti lakhaniDs03 part i algorithms   by jyoti lakhani
Ds03 part i algorithms by jyoti lakhani
 
Ds01 data structure introduction - by jyoti lakhani
Ds01 data structure  introduction - by jyoti lakhaniDs01 data structure  introduction - by jyoti lakhani
Ds01 data structure introduction - by jyoti lakhani
 
Ids 016 cooperative intrusion detection
Ids 016 cooperative intrusion detectionIds 016 cooperative intrusion detection
Ids 016 cooperative intrusion detection
 
Ids 015 architecture and implementation of ids
Ids 015 architecture and implementation of idsIds 015 architecture and implementation of ids
Ids 015 architecture and implementation of ids
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 

Flow Chart and Pseudo Code Guide

  • 1. Flow Chart and Pseudo Code © Dr. Jyoti Lakhani
  • 2. The American National Standards Institute (ANSI) set standards for flowcharts and their symbols in the 1960s. The International Organization for Standardization (ISO) adopted the ANSI symbols in 1970. The current standard, ISO 5807, was revised in 1985. Generally, flowcharts flow from top to bottom and left to right. © Dr. Jyoti Lakhani
  • 3. What is a Flowchart? A flowchart is a graphical representations of steps of an Algorithm and programming logic Flowchart Symbols Terminator Process The terminator symbol represents the starting or ending point of the system. A box indicates some particular operation. © Dr. Jyoti Lakhani
  • 4. This represents a printout, such as a document or a report. Document Decision A diamond represents a decision or branching point. Lines coming out from the diamond indicates different possible situations, leading to different sub-processes. Data It represents information entering or leaving the system. An input might be an order from a customer. Output can be a product to be delivered. Lines represent the flow of the sequence and direction of a process. Flow © Dr. Jyoti Lakhani
  • 5. On-Page Reference This symbol would contain a letter inside. It indicates that the flow continues on a matching symbol containing the same letter somewhere else on the same page. This symbol would contain a letter inside. It indicates that the flow continues on a matching symbol containing the same letter somewhere else on a different page. Off-Page Reference Identifies a delay or a bottleneck. Delay or Bottleneck © Dr. Jyoti Lakhani
  • 6. Annotation Indicating additional information about a step in the program. Represented as an open rectangle with a dashed or solid line connecting it to the corresponding symbol in the flowchart Shows named process which is defined elsewhere. Represented as a rectangle with double-struck vertical edges Predefined Process Data File or Database Single documents Multiple documents © Dr. Jyoti Lakhani
  • 7. Manual operation Manual input Preparation or Initialization © Dr. Jyoti Lakhani
  • 8. © Dr. Jyoti Lakhani
  • 9. Calculate Profit and Loss © Dr. Jyoti Lakhani
  • 10. Draw a flowchart to input two numbers from user and display the largest of two numbers © Dr. Jyoti Lakhani
  • 12. © Dr. Jyoti Lakhani An example of Algorithm Algorithm to add two numeric values 1. Declare two variables n1 and n2 2. Read values in n1 and n2 3. Declare one more variable sum 4. Add n1 and n2 and assign result in sum 5. Print sum General English
  • 13. Flow Chart Implementation Algorithm to add two numeric values Start End Input n1 Input n2 Print Sum Sum = n1 + n2 © Dr. Jyoti Lakhani
  • 14. Algorithm Name: Add_Numbers ( n1, n2) Input: Two integers n1 and n2 Output: sum of n1 and n2 Start 1. sum <- n1 + n2 2. Print sum End Pseudo Code Implementation Algorithm to add two numeric values © Dr. Jyoti Lakhani
  • 15. Pseudo code is a simple way of writing programming code in English Pseudo code is simply an implementation of an algorithm in the form of annotations and informative text written in plain English. Pseudo code is not actual programming language It has no syntax like any of the programming language and thus can’t be compiled or interpreted by the computer. Algorithms will often be expressed in pseudo code WHY? WHAT? A mixture of code and English “While understanding pseudo code is usually not difficult, writing it can be a challenge” © Dr. Jyoti Lakhani
  • 16. Why use pseudo code at all? If we write an algorithm in English, the description may be at so high a level that it is difficult to analyze the algorithm and to transform it into code. If instead we write the algorithm in code, we have invested a lot of time in determining the details of an algorithm we may not choose to implement? The GOAL of writing pseudo code, then, is to provide a high-level description of an algorithm which facilitates analysis and eventual coding but at the same time suppresses many of the details that vanish with asymptotic notation © Dr. Jyoti Lakhani
  • 17. Why use pseudo code at all? It allows the designer to focus on the logic of the algorithm without being distracted by details of language syntax. It describe the entire logic of the algorithm so that implementation becomes a rote mechanical task of translating line by line into source code. © Dr. Jyoti Lakhani
  • 18. Here are a few general guidelines for checking your pseudo code: -Naomi Nishimura 1. Mimic good code and good English: It is still important that variable names be mnemonic, comments be included where useful, and English phrases be comprehensible (full sentences are usually not necessary). 2. Ignore unnecessary details: you shouldn’t obsess about syntax at all 3. Arrange the sequence of tasks and write the pseudo code accordingly 4. Aim of the algorithm: Start with the statement of a pseudo code which establishes the main goal or the aim. Example: This program will allow the user to check the number whether it's even or odd. © Dr. Jyoti Lakhani
  • 19. 5. Proper Indentation: The way the if-else, for, while loops are indented in a program, indent the statements likewise, as it helps to comprehend the decision control and execution mechanism. They also improve the readability to a great extent. Example: if "1" print response "I am case 1" if "2" print response "I am case 2". Example: if "1“ print response "I am case 1“ if "2“ print response "I am case 2" © Dr. Jyoti Lakhani
  • 20. 5. Don’t be labor the obvious: In many cases, the type of a variable is clear from context; it is often unnecessary to make it explicit. 6. Take advantage of programming short-hands: Using if-then-else or looping structures is more concise than writing out the equivalent in English; Using parameters in specifying procedures is concise, clear, and accurate, and hence should not be omitted from pseudo code. 7. Use appropriate naming conventions The human tendency follows the approach to follow what we see. If a programmer goes through a pseudo code, his approach will be the same as per it, so the naming must be simple and distinct. © Dr. Jyoti Lakhani
  • 21. 8. Use appropriate Naming Convention: such as Camel Case for methods, upper case for constants and lower case for variables. 9. Elaborate everything which is going to happen in the actual code: Don’t make the pseudo code abstract 10. Use standard programming structures such as ‘if-then’, ‘for’, ‘while’, ‘cases’ the way we use it in programming 11. Check whether all the sections of a pseudo code is complete, finite and clear to understand and comprehend 12. Don’t write the pseudo code in a complete programmatic manner: It is necessary to be simple to understand even for a layman or client, hence don’t incorporate too many technical terms. © Dr. Jyoti Lakhani
  • 22. Advantages of Pseudo code 1. Improves the readability of any approach. It’s one of the best approaches to start implementation of an algorithm 2. Acts as a bridge between the program and the algorithm or flowchart 3. Also works as a rough documentation, so the program of one developer can be understood easily when a pseudo code is written out. In industries, the approach of documentation is essential. And that’s where a pseudo-code proves vital 4. The main goal of a pseudo code is to explain what exactly each line of a program should do, hence making the code construction phase easier for the programmer © Dr. Jyoti Lakhani
  • 23. No broad standard for pseudo code syntax exists, as a program in pseudocode is not an executable program, however certain limited standards exist Pseudo code resembles skeleton programs which can be compiled without errors. Flowcharts, drakon-charts and Unified Modelling Language (UML) charts can be thought of as a graphical alternative to pseudo code, but are more spacious on paper. Languages such as HAGGIS bridge the gap between pseudo code and code written in programming languages. - Wiki © Dr. Jyoti Lakhani
  • 24. Type of operation Symbol Example Assignment ← or := c ← 2πr, c := 2πr Comparison =, ≠, <, >, ≤, ≥ Arithmetic +, −, ×, /, mod Floor/ceiling ⌊, ⌋, ⌈, ⌉ a ← ⌊b⌋ + ⌈c⌉ Logical and, or Sums, products Σ Π h ← Σa∈A 1/a Some Conventions to write Pseudo Code - Wiki © Dr. Jyoti Lakhani
  • 25. Common Action Keywords: Input: READ OBTAIN GET Output: PRINT DISPLAY SHOW Compute: COMPUTE CALCULATE DETERMINE Initialize: SET INIT Add one: INCREMENT BUMP Action Words © Dr. Jyoti Lakhani
  • 26. IF-THEN-ELSE The general form is: IF condition THEN sequence 1 ELSE sequence 2 ENDIF IF HoursWorked > NormalMax THEN Display overtime message ELSE Display regular time message ENDIF Example: © Dr. Jyoti Lakhani
  • 27. WHILE The general form is: WHILE condition sequence ENDWHILE The loop is entered only if the condition is true. WHILE Population < LimitCompute Population as Population + Births – Deaths ENDWHILE © Dr. Jyoti Lakhani
  • 28. CASE The general form is: CASE expression OF condition 1 : sequence 1 condition 2 : sequence 2 ... condition n : sequence n OTHERS: default sequence ENDCASE CASE grade OF A : points = 4 B : points = 3 C : points = 2 D : points = 1 OTHERS : points = 5 ENDCASE © Dr. Jyoti Lakhani
  • 29. FOR The general form is: FOR iteration bounds sequence ENDFOR Example: FOR each month of the year (good) FOR month = 1 to 12 (ok) FOR each employee in the list (good) FOR empno = 1 to listsize (ok) © Dr. Jyoti Lakhani
  • 30. REPEAT-UNTIL The general form is: REPEAT sequence UNTIL condition NESTED CONSTRUCTS Example: SET total to zero REPEAT READ Temperature IF Temperature > Freezing THEN INCREMENT total END IF UNTIL Temperature < zero © Dr. Jyoti Lakhani
  • 31. INVOKING SUBPROCEDURES Use the CALL keyword. For example: CALL AvgAge with StudentAges CALL Swap (CurrentItem, TargetItem) CALL getBalance RETURNING aBalance BEGIN statements EXCEPTION WHEN exception type statements to handle exception WHEN another exception type statements to handle exception END EXCEPTION HANDLING © Dr. Jyoti Lakhani
  • 32. © Dr. Jyoti Lakhani