Jump to content

Flowchart: Difference between revisions

From Wikipedia, the free encyclopedia
[pending revision][pending revision]
Content deleted Content added
m Reverted edits by 70.251.179.254 (talk) to last version by ClueBot
Line 90: Line 90:
*[http://office.microsoft.com/en-us/visio/HA102140011033.aspx Create flow charts using Microsoft Visio] - Create flowcharts using Microsoft Visio
*[http://office.microsoft.com/en-us/visio/HA102140011033.aspx Create flow charts using Microsoft Visio] - Create flowcharts using Microsoft Visio
*[http://haris.tv/2007/06/25/how-to-flowchart-with-microsoft-excel/ Create flow charts using Microsoft Excel] - Create flowcharts using Microsoft Excel
*[http://haris.tv/2007/06/25/how-to-flowchart-with-microsoft-excel/ Create flow charts using Microsoft Excel] - Create flowcharts using Microsoft Excel
*[http://www.smartdraw.com/specials/flowchart.asp Create flow charts using SmartDraw] - Create Flowcharts using SmartDraw


[[Category:Algorithms]]
[[Category:Algorithms]]

Revision as of 21:52, 24 September 2007

A simple flowchart for what to do if a lamp doesn't work

A flowchart (also spelled flow-chart and flow chart) is a schematic representation of an algorithm or a process. A flowchart is one of the seven basic tools of quality control, which also includes the histogram, Pareto chart, check sheet, control chart, cause-and-effect diagram, and scatter diagram (see Quality Management Glossary). They are commonly used in business/economic presentations to help the audience visualize the content better, or to find flaws in the process. Alternatively, one can use Nassi-Shneiderman diagrams.


A flowchart is described as "cross-functional" when the page is divided into different "lanes" describing the control of different organizational units. A symbol appearing in a particular "lane" is within the control of that organizational unit. This technique allows the analyst to locate the responsibility for performing an action or making a decision correctly, allowing the relationship between different organizational units with responsibility over a single process.


History

According to Herman Goldstine, he developed flowcharts with John von Neumann at Princeton University in late 1946 and early 1947.[1]

Software

Manual

Any vector-based drawing program can be used to create flowcharts. Some tools offer special support for flowcharts, e.g., ConceptDraw and SmartDraw.

Automatic

Many software packages exist that can create flowcharts automatically, either directly from source code, or from a flowchart description language:

For example, Graph::Easy, a Perl package, takes a textual description of the graph, and turns it into various output formats like HTML, ASCII or SVG. The example graph at the top of the page and listed below would be described like the text shown below. The automatically generated SVG output is shown on the right:

A simple flowchart, created automatically.
graph         { flow: south; }
node.start    { shape: rounded; fill: #ffbfc9; }
node.question { shape: diamond; fill: #ffff8a; }
node.action   { shape: rounded; fill: #8bef91; }

[ Lamp doesn't work ] { class: start }
  --> [ Lamp\n plugged in? ] { class: question; }
   -- No --> [ Plug in lamp ] { class: action; }

[ Lamp\n plugged in? ]
  --> [ Bulb\n burned out? ] { class: question; }
   -- Yes --> [ Replace bulb ] { class: action; }

[ Bulb\n burned out? ]
  -- No --> [ Buy new lamp ] { class: action; }

There exist also various MediaWiki Extensions to incorporate flowchart descriptions directly into wiki articles. This is then automatically turned into the desired output format.

Examples

A simple flowchart for computing factorial N (N!)

A flowchart for computing factorial N (N!) Where N! = 1 * 2 * 3 *...* N. This flowchart would be difficult to program directly into a computer programming language since most programming languages branch on "yes" or "true" and continue on "no" or "false". Further, the flowchart represents "a loop and a half" — a situation discussed in introductory programming textbooks that requires either a duplication of a component (to be both inside and outside the loop) or the component to be put inside a branch in the loop.

Since computer programming languages do not contain all of the constructs that can be created by the drawing of flowcharts, they do not often help new programmers learn the concepts of logical flow and program structure. To try writing flowcharts for computer programs, an on-line applet for iconic programming is available that limits the flowchart components and connections to those that can be directly converted into any programming language. (Note: click on the yellow square to begin.)

References

</references>

See also

  1. ^ Goldstine, Herman (1972). The Computer from Pascal to Von Neumann. Princeton University Press. pp. 266–267. ISBN 0-691-08104-2.