Main About Download Documentation Resources

Features

Easy to understand output

The classic method to interact with the computer is to use the "Console". Using this approach, the program displays output on a text-only screen and the user inputs data using the keyboard. Sometimes the console allows the text to change colors, but, for the most part, it is white text on a black background.

The Console works, but its simple interface can make it difficult to differentiate user input and program output. So, rather than using the text-only screen, Flowgorithm attempts to make it look like a typical instant messenger window. From the programmers point of view, it looks like they are texting with the computer.

The "chat bubbles" are color coded to match the Input and Output shapes used in the flowchart. In the screenshot to the right, the user's input is display in blue while the program's output is displayed in green.

If you don't want to use the chat bubbles, you can also toggle between them and the classical plain text.


Click for a full size image

Graphical variable watch window

The variable watch window is used to keep track of how your variables are changing as your program executes. So, if you are stepping through your program, the window will show each variable and its current value. This is not limited to just basic variables. Arrays will be displayed as well.

Each variable is color coded based on its data type. At a glace, you can tell exactly what type of data is being stored - and catch where you may want to use a different data type.

  • Integers are displayed in blue.
  • Real numbers (doubles) are displayed in purple.
  • String variables are a displayed in red.
  • Boolean variables are displayed in teal.

Interactively generate real code 

The Source Code Viewer can convert your flowchart to several major programming languages. If you planning to learn a high-level language, then this feature should help you along the way.

The code is highlighted using the same color used by the flowchart's matching shapes. This allows you see visually see the correlation between the code and flowchart. Also, if you highlight shapes in the flowchart, or you step through your program, the source code will be highlighted to match.

The following programming languages are supported:

  • C++
  • C#
  • Delphi / Pascal
  • Java
  • JavaScript
  • Lua
  • Perl
  • PHP
  • Python
  • QBasic
  • Ruby
  • Swift 2
  • Swift 3
  • VBA (Visual Basic for Applications)
  • Visual Basic .NET

Click for a full size image

The following pseudocodes are also supported:

  • Gaddis Pseudocode - used in the book "Programming Logic and Design" by Tony Gaddis.
  • IBO Pseudocode

Customizable Color Schemes

Flowgorithm supports a wide-variable of color schemes. The application comes with a selection of built-in schemes.

You can also download additional schemes from this site or create your own using the Color Scheme Editor window.

Multilingual support

Flowgorithm supports multiple spoken languages:

 
  • Arabic
  • Chinese (Simplified)
  • Chinese (Traditional)
  • Czech
  • Dutch
  • English - U.S. and British dialects
  • Farsi
  • French
  • Galician
  • German
  • Hungarian
  • Indonesian
  • Italian
  • Japanese
  • Korean
  • Mongolian
  • Polish
  • Portuguese
  • Russian
  • Slovenian
  • Spanish - Mexican & Castilian
  • Thai
  • Turkish

 

If your language isn't currently supported, and you would like to help create a translation, please contact me at: FlowgorithmDevinCook.com. No programming is required.  You just need to translate a simple text file. Your help will be greatly appreciated!

Language features

  • Single dimensional arrays
  • Pre-test and Post-test loops
  • For loops
  • Explicit variable declaration. Flowcharts generally use implicit declaration (given they are quite minimalistic). However, practically all languages use explicit declarations. So, it's a good idea for students to learn it from the start.
  • Safe recursion. Flowgorithm maintains an internal stack (rather than the system stack). If the student accidentally creates an runaway recursive call, the program will not crash. Instead, they will receive an error message.
  • Supports operators from both the C family and BASIC family of programming languages. You can use either set of operators - depending on the high-level language you want to learn later.
  • User-defined functions are supported. These include ones that return a value or nothing at all.
  • Over 20 intrinsic functions.

And More...

  • Several flowcharting styles are supported. This includes: classic, IBM, SDL, and more...
  • Flowcharts can be exported to both PNG (bitmap) and SVG (vector) in any of the color schemes.
  • The Editor has a feature called "Layout Windows". It is designed to help instructors show the all the needed content on the screen without having to manually resize each window (which can be monotonous).
  • Programs are saved using XML.