# Algorithms- Flowcharts

## Algorithms- Flowcharts

Flowcharts Basics

• A flowchart is a type of diagram that represents an algorithm or process, showing the steps as boxes of various kinds, with their order by connecting them with arrows.

• Flowcharts offer a visual way of representing algorithms. They are excellent tools for communicating how processes work, and for clearly documenting how a particular task is to be completed.

• The different boxes (or ‘nodes’) represent different types of operation in the algorithm. The arrows direct the flow of operation – hence the name ‘flowchart’.

Common Symbols Used in Flowcharts

• Ovals: Used to represent the start and end points of a process.

• Rectangles: Demonstrate a process, or an operation. It’s an instruction for action.

• Diamonds/Rhombus: Shows a decision point in the process. This is often a yes/no question or true/false test.

• Arrows: Indicate the flow of control. An arrow coming from one symbol and ending at another symbol represents that control passes to the symbol where the arrow ends.

Creating Flowcharts

• Start and finish your flowchart with the terminator (oval) symbol.

• Use rectangles for processes that need to be completed, such as ‘Input username’.

• Decisions are represented by diamonds – each decision will have at least two outcomes, which should also be clearly labelled.

• Make sure your flowchart is logical and clear. Arrows should not cross over each other unnecessarily.

Evaluating Flowcharts

• When evaluating a flowchart, check for clarity (Is each process and decision clear?); accuracy (Does it reflect the actual or intended process?); and efficiency (Are there unnecessary steps that could be removed or simplified?).

• Flowcharts, like other forms of representing algorithms, can be reviewed and revised. Look to see if there are simpler or more efficient ways of reaching the same outcome.

• Revisions to flowcharts should improve clarity, accuracy and efficiency without distorting the aim of the process or algorithm.

Using Flowcharts for Problem Solving

• Flowcharts can be used to represent complex problems and associated algorithms visually, making them easier to understand.

• They can illustrate potential options, paths and outcomes in decision-making processes.

• By visualizing algorithms or processes, flowcharts can highlight potential issues or inefficiencies which might not be as obvious in other forms of representation.