# Flowgorithm

Flowgorithm is a graphical authoring tool which allows users to write and execute programs using flowcharts. The approach is designed to emphasize the algorithm rather than the syntax of a specific programming language. The flowchart can be converted to several major programming languages.

## Flowgorithm Shapes

Flowgorithm combines the classic flowchart symbols and those used by SDL diagrams. The color of each shape is shared by the associated generated code and the console window. The colors can be changed to several built-in themes. See Wikipedia:Flowchart#Common_Shapes for an explanation of common flowchart shapes and their usage.

## Readings

* Wikipedia: Flowgorithm
* ResearchGate: Capabilities and Features of Raptor, Visual Logic, and Flowgorithm for Program Logic and Design

## Multimedia
### Introduction

* YouTube: First Program in Flowgorithm
* Youtube: How to use Flowgorithm software
* YouTube: Flowgorithm: Declare Assign and Output a Variable
* YouTube: Basic Maths - Flowgorithm
* YouTube: Sample Flowgorithm Video
* YouTube: User Input Flowgorithm
* YouTube: Flowgorithm Basics

### Functions

* YouTube: Flowgorithm Functions Part 1
* YouTube: Flowgorithm Functions Part 2
* YouTube: Flowgorithm - A Little Loopy
* YouTube: Functions in Flowgorithm
* YouTube: Modules in Flowgorithm

### Conditions

* YouTube: Flowgorithm If Statement
* YouTube: Flowgorithm Selection with Error
* YouTube: Flowgorithm - Guess The Number
* YouTube: Flowgorithm - Odd or Even

### Loops

* YouTube: While Loop Flowgorithm
* YouTube: For Loop Flowgorithm

### Arrays

* YouTube: Flowgorithm Using Arrays
* YouTube: Flowgorithm - Integer Arrays and Functions

### Debugging

* YouTube: Flowgorithm - Debugging

## Activities

* Install Flowgorithm
** Windows
*** Install Flowgorithm.
** macOS (10.14 - 2018 and earlier. Wine does not currently run on macOS 10.15 - 2019 or later)
*** Install XQuartz.
*** Install Wine.
*** Download Flowgorithm.
*** Review GHacks: Extract MSI Files.
*** Extract Flowgorithm.exe from Flowgorithm Setup.msi.
*** Run Wine Stable.
*** Run wine Flowgorithm.exe in the Wine terminal.
* Complete the Flowgorithm: Tutorial.
* Review Flowgorithm: Documentation.
* Create flowcharts and source code in Flowgorithm.
** Add shapes to a new Flowgorithm file.
** Use the Source Code Viewer option to view corresponding source code.

## Key Terms
### algorithm

    A self-contained sequence of actions to be performed. Algorithms can perform calculation, data processing and automated reasoning tasks.

### Boolean data type

    It can store either "true" or "false". These are the basis of decision making in a computer program.

### flowchart

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

### Integer data type

    One of the most commonly used types in programming. An integer can store a positive or negative whole number, but can't store fractional values.

### Programming language

    A formal language that specifies a set of instructions that can be used to produce various kinds of output.

### Real data type

    Can store any number - both whole numbers and ones with fractional values. In many languages, this is called a "double" after the implementation standard known as "double-precision floating point".

### String data type

    Used to store any textual data. This includes words, letters, or anything else you would send in a text message. In programming, the text is delimited with double quotes.

## See Also

* Computer Programming
* Wikipedia: Flowchart
* Flowgorithm: Homepage
* Flowgorithm: Documentation
* California State University, Sacramento: Flowgorithm Modules and Conditional Logic
* Revolvy: Flowgorithm