A flowchart is a way of visually representing the flow of data through an information processing system, the operations performed within the system, and the sequence in which they are performed. A program flowchart describes the sequence of operations required to solve a given problem. A programmer will often create a flowchart before writing a program. The flowchart is drawn according to defined rules, using standard flowchart symbols. Flowcharts help us to understand the logic of complex problems, and make it easier to write programs in a high level programming language. Some commonly used flowcharting symbols are shown below. Flowcharts are a good way of communicating the logic of a system to others, and allow problems to be analysed effectively. They can also form part of the program's documentation, and are useful for facilitating efficient coding and debugging. Flowcharts can, however, become complex and unwieldy if the program in question is large and complex. They may also need to be completely redrawn if changes are required, depending on how they have been produced.

ANSI Flowchart Symbols
Symbol Name Description
Flowline Lines that connect other flowchhart symbols and indicate the direction of logic
Terminal Indicates the start or end of a task
Processing Arithmetic or data-manipulation operations
Input/Output Indicates an input or output operation
Decision Decision making and branching
Connector Used to join different parts of a program
Offpage Indicates that the flowchart continues on another page.
Predefined Represents a group of statements that perform some processing task
Flowchart annotattion Annotation Provides additional information about another flowchart symbol

Flowchart guidelines

  1. Before you begin, list the requirements in a logical order
  2. The flowchart should be clear, unambiguous and easy to follow
  3. Normal direction of flow is left to right or top to bottom
  4. Only one flow line should come from a process symbol
  5. Only one flow line should enter a decision symbol. Several flow lines (one for each possible answer) may exit the decision symbol
  6. Only one flow line is used in conjunction with the terminal symbol
  7. Use only brief comments within symbols (use the annotation symbol to describe data or computational steps more clearly)
  8. For a complex flowchart, use connector symbols to reduce the number of flow lines. Avoid intersecting flow lines
  9. Ensure the flowchart has a logical beginning and end point
  10. Test the validity of the flowchart with simple test data

An example flowchart - a progam for computing the factorial of N

An example flowchart

An example flowchart