This is an old revision of the document!


Algorithms and Flowchart

Language check

The algorithm is a step-by-step instruction, guideline or rule to performe some action or reach the solution for given problem. Flowchart is one of the way to represent algorithm graphically, where graphical elements like boxes, squares, circles, and arrows connecting them represent flow of control. Every element can represent on step in the instructions.

Simplified flowchart elements:

Start

Circle.

End

Filled circel inside bigger circle.

Action or expression

Rectangle. Inside rectangle a name of the action, name of the sub-routine or short decsiption can be written. Similar actions can be included into one general action.

Sequence

Arrow, by pointing next activity.

Condition / Decision

Diamond (rhombus). Inside diamond is a logical expression and in most cases two arrows are drawn out from diamond. One is when logical expression results True (Yes/1) and other when expression result is False (No/0). Always bot arrows have to be labeled. In special case only one arrow can be used as output from diamond. The case is when logical expression can clearly result only one solution, e.g. True. This is the case where for example endless cycle is used in program code (e.g. while (true)).

Data exchange

Trapezoid. Inside trapetzoid a name or activity is described. In robotics it is usually used to communicate with sensors and user. For simplification also normal rectangle action can be used instead of trapezoid.

Examples

Drawing flowchart diagrams one can use common office suits like MS Word or MS Excel or OpenOffice/LibreOffice Writer or Calc but better results can be get by using special programs like MS Vision, OpenOffice/LibreOffice Draw, Google draw or some special diagram creating software.

Flowchats describing microcontroller software usually do not have ends, instead whole main activity in in endless cycle. The exit condition of endless cycle will never be true and therefore this is the case where condition block (diamond) can be represented only on exiting arrow. Condition it self can be notes simply True or 1. Creating diagrams it is important to keep in eye on the fact that if the program has forks, it can be done only throgh the diamond object. Junctions (two arrows are joining) can be described by special sybol, but in simple cases, one may simply have an arrow point to another arrow instead.

Follwing examples are illustrating the use of flowchat elements for dscribing simple algorithm. First example is simple routine by describing one way flow without any cycle or decision points.

Following example desribes a system which detects 1 m area and if an object entering into inspected area an alarm is triggered for a 10 seconds. Alarm is working until the object is left from the inspected area.

en/programming/algorithms.1337975737.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0