Você está na página 1de 62

Flowgorithm Manual

Version 2.18

Roberto
Atzori

«IT is not about computers any more than


astronomy is about telescopes. »
(Edsger Wybe Dijkstra)
Page 1 of
56

Contents Flowgorithm ..................................... ..................................................


.................................................. ............. 4

Features and functionality ................................. ..................................................


......................................... 5
The interface ..... .................................................. ..................................................
.......................................... 5

Multilanguage Support ..... .................................................. ..................................................


............................ 5

Menu bar .................. .................................................. ..................................................


........................ 7

"File" menu item ................... .................................................. ..................................................


.. .......... 7
Print ...................................... ..................................................
.................................................. ......... 8

"Edit" menu item .................................. ..................................................


...................................... 9
Diagram style ......... .................................................. ..................................................
........................ 9

Change color scheme ...................... ..................................................


............................................... 10

Item of "Program" menu .............................................. ..................................................


.................... 13
Speed of execution .......................... ..................................................
............................................. 13

User function management. .................................................. ...


.................................................. ............. 14

Program information .................................. ..................................................


................................ 14

"Tools" menu item ........... .................................................. ..................................................


....... 15

Export image to file ..................................... ..................................................


.......................... 16

Export image in vector format .................. .................................................. .........................


17

"Execution" window .................... ..................................................


.................................................. .. 18

"Coding" window ........................................... ..................................................


.................................. 19

"Variables" window ........... .............. ..................................................


.................................................. .. 20

Arrangement of windows ............................................. ..................................................


............................ 21
"Help" menu item ............... .................................................. ..................................................
....... 21
Standard toolbar ...................................... .................................................. ........................... 22

Context menu .................... .................................................. ..................................................


................ 23

Specifications ................................ ..................................................


.................................................. ................. 24

And again ... ........................... .................................................. .................................


...................................... 24

My first flow chart ..... .................................................. .................................................. ........... 25

Types of data ................................... ..................................................


.................................................. ................ 27

Integer (Full) ............................. .................................................. ..................................................


........... 27

Real (Real) .................................. ..................................................


.................................................. ............ 27

String (String) ................................. ..................................................


.................................................. ........ 27
Boolean (Boolean or Logical) ................................... ..................................................
.................................. 27

Identifiers ................................................. ..................................................


................................................. 28
Keyword ................................................ ..................................................
................................................. 28

Operators ................................................. ..................................................


.................................................. .... 28

Page 2 of
56
Precedences ....................................... ..................................................
.................................................. ....... 29

Examples ......................................... ..................................................


.................................................. ............ 29
Predefined functions ................................... ..................................................
.................................................. 30

Ma issues ................................................. ..................................................


............................................ 30

String .... .................................................. ..................................................


.................................................. 30
Data type conversion ............................................. ..................................................
............................... 30

More ................. .................................................. ..................................................


........................................ 31
Predefined Constants ....... .................................................. ..................................................
.............................. 31

File Format ................. .................................................. ..................................................


................................ 32

Example ................ ... .................................................. ..................................................


................................ 32

Instructions ................ .................................................. ..................................................


...................................... 33

Assignment .......... .................................................. ..................................................


................................. 33
Function Call or Procedure ........... ..................................................
................................................ 34

Comment .................................................. ..................................................


............................................... 34
Declaration. .................................................. ..................................................
......................................... 35
Do ....... .................................................. ......... ..................................................
............................................ 35
For .... .................................................. ..................................................
.................................................. ...... 36

If .......................................... .................................................. ..................................................


..................... 37

Input ........................... .................................................. ..................................................


............................. 37

Output ................... .................................................. ..................................................


.................................. 38

While .............. .................................................. ..................................................


.......................................... 40
For System Administrators .. ................................ ..................................................
................................ 41
Registry Keys ............... .................................................. ..................................................
.......................... 41

Contact ...................... .................................................. ..................................................


................................. 42

Information ............... .................................................. ..................................................


.................................. 42

Origin of the Name ............ .................................................. ..................................................


......................... 42

Written in ...................... .................................................. ..................................................


............................ 42

Author .................... .................................................. ....................


.................................................. .............. 42
License .................................. .................................................. ..................................................
....................... 42

Revision History ........................ .................................................. ..................................................


................... 43
Additional Information ............................ ..................................................
.................................................. .... 56

Page 3 of
56

Flowgorith
m
Flowgorithm is a free application that allows you to create programs using flowcharts.

In computer science the flowchart (in English also called flowchart) represents a modeling
language graphicto represent the flow of control and execution of algorithms, procedures,
operating instructions (in a broad sense).

It allows to describe in a schematic or graphic way:

• the operations to be performed, represented by conventional shapes (rectangles,


rhombuses, hexagons, parallelograms, rounded rectangles ...), each with a precise
logical meaning and within which a textual indication typically describes the activity to be
performed
• the sequence in which they must be performed are represented by connecting arrows.

Because of their topological connotation, flow diagrams can be traced back to the larger
class of block diagrams, which in turn are part of the still broader category of concept maps,
used above all for the description and representation of information and knowledge.

Typically, programs are written using a text editor. Depending on the programming
language, this may be easy or very difficult for a novice programmer. Many languages
require the drafting of several lines of code just to get to the display of a simple phrase like
"Hello, world!".

However, using Flowgorithm, you can use symbols to represent the different actions you
want the program to perform. Thus, one can concentrate on an algorithm (Computational
Thinking) rather than on all the nuances and details of a typical programming language
(Coding).

You can run programs directly in Flowgorithm. But if you want to learn a high-level
programming language, Flowgorithm can convert the flowchart into many popular
languages. These include: C #, C ++, Delphi / Pascal, Java, JavaScript, Lua, Perl, Python,
QBasic, Ruby, Swift 2, Visual Basic .NET and Visual Basic for Applications (used in
Microsoft Office), TypeScript, Scala.

An important collection of algorithms of various kinds, famous or not, created with the
software Flowgorithm, can be viewed and / or downloaded from my eBook on my site at
http://robatz.altervista.org/blog/flowcharts- book / .

Page 4 of
56

Features and functions


Theinterface Flowgorithmhas a very simple and intuitive interface. The menu area is
equipped with all the features provided by the software. The button area is equipped with
the main functionalities for easy implementation of the algorithm, easy execution and easy
control of the same.
Multilingual Support

Flowgorithm is translated in many


languages:

• Chinese (Simplified)

• Czech

• English - US and
British
• French

• Galician

• German

• Ungaro

• Italian

• Japanese

• Portoguese

• Spanish - Mexican and Castilian

• ....

To change the language(initially) we


can click the menu item Tools →
Change Language

Or double-click with the left mouse


button at the bottom right of the
window next to the picture

Page 5 of
56

The new language selection window will open:


Select the entry " English "and then confirm by clicking on the
button

At this point the entire interface of Flowgorithm will use the Italian
idiom.

and the symbol will change to indicate the language currently in use.

Page 6 of
56

Menumenu

The barbar shows most of the commands available in the program, divided by menu (lists of
choices). Using the keyboard, you can consult the menu bar by pressing thekey Alt and moving with
the Rightarrow or Left to read the headings of each menu. Once you have identified the one you
are interested in, you can read the items contained within it using thecommands Down or Up. To
activate an entry is sufficient, after locating it, press the Enter key.
To open each of the available menus, you can also use the following combinations of keys, also
called hot keys (hot):

• Alt plus F for themenu


File;
• Alt plus M for themenu Edit;

• Alt plus P for themenu


Program;
• Alt plus S for themenu Tools;

• Alt plus A for themenu


Help.

To close a menu, simply select a menu command, activate another menu or press thekey Alt.

Menu item "File"

Menu item Description

New Create a new flowchart

Open Load a flowchart previously created and saved

Save Save the flowchart

Save as ... Save the flowchart with the possibility to change the name and folder where to
save it

Print To print the area currently displayed

Exit Exit the program


Page 7 of
56
Printing Selecting the "Print" menu item will open the following
window:

through which it is possible to insert customized settings for printing.


Page 8 of
56

Menu item "Edit"

Menu item Description

Cut Delete the selected element by copying it to memory

Copy Copy to memory the selected element

Delete Delete the selected element

Cancel Action Cancel operation inserting shapes, typing, ...

Reset Action Restore operation canceled

zoom In Enlarges the area

Decrease magnification Zooms the area

diagram ... style Select the style of the diagram

Change Color Scheme ... Changing color themes

Edit chart ... style Changes the plot style

plot style Particular importance is given selection of the "Diagram style" selection which leads to
the opening of a new window:

From this window it is possible to use a


panel of colors different from the preset
one by clicking on the window

or change Diagram style


To load a theme
from your PC

To download a
theme from the
author's website

Page 9 of
56
Modification Style D
iagram By

selecting this item, you can change the default symbol graphic with other alternative symbols.

This will allow you to create any style (within certain limits) of the flowchart you need. Currently,
20 forms are supported, but others may be added in the future.
Page 10 of
56
which to take the color with
the tool 'Color Picker'

Area clickable with the mouse to select


the object to change the color properties
Tool Select Color

Image display area from


Edit color scheme Selecting the menu item "Edit color scheme "will open the following window:
Color Picker tool that will copy all the attributes (text, fill and outline) from another
selected Form

Color Picker from the" Image


Guide "area

Author / s

All address http://flowgorithm.org/download/schemes.htm you can find the


preinstalled and new ones, whose color can be modified by the user.
Page 12 of 56

Menu item "Program"

Menu item Description

Run Performs the flowchart (interpretation)

Next step Performs the flowchart step by step

Pause Pause execution

Stop Stops execution

Speed of execution Selection of the execution speed in automatic mode

Remove the points Stop Removes all inserted breakpoints

New function Adds a newfunction

function Usermanagement ... Function management

Program information ... Program properties

Speed of execution Selecting the menu item Run speed will open another menu through the which it will
be possible to identify the speed of execution of the instructions automatically.

Selecting the menu item Add a function will open another window through which it will be
possible to create procedures and accessory functions useful for the functioning of the
algorithm itself.

Obviously this area requires advanced programming knowledge to be able to take full
advantage of it.
Page 13 of 56
The arrow buttons are used to change the order of the function parameters. By changing
the order of the parameters you must pay attention to what is written in the flowchart !!

Management of user functions


Selecting the menu item User function management you a
functions created for the current algorithm and through which yo
functions created, duplicate them (copy and paste) or delete
longer needed.

Program information Selecting the menu item Program information (or clicking on
thefunction key F4) activates another window that offers the possibility to enter further
information on the flowchart.

This information, however, does not change the flowchart operation.

Last Save Information (Read Only)

Cut
Paste

Copy
Page 14 of 56

Menu Item "Tools"

Menu Item Description

Change Language ... Change Language

Sizing Sizing GUI

Copying Image to Memory Copying Image to Memory

Export Image to File ... Export the active area image to a PNG file

Export image in vector Window 'Encoding'


format ...
rts the active area image to a vector file .SVG (Scalable
Enables the window to display the automatic encoding in the
r Graphics) or.EMF (Enhanced Metafile Format) languages provided by Flowgorithm

Window 'Execution' ... Window 'Variables'


...
es the window to monitor the execution of the program and
Enables the window to control the variables used in
er the values from the keyboard
theprogram

window layout... Layout of windows in the desktop

Sizing The application is now "DPI-aware". This means that the window will "resize" on larger screens (with high reso
scale factor. Normally this is set at 125% or 150%. The user can also change the current scaling factor from the Tools
Before this change, Windows would have simply reduced the whole graphics on a larger screen such as a 4K, making
Page 15 of 56
Export image to file Selecting the menu item Export image to file opens the following
window. If we leave everything like this, and we click on thebutton Create, we will be
asked to name the file (PNG extension) and to select which folder to save it.

Within the window we are offered three tabs for selecting additional settings before
creation.

The firsttab Style reminds us of what is activated by the menu sequence Edit → Choose
the style of the diagram previously seen.

The secondtab Size allows you to set the font size. A value of 18 is considered a suitable
value in most cases.
Page 16 of 56
The lasttab Margins allows you to set the space in pixels around the image (padding). For
Word it is recommended to set this space to 0.

Export image in vector format Selecting the menu item Export image in
vector format opens the following window.

It is possible to save the image of the selected function in a file in .SVG


format (Scalable Vector Graphics) or in .EMF format (Enhanced Meta
File). Also you can save images even with a transparent background.
Page 17 of 56
"Execution" window Selecting the menu item "Execution" window activates a
window used to monitor the execution of the algorithm and to enter the
necessary values from the keyboard.

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

While the Console works, its simple interface can make it difficult to distinguish user input and program output. So
the text-only screen, Flowgorithm turns it into a typical message box. From the point of view of programmers, they
text messages.

The messages are colored in combination with the input and output forms used in the flowchart. In the screen on th
is displayed in blue, while program output is displayed in green. In its toolbar you can see icons that do not ap
window's toolbar.

The button allows to display or not the values in the form of dialog boxes (graphic vision).

If it is disabled we can see this difference in the graphic type:

The buttons have the functionality to enlarge or reduce the content of the
window.

The button allows you to save the contents of the window in a text file (.TXT)

The button allows you to copy the contents of the window into memory.

The button allows you to delete the contents of the window

Page 18 of 56
"Encoding" window Selecting the menu "Coding" window will open the
window through which you can see the transformation of the flowchart
created,coded automatically in one of the many programming
languages prepared by Flowgorithm.

Besides the buttons that we have already met, in the toolbar of this window we find other new ones.

The button allows you to disable or enable the highlighting of the instructions.

To underline the fact that this function allows you to interactively identify the diagram element directly in the code w
selecting, for example, a flowchart structure, the same will be highlighted within the reference code window.
Open file .fpgt for the use of user-defined program templates
Page 19 of 56
The button allows you to remove or add the space between the lines for better reading

(enabled) (disabled)

The button allows you to disable or enable numbering of lines

(activated) (disabled)

If you are going to learn a new high-level language, this feature is a great help. The code is highlighted
color used for the corresponding shapes used in the flowchart. This allows, visually, to see the correlat
code and the flowchart. Also, if you highlight a shape in the flowchart, or take a step with your program,
will be highlighted in the same place.

"Variables" window Selecting the menu item "Variables" window will open the window. The
variable control window is used to track how variables change as the program is executed. So,
if you have reached a point in the program, the window will show each variable and its current
value. This is not limited only to fundamental variables. Arrays will also be displayed.

Each variable has a color coded based on its data type. At first glance, one can say exactly
what kind of data is stored and focus on a given type of data.

• The Interiors are displayed in blue.

• Real numbers are displayed in purple.


• String-type variables are shown in red.

• Boolean variables are displayed in dark green.

Page 20 of 56
Window layout By selecting the menu item Layout windows will open the window to give the
possibility of a set of windows defined by the user as needed.

Menu item "Help"

Menu item Description

Links
Documentation
Opens a submenu of links to the University to which the
nline documentation page
Flowgorithm author belongs.
owgorithm.org/documentation/

Information
Flowgorithm - Website
Opens the software information window, translations and
nline homepage for the Flowgorithm
acknowledgments to those who have participated in the evolution of this
//www.flowgorithm. org
software.

Check for Updates Allows checking for new versions of thesoftware


Pag. 21 of 56

Standard toolbar

Immediately below the menu bar is the standard toolbar, which contains the buttons of the most frequently used com
for managing files and for carrying out multiple operations. important.

Attention: the buttons on the standard toolbar correspond to the most used items in the menu bar; the standard toolb
only the function of making these entries more accessible. For example, if you want to save the document you are
use the appropriate button on the toolbar without having to open themenu each time File and select theitem Save.

To select the standard toolbar buttons using the keyboard, you can:

• move to the menu bar using thekey Alt;

• use the combination ofkeys Control plus Tab.

In this way the first button of the bar is selected; to move between the buttons, simply use thekey Tab to move fro
the combination ofkeys Shift plus Tab to move from right to left. Once the button of interest has been identified, pres
to activate it.

Button Function

Loads a previously created and saved

flowchart Saves the flowchart


Executes (interprets) the flowchart

Single iteration (step by step)


Pause
Stop

Speed of execution (automatic) of the flowchart

Selections Functions or Procedures


Add a user function
Management of user functions
Zoom in (magnification view)
Zoom out (zoom out view)

Choose the style of the diagram


Layout of windows in the desktop View
variables View
source code

Page 22 of 56

Context

menu The context menu can be activated using the right mouse button on specific positions.

• If you click, with the right mouse button, a pop-up menu will appear on the flow arrow showing all the figures th
inserted

• If you click, with the right mouse button, on the empty part of the editing window
the pop-up menu on the right through which you can switch to previously treated menus.

Page 23 of 56

Specifications

• Mono dimensional arrays

• Cycles with control at the top and in the back

• Enumeration cycles (FOR)

• Explicit declaration of the variables. Flowcharts generally use implicit declaration (being quite minimalist). Ho
all programming languages use explicit declarations. So, it is a good idea for students to learn it from the begin
• Controlled recursion. Flowgorithm is provided with an internal stack (rather than the system stack). If the stude
creates an infinite recursive call, the program will not hang. On the contrary, you will receive an error message.
• Supports operators from both the family of programming languages such as C and the BASIC family. You can
operators regardless of the programming language you want to learn.
• User-created functions and procedures that may or may not return a value are supported.

• Over 20 predefined functions.

And again ...

• Different representation styles such as the classic type, IBM, SDL, and others are supported.

• Flowcharts can be printed in both color and black and white.

• Flowcharts can be saved in a PNG file in both color and black and white.

• The editor has a feature called "Windows Layout". It is designed to help you view the contents without manual
the window.
• Programs are saved in XML.
Page 24 of 56

My first flowchart
This short tutorial, you need to create a simple program called "Hello World". This is a traditional program for begin
displays "Hello, world!" on the screen.

When you start a new flowchart, you will see two rounded rectangles called "terminal" symbols. These symbols rep
beginning and end of the program.

Many diagrams start the flow by displaying the text "Start". Flowgorithm, on the other hand, uses the "Main" text. M
languages start with "Main" and Flowgorithm ... equally.

Everything in a flowchart is represented by a geometric figure. You can add the figures between the main figure an

To add a figure, move the mouse pointer over a line. If a figure can be added, the line turns orange.

Double-click or right-click to add a figure.

A pop-up menu will appear showing all the figures that can be entered.

In flowcharts, each action the computer can perform is represented by a different figure. For example, the input and
are represented with parallelograms.

You can also use "copy and paste". In the image below it is drawn in gray because nothing has yet been copied in

The "Hello World" program needs a figure for output. This will allow you to view the information on the computer sc

Move the mouse over the green parallelogram with the internal writing "Output": now it will be highlighted with a blu

Click on the picture with the left mouse button and the figure will be inserted in the diagram.
As soon as it is inserted, the figure will appear colored gray. In Flowgorithm, the gray color indicates that the figure
This means that the figure needs more information in order to work.

Page 25 of 56

You need to tell Flowgorithm what you want it to display. This can be anything from a calculation result to a messag

Double clicking on the figure enters the edit mode.

A recording entitled "Output Properties" will appear. With this window it will be possible to indicate what to appear o
screen.

In the window, write "Hello world!". Warning: you must add the quotes. In programming languages this is called Str

Click on the OK button to continue. If an error is made, Flowgorithm warns us immediately. Double click on the figu
correct the error.
The green color of the output figure will indicate the correct creation.

Since all the figures are colored correctly, it is now possible to do what is created.

On the main bar click on the button to run the program.

Page 26 of 56

A new window will appear called "Console Screen" used to display information and to enter data.

You have made your first program. Congratulations!

Data Types
Integer (Integer) The Integer data type is one of the most commonly used types in
programming. An integer variable can store a positive or negative integer, but it can not
store fractional values. Thus, it can store values such as 5, 42, 1947, but it can not store
numbers like 3.2, 4.5, etc. ... The variable control window displays the integers in blue.

Real (Real) The Real data type can store any number, both integer and fractional numbers.
In many languages, this is called a Double after the standard implementation known as
"double precision floating point". The variable control window displays the reals in purple.

String The String data type is used to store all text data. This includes words, letters, or
anything else you could send with a text message. In programming, the text is delimited by
double quotes. For example: "CSU, Sacramento", "computer", and "Anno 1947" are all
strings. The variable control window displays the strings in red.

Boolean (Boolean or Logical) The Boolean data type is able to store either "true" or "false".
These are the basis of decision making in a computer program. The variable control
window shows booleans in gray-green.
Page 27 of 56

Identifiers
Whenever a function or a variable is defined, a unique name is given called "identifier". To prevent ident
confused with other elements in an expression, they must follow a convention. Each programming langua
can differ from one language to another.

In Flowgorithm, identifiers must follow the following rules:

• They must start with a letter.

• After the first letter, the identifier can contain letters or numbers.

• Spaces are not allowed.

• Can not be reserved words or words already defined in Flowgorithm.

Other notes:

• Programming languages such as Visual Basic and C also allow the use of the "_" (underscore) character. Flow
the other hand, does not accept it.
• The identifiers are not case-sensitive, so "CASA" is equal to "home".

Keywords
Many words used in programming languages overlap with the naming convention used for identifiers. In t
word is "reserved" and can not be used for identifiers. Furthermore, in many programming languages, fun
constants are predefined. These too can not be used.

Operators
The expressions use operators used in the two main programming languages: the family of programming la
to the "BASIC" and the family of programming languages related to the "C" (which includes C, Java, C #,

Since both families are supported, we are in the presence of a redundant number of operators. These are
Table Operators

Operator C Basic

Negation! not
Module% mod

Equality == =

Inequality! = <>

E (logical) && and

O (logical) || or

Page 28 of 56

Flowgorithm also provides the possibility of using some typical Visual Basic operators as they are useful,
well defined:

Visual Basic Operator Description

& String concatenation

^ power

In Java and C #, the operator "+ "is used both for string concatenation and as an addition operator
misleading. In Flowgorithm, the "+" operator is used as an arithmetic operator. For the concatenation
(ampersand) is used and for the exponentiation operation, the symbol "^"

Precedences

The following table shows the precedence level of the arithmetic and logical operators, from the highest (e
to the lower (rated last).

Level Name Operation Remarks

8 Unary operator! not In Visual Basic 'not' precedes all the relational operators

7 Exponent (power) ^ The symbol is not used in C # or Java

6 Arithmetic operators * /% mod The division always returns a real number

5 Arithmetic operators + - The symbol '+'is used only with the numbers

4 Concatenation & C # and Java ambiguously use the'+'

operator 3 Relational operators>> = <<= == =! = <>

2 E (logical) && and

1 O (logical ) || or
Examples
Expression Solution Notes

1 + 3 ^ 2 10

10 * 2 + 5 * 6 50 It's like writing (10 * 2) + (5 * 6)

7 * (4 - 1) 21 The parentheses change the precedence

6/3 + 2 4 It's like writing (6/3) + 2

10 MOD 3 1 MOD returns the remainder of the division between integers

10% 3 1 Like the previous one but for the C family

Page 29 of 56

Predefined
From
Maths functionsFunction Description
version ..
Abs (n) Absolute value
Arcsin (n) Arcosene of n (radians) 1.7
Arccos (n) Arccosine of n (radians) 1.7
Arctan (n) Arctangent of n (radians)
Cos (n) Cosine of n (radians)
Sin (n) Breast of n (radians)
Tan (n) Tangent of n (radians)
Int (n) Whole part of a real number
Log (n) Natural logarithm
Log10 (n) Logarithm in base 10
Sgn (n) Mathematical sign (-1 if n is negative, 0 if zero, 1 if positive)
Sqrt (n) Square root of n

String
Function Description
Returns the length (integer) of a string and
Len (s)
Returns the character at position i of the string s. The position starts at 0.
es: Len ("house") → 4 Char (s, i)

es: Char ("house", 1) → "a"

From
Data type conversion Function Description
Converts a character code n to a character
version .. ToChar (n)

"1.5 Converts a character c in a character code (integer)


eg: ToChar (65) → " a ToCode (c)

1.8 Converts a real number r in a string with the decimal digits


eg: ToCode (" a ") → 65 toFixed (r, s)

1.8 Converts a string with numeric characters into an integer


eg: toFixed (123.456, 1) → "123.4" ToInteger (s)

Converts a string with numeric characters to a real


es: ToInteger ("123") → 123 ToReal (s)

Convert a number to string eg:


es: ToReal ( "123.5") → 123.5 ToString (n)

ToString (123.5) → "123.5"

Page 30 of 56
From
Other Functions Description
version ..
Random (n) Returns an integer between 0 and n - 1
Size (a) Returns the size (number of elements) of a vector (array) 1.7

Predefined Constants
The Flowgorithm semantics has three predefined constants. "True" and "False" often used to initialize
variables and "Pi", a constant normally used in mathematics.
Table Operators
Constants Notes
True Boolean (logical)for True
False valueBoolean (logical) value for False
Pi Mathematical constant (P Greek π = 3.1415)
Page 31 of 56
File format
Many applications save data in a binary file (hard to read ). This makes sense if the data are very comple
want to minimize the file size through the use of compression.

Programs written with Flowgorithm are very simple. There are no data of great complexity to be compres
saved in a text file just as if it were written in Java, C #, etc ... In this way, rather than having complex binar
are easy to read and portable to other systems. The idea is that by using this application these files can b
tools (editor type). Therefore the files are saved in XML format (Extended Markup Language).

Example

Given the following program (algorithm) ...

Flowgorithm will save everything in a file fon extension ".fprg" whose content will contain the following XM

<?version = "1.0"?> <Flowgorithm fileversion = "1.7" >


<attributes>
<attribute name = "name" value = "Age" /> <attribute name = "authors" value = "Devin
Cook" /> <attribute name = "about" value = "A simple example of an If Statement ">
<attribute name =" saved "value =" 1/7/2015 11:27:10 PM "/> </ attributes> <function
name =" Main "type =" None "variable =" ">
<parameters / > <body>
<declare name = "age" type = "Integer" array = "False" size = "" />
Page 32 of 56
<output expression = "& quot; Please enter your age" "/> <input variable = "age" /> <if
expression = "age & gt; = 21">
<then>
<output expression = "& quot; Kegger! & quot;" /> </ then> <else>
<output expression = "& quot; Milk ! & quot; "/> </ else> </ if> </ body> </
function> </ flowgorithm>

Instructions
Assignment
Associated Figure

What it does

An assignment command, calculates an expression and records the result in a variable.

Example The following example declares two variables: "area" (which will containnumbers re
(which will contain integers). The assignment command is then used to set the 'radius' variable to
"area" variable, the calculation of the area of a circle will be assigned.

Page 33 of 56
Function Call or Procedure
Associated Figure

What it does

A call command transfers control to a function or a procedure. To convey the information in a


procedure, the parameters associated with the function or procedure are used and this can b
using either the mode of passing by value or the mode of passing by reference.

Comment
Associated Figure

What it does

Comments do not interfere with program execution. They are used to better document the a
/ or the author's intentions. These can include: the logic of a cycle, rules, changes, etc.

Example
Page 34 of 56

Declaration
Associated Figure

What it does

The declaration command is used to create variables and vectors (arrays). They are used to
the meantime that the program is running.

Example The following example declares two variables: "area" (which will containnumbers re
(which will contain integers). The assignment command is then used to set the 'radius' variable to
"area" variable, the calculation of the area of a circle will be assigned.

Do
Associated Figure

What it does
A Do loop is similar to the While loop except that the instructions inside it are executed at le
being able to check the loop condition.

Example

Page 35 of 56

The following example shows the DO cycle that accepts only a valid input, an age between
age <1 or age> 100 repeats the cycle.

For
Associated Figure

What it does

The for enumeration cycle increments a variable within a range of assigned values. This stru
replaces the While structure.

Example The following example displays the numbers 1 to 100 on the monitor.
Page 36 of 56

If
Associated Figure

What it does

The If command controls a Boolean expression and passes to the True or False branch dep
whether the condition is verified or not.

Example The following example declares an integer variable called 'age'.is The age at the key
check if the user can vote or not.

At the end, an If structure controls Ise the age entered from the keyboard and assigned to th
is greater than or equal to 18. If you are of legal age. The program will display the phrase "Go
you will see the phrase "Sorry, not yet".

Input Associated Figure


What it does

An Input reads a value from the keyboard and stores this value in a variable.

Page 37 of 56

Example The following example creates two variables: 'area' and 'radius'. Then use an Input to
from the keyboard and assign it to the variable 'radius'. At the end an Output will be displayed on the
result screen.

Output
Associated Figure

What it does

An Output command evaluates an expression and then displays the result on the screen.

Example The following example creates two variables: 'area' and 'radius'. Then use an Input to
from the keyboard and assign it to the variable 'radius'. At the end an Output of the area calculati
displayed.
Page 38 of 56

From version 2.9 has been inserted, for the output, the possibility to use the function "Carria
English: "New Line")

This option affects the display of messages with or without the return to head. If used Flowgo
a different message for each Output instruction used.

If you do not set this option, that is, removes the check option, clicking with the mouse as sh

you will get a single message with carriage return in the last part of the message:
Pag. 39 of 56

While Figure associated

it does

WhatWhile loop evaluates a Boolean expression and, if true, executes the instructions conta
Cycle until the condition becomes false.

Example The following example displays numbers from 1 to 100. The assignment command

+ 1" increments the variable 'n' every iteration of the loop.


Page 40 of 56

For System Administrators


How Flowgorithm uses the Windows log file
Flowgorithm uses the Windows registry file to preserve user settings. Only a few settings are pres
include the language, colors, diagram model, and maximum size of the Flowgorithm internal stack.
When running Flowgorithm, the CURRENT_USER key will be checked first to load the values it contai
not find it, the LOCAL_MACHINE key will be checked.
If the application runs in Administrator mode, Flowgorithm will save its settings in the LOCAL_MACHINE
Otherwise it will save it in CURRENT_USER. If you want to set the default settings for all users of th
open the application in Administrator mode and set language, color, etc. ... Each new user (who does n
settings) will use these.
Key Register Key Description
Contains the model name ("Default", "Classic", etc ...) If theis not recognized
Chart Style

key value, the application will use the "Default" model.


Page 41 of 56
Contains the name of the current color scheme ("Pastel", "Cyberspace", etc ...) Ifnot
Color Scheme the valu
isrecognized, the application will use the "Pastel" color scheme.
Contirnr the ISO code of the displayed language. If thevalue is not recognized
Language

key, the application will use the language code "en" (English).
Max Stack Size
Contains the maximum stack size. If the application exceeds this size, for example in the case of an infinite rec
information "Stack Overflow Error" will be displayed. This setting can not be changed by the application.

Contact
e-mail: Flowgorithm DevinCook.com.

Information
Source of Name

The name is the merger of the terms "flowchart" and "algorithm."

Written in Flowgorithm is implemented using Microsoft C #.


Author

Devin Cook

License
Download in PDF
Page 42 of 56

Revision History
Version 2.18.0 (September 4, 2018)

• Customizable Chart Styles were added in. You can now use the Chart Style Editor to create any of the shap
flowchart. supported, but additional ones may be added in the future.
• The application is now"dPI-aware."this means That the window will "scale" on larger displays if Windows usi
factor. Often this is 125% or 150% . The user can Also change the current scaling factor from the Tools menu>
this change, Windows would simply strength the application on larger displays - making it become a tad blurry.
• The layout of the Color Scheme Editor was revamped. The current sche me is displayed on the left which inclu
and the meta fields (name, author, about). The right-hand side includes all the editing options. This layout matc
the Chart Style Editor.
• Browse buttons were added to the Export Bitmap, Export Vector, Print, and Choose Chart. This buttons allow
a customized Chart Style File.
• The Variable Watch Window The current page's border, text and background color are used. The color heade
coded to their current color.
• Language dropdown in the Source Code Viewer is a tad bigger.

• Several of the built-in color schemes were updated slightly. For example, in the Pastel color scheme, the "exe
change to be a tad more blue.
• Bug fixes:

o The Source Code Viewer was generating an incorrect Python code for string concatenation (in

some cases). The flags, used by the template, were not properly set. Special thanks to Dave Braunschw
this. o The application would crash if an function (with a return type) was declared and then used

before saving. Special thanks to Robert Platt & Dave Braunschweig for reporting this. o If at runtime e
the shape was not being highlighted in red. Special thanks to

Jose Mogrovejo Cardenas for reporting this. o The Source Code Viewer had a bug in generated Gaddis Pse
Special thanks to
Jaime Fernando Meza Meza for reporting this. o The Source Code Viewer had numerous mistakes in C # g
code. Special thanks to
Paul Shaddick for reporting this.

Version 2.17.1 (August 4, 2018)

• Bug fix: The Source Code Viewer was incorrectly using the syntax for addition for the modulus operator. Spec
T. Cruz for reporting this.
• Added the Windows layout to the Console Window.

• The Console Window buttons were also slightly rearranged.

Version 2.17 (July 31, 2018)

• Bug fix: The bitmap file or vector file. The shape was not properly aligned in some cases.

Page 43 of 56
• The Export Vector tool was improved slightly. The file type (EMF or SVG) can be selected from the dialog wind
on the second tab. The second tab was also deleted.
• The Change Language menu can be activated by pressing F12 rather than the convoluted Control + Alt + T. It
moved to the top of the menu.
• The tooltip for the current translation, was changed. It now uses the same text as the language.

Version 2.16 (July 24, 2018) - Major Release

• Flowchart improvements:

o If Shapes are now more compact. The shape of the penis with the

center of If Shape (with some padding). Before, both branches were aligned to the side of the If Shape.
version will take less screen space. o While and For Shapes, like If, are now more compact. The loop b
align to the
right. o The width of text in If Shapes was increased. At the much

smaller width. This became problematic for complex conditional expressions. o Function headers will now w
Beforehand, it displayed all parameters on one line.
• Variable Watch Window:

o Variable values will be retained when the program finishes. Beforehand, any time the

program finished, the variable window was cleared. o By default size of the Variable Watch Window was ch
take 20%
of the screen's width and 100% of the screen's height. It will also be right-aligned on the screen.
• Source Code Viewer:

o Added to dropdown icon next to the current language name. o The icon used for Visual Basic .NET, u
the Source Code Viewer, was changed.
• New installer!

• When a new function is added, the system automatically adds the return variables declaration.

• The Windows Layout utility was modified slightly. The "Variables" layout will set the Variable Window at 20% o
screen's width. The flowchart will be set to 80%.
• When stepping through the program, the system will now only highlight the function of the footer. This change
emphasize the "return". The Source Code Viewer still highlights both the start and the end of the function.
• Added a button to the Console Window that opens the Variable Watch Window.

• The default size of windows was slightly increased.

• The Function Manager window was increased in size.

• When the application is first executed, it will check if the current language is used by Windows, is English. If no
prompt the user for a language selection. This command will also appear if the application is first loaded in Adm
Method.
• Bug fixes:

o Program Templates were not setting the type-type flags properly. This causes the Source

Code Viewer This affected C, Java, C #. o Windows now works on a second screen layout. Beforehan
were resizing on
the main screen (and with incorrect sizes). o When a new program is created, the system was not clearing t
Window. o Also, when the system was not running the current one from
executing. o The dropdown language menu was not always aligning correctly on right-to-left translations
(eg Arabic, Farsi).

Page 44 of 56
o In the Source Code Viewer, the line separating the Language and Line Style (if present)

was not always showing. or If the current translation is changed, the Source Code Viewer was resetting to t
value rather than keeping the current settings.

Version 2.15.2 (June 15, 2018)

• Color Schemes can be dragged and dropped on the Choose Chart Style window. This window was also increa
slightly.
• "an Invalid File" rather than an "Invalid Program File" when an invalid file is dragged and dropped. Flowgorithm
file type: fpgt. Now, it also uses color schemes and program templates.
• Added some internal exception-handling code. Links fail to open correctly.

Version 2.15.1 (May 29, 2018)

• Program Templates were added! Templates are simple text files that the Source Code Viewer can use to ge
any pseudocode and / or programming language. This means that Flowgorithm is not limited to the programmin
currently supported. Please see the documentation for more information.
• Fixed a bug when occurred in Flowgorithm was closed while running. In this case, it was possible for the runtim
get stuck in an endless loop and the application hangs (without a GUI). Special thanks to Daniel Ivan Escobar.
• Fixed to bug in Visual Basic .NET generated code. The Source Code Viewer was ending with Module definitio
End Class rather than End Module. There were also some mistakes with generated functions. Special thanks to
• Fixed a bug in Pythong Generated Code. The Source Code Viewer was displaying {1) rather than the correct o
concatenation. This was a careless typo. Special thanks to Dave Braunschweig.

Version 2.14.1 (April 1, 2018)

• The Italian Translation was updated - special thanks to Roberto Atzori.

• The Gaddis Chart Style was updated. The application was visualizing the text "Function" at the top of each flo
was a mistake.
• Auto Pseudocode was updated. For If Statements, with an false branch, the pseudocode no longer contains th
line.

Version 2.14 (March 30, 2018)

• Added Undo and Redo. Changes to the flowchart.

• New pop-up menu was added to the main window. The new menu is displayed when the background of the flo
right-clicked. It contains "Choose Program Style ...", "Program Attributes ..." as well as Undo and Redo (if availa
• PowerShell generated code was improved. In particular, how text is used with Write-Host was syntactically sim

Page 45 of 56
• The icon used to represent Gaddis Pseudocode in the Source Code Viewer was changed. The update was de
the release of the 5th edition of the popular book: Starting Out With Programming Logic. An apple to a plum.
• Updated the logic that forces the Window Console to the top of other windows. It was only possible to get the
the window was first opened or # 2 the user clicks "Run" at full speed.
• Added the Run, Step, Pause, and Stop buttons to the Source Code Viewer.

Version 2.13 (March 8, 2018)

• Added support for Romanian - special thanks to Vlăduţ Ilie.

• Fixed to bug in Visual Basic .NET generated code. Call Statements were not putting parenthesis around the a

Version 2.12.2 (March 6, 2018)

• The Source Code Viewer now remembers if you selected line numbers. It will retain its value.

• The Function Manager now checks an function, on the list, after a single click.

• Bug Fixes:

o Pascal generated code was improved. The generated code was in inserting a semicolon after every s
than just between them. In Pascal, the semicolon is a statement separator rather than a delimited. Some
allow it to be used as a delimiter, but not all. StrToFloat rather than FloatToStr for concatenation. Specia
Richard He for his help. o Visual Basic for Applications (VBA) was visualizing the

aligned / hanging option even though it does not apply. or IBO Pseudocode and Gaddis Pseudocode were
the "end". This was careless
mistake.

Version 2.12.1 (February 28, 2018)

• Updated the title bar on the main window. Now, the system will display the name of the file, a dash, and then "
Most applications use the title bar. The version, which is now available in the footer when the application first lo
• Made some cosmetic changes to the About Window.

• Fixed a bug in the Edit Function Window. If the user tabs to the Return Type dropdown, the system was not en
Variable Name field. Special thanks to Nathan Todd.
• Fixed a bug in the VBA (Visual Basic for Applications) generated code. I had failed to as the "as" clause to fun
Thanks to Nic Lightfoot for letting me know.

Version 2.12 (February 21, 2018)

• Added support for Malay - special thanks to Husnil Khatimi Hussin.

• The Italian translation was updated - thanks to Roberto Atzori.

• When an error occurs, the window will now highlight the shape before displaying the error window.

• Source Code Viewer:

o Added "Auto Pseudocode". This pseudocode is generated by using the current translation.
It means that, for example, if Flowgorithm is in Spanish, it will produce Spanish pseudocode. This is
all other languages: Korean, Farsi, Arabic, Italian, etc ...

Page 46 of 56

o Added Smalltalk. Created by Alan Kay, Smalltalk created the concept of Object Oriented

Programming. o Added Powershell. This is scripting language, created by Microsoft, that combines concept

of Smalltalk, Perl, and .NET. o Incomplete shapes are were improved. When a shape is incomplete, empty
contain the field's name. It is read from the currrent translation. So, for example, the current translation i
the incomplete fields will contain Spanish names. o The line numbers are now right aligned or VBA ge
was improved. Special thanks to Nic Lightfoot. o When source code is saved, the system will only use U
Unicode (non-ASCII)
character is present. Otherwise, it will default to ASCII. o Greatly improved the generated code for: C #, Lua
Perl, and Visual Basic .NET. o The last language used is now saved in the Registry.
• Bug fixes:

o if a number is used with the Len () function, the system was incorrectly specifying it needed

to "number" rather than "string". Thanks to Roberto Atzori for finding this.

Version 2.11.1 (January 25, 2018)

• The shape captions used in the Default (Descriptive) chart style are a bit more descriptive.

• Source Code Viewer:

o Some of the language names were translated better. In particular, the word "pseudocode". o The mo
was not working on the Source Code Viewer. or QBasic code, in the Source Code Viewer, left off the '#
functions - such as
ToFixed. o Some of the languages, in the language dropdown menu, were not translated
properly.

Version 2.11 (January 15, 2018)

• The Slovenian was updated - Thanks to Gregor Anželj

• Source Code Viewer:

o TypeScript was added. o Scala was added. o The window GUI was revamped. Each programming la
represented by unique
graphical icon. As well as a new dropdown menu. The "Aligned / Handing Brace" dropdown was also re
graphical version. It will only be displayed when it is rather than just being disabled. o JavaScript code w
The generated code for Random last lacking the "Math."
prefix and always used parenthesis. o The scrollbar behavior was improved. It is now disabled if not
needed.
• The Change Chart Style toolbar icon was updated (yet again).

• The Clipboard popup menu now aligns to the left on right-to-left languages such as Arabic and Farsi.

• The Comment Shape's maximum width size (before word wrapping) was increased slightly.

• The "Pastel" color scheme was updated slightly - in particular, the shade of gray used for comments.

• Program Attributes window

or It now shows the date that the file was last saved. This is not an editable, but useful, field. o Pressin
main window, will now open the Program Attributes window.
• Bug fixes:

Page 47 of 56
o Fixed a minor bug in the Color Scheme Editor. It was, it remained

lockedlocked (can not be moved, deleted, etc ...) until the editor was closed. o Opening the Function
Manager no longer marks the program as "changed".

Version 2.10 (November 22, 2017)

• The Function Manager was improved. The new version allows entire functions to be copied. cut, and pasted.

• Color Scheme Editor can now be opened with Control-E

• Fixed a bug in the Color Scheme Editor. The effects the "dropper" tool. If a transparent area of a shape is click
color would be incorrect.
• Fixed some minor tab-order issues.

Version 2.9.2 (November 9, 2017)

• The Save-As feature, in both the Main Window and the Color Scheme Editor, works far better now. It will show
name as a default.
• Updated the Retro Computer color scheme.

• Restored textboxes, that are used for expressions, to left-to-right for all cultures.

Version 2.9 (November 4, 2017)

• Added support for Korean - special thanks to Inkee Jeong.

• New error message. It must have a return value. The new error message properly explains, to the user, what h
Beforehand, the error was being handled by Type Mismatch. This was not particularlly helpful.
• Output Shapes were improved. Output can now include or exclude the newline character. This will give better
output - and allow the "ASCII art" commonly used in early programming.
• Color schemes were improved. Shape of colors can now be customized. Beforehand, it used the same colors
page.
• A few built-in color schemes were modified.

• Bug fix: When an error occurs, the system will show the shape that causes the error. Unfortunately, the system
this.
• Updated the About Window. The new version of the window was designed to maximum screen real estate. Th
was becoming far too large.
• Minor updates to the Error Dialog and Message Dialog windows.

• Minor GUI tweaks.

Version 2.8 (October 7, 2017)

• Added support for Dutch - special thanks to Ralf Djojomoenawi & Sander Dol.

• If the function is incomplete, it will now display in gray.

• The comment shape was updated. The left-side connecting line will always use the color of the rest of the line
prevent it from "vanishing" if the current scheme In addition, the preview image shows the left-side connecting l
• Fixed a bug that is when a function, that does not return to a value, is used in an expression. While the error is
now is not the best, it is far better than before.

Page 48 of 56
Version 2.7.1 (September 16, 2017)

• Fixed a bug in Python generated code. Empty blocks were not including 'pass' statements. Special thanks to C
reporting the bug.
• The internal logic used to draw shapes was updated.

Version 2.7 (September 6, 2017)

• Added support for Indonesian - special thanks to Abdul Kadir

• The Polish Translation was updated - special thanks to Robert Gajewski.

• Updated the logic used to show the Add-on and Clipboard pop-up windows. Hopefully, this change will work b
those using the WINE to run on the Flowgorithm Macintosh.
• Fixed a bug where lines would not be "line up" on Comment Shapes.

• The Color Scheme Editor now has a "copy" dropper that will copy all the attributes (text, fill, and border) from a
clicked shape.
• Shapes was redone. Now, both the text and border will use the page's text (label) color.

Version 2.6.1 (August 10, 2017)

• The Console Window now responds to pressing F5, F6, F7, and F8. These are used to run, step, pause, and s
respectively.
• The Italian Translation was updated - special thanks to Roberto Atzori

• In the Color Scheme Editor, the image worked better than before.

• The graphic image, is better horizontally centered between the window's edge and the text.

Version 2.6 (August 7, 2017)

• Added support for Farsi (Persian) - thanks to Vahid Baghi

• The Declare Shapes can now support multiple variables. The user can list different variable names separated

• File changes:

o To accommodate older versions of Flowgorithm, the application can now save programs in

1.0 and 2.0 formats. The current format is 2.6. The current version can still open o One of the redundan
fields, "variables" in the Declare tag, was removed. This was
designed for forward compatibility with older versions of Flowgorithm (pre 1.7). Since Flowgorithm ca
save to older formats, it is unnecessary.
• The word-wrapping, used on shapes, was improved. Beforehand, the text could, sometimes, fail to be verticall
Based on syntactic elements (such as operators).
• Printing was improved:

o The window opens the Print Common Dialog window. This allows the user to find

printers, set advance features, and much more. o An icon for portrait & landscape were added. o Printer se
saved to the registry. This includes the printer's name, landscape,
and margins.
• Color Scheme Editor:

o Added to Save-As button.

Page 49 of 56

o When a new color scheme is created, the color is now set to orange.

Before, it was white.


• The system can catch, and report, overflow errors.

• The Console Window now has a limit on the number of items in the buffer. Looped from 1 to a million. No erro
Early items are simply removed.
• The Turkish translation was updated.

• The Add Shape pop-up menu and Clipboard pop-up menu work better than before. They should appear quick
properly return to the main window when closed.
• When the flowchat is double-clicked, the Program Attributes window will open. Before, the user would left dou
been changed to right .
• The message window was updated. In particular, the padding between graphical elements was increased.

• Bug fixes:

o The thumbwheel on the mouse was not moving the window. o On the Gaddis Chart Style, the assign
had extra spaces. o The Console Window no longer aggressively sets its Z-Order. Before, anytime the
received output, it would force itself on top of all the other windows. The main window.

Version 2.5.4 (June 16, 2017)

• Fixed a bug in the Variable Watch Window. It was not translating the label "Main" into the current language.

• Double-clicking on the main window will now open the Program Properties window. Object was updated. How
re-enabled until now.

Version 2.5.3 (June 15, 2017)

• Updated an even better translation for Italian - Thanks to Roberto Atzori

• Improved the Color Scheme Editor. The internal logic was improved.

• Fixed a bug in the Color Scheme Editor. The Open Image dialog was not translated.

• The 'If' Shape appearance was improved. Padding was added around the text - I know the line and text Shoul

• Some miscellanous changes to windows - the shortest and probably not noticable.

Version 2.5.2 (June 14, 2017)

• updated translation for the Italian (fixing my Google Translate text) - Thanks to Roberto Atzori

• Fixed a bug That Prevented the key combinations oof Control + and Control- zooming from the main window.

Version 2.5.1 (June 12, 2017)

• updated the translation for Traditional Chinese - Thanks to 黃昕暐 (Shin-Wei Hwang)
• Updated the Color Scheme editor. Now the editor, opens the current scheme. It Also Applies any changes to
window.
• The icon used for Traditional Chinese (the Taiwanese flag), was updated with a better version.

Pag. 50 of 56
Version 2.5 (June 8, 2017)

• Added support for Traditional Chinese - Thanks to 黃昕暐 (Shin-Wei Hwang)

• Customized Color Schemes wereadded.

or Color schemes can be created and edited with the use o f a new Color Scheme Editor o The files ar
the .fclr extension. o To make it easy to load, "open" buttons were added to the Print, Export Bitmap,
Scalable Graphics Export, and Change Chart Style windows.
• The Variable Watch Window is now showing the name of the current function.

• Chart preview images (used in the Print, Export Bitmap, Scalable Graphics, and Chart Chart style) were impro
larger, contain an additional shape, and show text on the shapes.
• Auto-scrolling, when the window automatically scrolls when selecting shapes, works far better now. This shou
to select shapes.
• Window activation works better now. Beforehand, if the user chose to show a window, but it was minimalized,
minimalized. Now, the window will normalize.
• Source Code Viewer:

o PHP was added. It contains both the "hanging" and "aligned" brace formattng styles. o Apple Swift 3
Swift 2 was retained. o Fixed in a bug in Python generated code. The code was using 'true' and 'false' r
'True' and 'False'. Special thanks to Jon Rios for reporting this.
• The "Traffic" color scheme was modified to have a blue background. The original color scheme can be downlo
Color Schemes page.

Version 2.4.3 (March 18, 2017)

• Fixed a bug in C # generated code. The generated source code uses 'boolean' rather than 'Boolean'. Special
Burton.

Version 2.4.2 (March 18, 2017)

• Fixed a bug in Python generated code. The bug affected For Loops. Special thanks to Dave Braunschweig.

Version 2.4.1 (March 17, 2017)


• Fixed a minor bug that caused the Function Dropdown to flicker when the language was set to Thai.

Version 2.4 (March 17, 2017)

• The module operator (mod,%) is now restricted to positive integers. Different programming languages: - - - - -
can cause issues with code generation.
• The Console Window and the ToReal () intrinsic function will now accept commas as the decimal point. Before
system would only accept the period for (for ToReal) and either a comma or period in the Console Window. To
consistent, the system will always use the international notation - the period.
• The main toolbar was updated. The icon for Clear Breakpoint was removed and replaced with an icon for Wind

• When a shape is edited, the system is now clears the selection. This form will change from gray to incomplete

• Source Code Viewer:

Page 51 of 56

o Improved Java generated code. In particular, the Scanner is only included if needed. o Fixed a major
caused the application to crash. or Fixed For Loops in Python. For loops use the range () to create a se
However,

this does not include the ending value. Special thanks to Paul Gardner. o Fixed the generated input function
The name "input" conflicts with a reserved
word. Special thanks to Roberto Atzori. o Cleaned up the IBO Pseudocode.
• Fixed to minor display bugs that occurred when new function was added. The screen was not updating the alig

• Fixed some translation errors (that I made). Special thanks to Roberto Atzori.

• Fixed to formatting bugs in the Console Window. It was not being aligned correctly.

Version 2.3.1 (March 9, 2017)

• Fixed a minor bug with the colors displayed in the Console Window.

Version 2.3 (March 8, 2017)

• Added support for Arabic - Thanks to Amr Ibrahim Khudair

• Added support for Slovenian - Thanks to Gregor Anželj

• The application can now support right-to-left languages. This requirement is probable and some major interna
Special thanks to Amr Ibrahim Khudair for all his help.
• Added IBO Pseudocode to the Source Code Viewer.

• Flowcharts are now centered in the window. Beforehand, the flowcharts would always start left- aligned.

• Resizing the main window works far better now. This was an oversight on my part.
• The scaling of the flowchart works better now.

• Fixed a bug with the ToInteger () and ToReal () instrinsic functions. They were not allowing the dash "-" used t
negative numbers. Thanks to Roberto Atzori for reporting this.
• The icon on the "Enter" button in the Console Window was changed.

Version 2.2 (October 13, 2016)

• Added support for Turkish - Thanks to Cafer

• Added support for Mongolian - Thanks to Tuvshinbayar Amarsaikhan

• The Italian translation was improved. I translated translated new fields. However, some were not accurate. Th
Roberto Atzori for his help.
• The Export to Vector tool was improved. In particular, Scalable Vector Graphics will now work better on many
applications. Firsthand, text aligned vertically using the "alignment-baseline" attribute. However, support for it is
across applications. So, text is now manually aligned.
• Fixed a bug that affected internal lookup tables. It affected Turkish-language computers.

Version 2.1.2 (October 3, 2016)

• The Print feature now uses EMF files. Will be quicker and will be higher quality.

• In the last two updates, the size of the text on the Error Window was too small. I''ve restored the original appea

Pag. 52 di 56
Version 2.1.1 (September 30, 2016)

• Enhanced the Most Recently Used (MRU) file list. If a file is not found, it will be removed from the list.

• The MRU will now only be saved to the user's local settings.

• Fixed a minor bug in EMF exported files. The character width of the ampersand (&) was not being measured c

Version 2.1 (September 27, 2016)

• Added support for Polish - Thanks to R. Robert Gajewski

• Added support for Thai - Thanks to Pongsathorn Sraouthai (พพพพพพ พพพพพพ)


• Added a Most Recently Used (MRU) file list.

• The Print Window now displays the printing status on the main status bar (rather than a local one).

• Updated the EMF files created by the Export to Vector utility. They should print better than before.
Version 2.0.2 (August 16, 2016) - Bug fix

• Fixed a bug that occurred when a variable was assigned data that is incompatible with its data type (basic type
The system wasn't properly treating it as an error.

Version 2.0.1 (August 4, 2016) - Minor update

• Translations:

o Updated the Hungarian translation. o Fixed a flaw in the British English


translation.
• Fixed a bug in the Source Code Viewer for C++ generated code.

• The Console window now displays a message if a Breakpoint is reached.

• Made some configuration changes to improve installation.

• Some minor cosmetic changes.

Version 2.0 (August 2, 2016)

• Added a new shape: Breakpoint

o The new shape is available from the Add Shape pop-up menu. It acts as the same as the

breakpoint feature found in most IDEs. o Add a "Remove Breakpoints" icon to the main toolbar. o File forma
updated. The "fileversion" now displays "2.0" rather than "1.7". This is
based on that fact that newer programs can save the <breakpoint/> tag. This won't be a problem for
Flowgorithm. They were designed to simply ignore unrecognized tags. So, if a program (that contain
opened in a older version, they will simply be absent.
• Easy right-clicking shapes. Single shapes can be simple clicked and cut/copy/pasted. This is a highly requeste

• Added buttons the Edit Function window that allows parameters to be reordered.

• New graphics library! The graphics engine was completely rewritten using a new design.

o Shapes appear better - especially the curved edges used by the terminal shape. o Faster o Arrows n
fine tip (the arrow heads are triangles). This will be apparent when
the flowcharts are displayed in high resolution.

Pag. 53 di 56
o Mouse-overs highlight the entire line. Beforehand, it only highlighted the top or bottom

half of the line.


• Miscellaneous improvements
o Add Shape popup menu displays much, much better. o Auto scrolling works much better (and is muc
Layout Windows received some minor aesthetic improvements. o New message dialog windows. The n
custom icons (information, questions,
etc...). Also, the buttons are now translated.
• Colors & Styles

o New color scheme: Magic. This color scheme is a homage to Harry Potter. It uses the 4

house colors, the Sorting Hat, and snow/Hedwig/Buckbeak. o New color scheme: Traffic. This color scheme
colors used in traffic signs. It was

inspired by the new breakpoint shape (which is an octagon). o Some of the other color schemes were tweak
The Add Shape popup menu shows the "hover" effect using the a new color. Before, it was
always using the menu label color. o Added a new chart style: Blocks. The style only uses the rectangle
shape.
• New: Export to Scalable Vector Graphics. Flowcharts can now be exported to Scalable Vector Graphics (SVG
Enhanced Metafiles (EMF).

Version 1.12.1 (May 8, 2016)

• Updated the language icons. I was displaying them in 8-bit rather than 32-bit. They should look much nicer no

• Added the current language to the status bar of the main window. This was designed to make it easy for some
doesn't understand the current displayed language, change it. I didn't include the flag image. The flag is design
user locate the correct icon, but seems a tad unnecessary on the main window.
• In the Export Image window, the margin (in pixels) inputbox was changed to a combobox. The user can enter
want, but it has the most common ones available on the drop down list.
• The visual styles manifest was removed from the installation script. This was originally added so the tile backg
appear red in Windows 8.1. However, the issue became moot with the release of Windows 10.
• Bug fixes:

o The Print Windows wasn't showing its progress in its status bar. o The Export Image Window
wasn't showing updates in its status bar.

Version 1.12 (March 30, 2016)

• Added support for Russian - Thanks to Olga Cooke.

• Updated the generated C++ code to use the vector template.

Version 1.11.3 (January 29, 2016)

• Added support for the Brazilian dialect of Portuguese - Thanks to Theldo Cruz Franqueira.
Version 1.11.2 (January 17, 2016)

• Added the Play, Step, Pause, and Stop buttons to the Console Window. These have the same behavior as the
on the main window.
• Made some internal changes to make the Console Window draw better.

• I forgot to fix a bug in Lua generated code. It was missing the -1 for descending loops.

Pag. 54 di 56
Version 1.11.1 (January 15, 2016)

• Fixed a bug in JavaScript generated code. The For Loop was not being setup correctly for decreasing values.

• Fixed a bug in Python Code. A comma was missing for decreasing loops.

• Fixed a translation error in Galician. This was completely my fault.

Version 1.11 (January 11, 2016)

• Added support for Japanese - Thanks to Saito Yutaka

• Clipboard Popup Menu now follows the current color scheme.

• Rubén Castiñeiras Lorenzo released new versions of his Spanish (Castilian) and Galician translations.

• Added a new tab to the About Window. The new tab lists the names of everyone who has helped find bugs an
valuable feedback.
• Source Code Viewer:

o To denote the start of the programs "main" code, the source code often contains a

comment. Now, the comment will only be added if needed. o For Java, the generated class is now called
"JavaApplication". This follows the defacto
standard used by Java IDEs.
• Made some internal changes to the Add Shape Popup Menu.

• Bug fixes (thanks to Mathieu Kourouma):

o Made some internal changes that prevent the Variable Watch Window from crashing on

certain versions of Windows. o Fixed a various grammatical and spelling mistakes.

Version 1.10.2 (December 24, 2015)

• Added support for French - Thanks to François Capon

• Fixed a typo in the English translation (thanks again to François Capon)


• Updated the Change Translation and About windows. The languages/names are now displayed in a ListView

• Made some changes to the Add Shape menu so that it loads quicker and, hopefully, with less flicker.

• Fixed a small flaw in the Edit Comment window. It was displaying an icon and appearing in the Windows Task
wasn't consistent with the rest of the edit windows. I doubt anyone noticed.

Version 1.10.1 (December 18, 2015)

• Modified the Swift code created by the Source Code Viewer. The intrinsic function Random() now maps to the
function.
• Made some internal changes so the program loads faster.

• Some miscellaneous GUI tweaks.

Version 1.10 (December 17, 2015)

• Added the ability to control execution speed. The system now supports: Fast, Medium, and Slow. When set to
slow, the user can passively watch each shape execute. It essentially works like the user pressing the "Step" bu
• The behavior of the Play, Step, Pause, and Stop buttons were improved.

• Added Apple's Swift to the Source Code Viewer.

• Added a new color scheme: Vibrant.

Pag. 55 di 56
• Made some cosmetic changes to the window headers. Now, each draws a line on the top and bottom. The go
prevent color clashes with the window's title bar.
• When the window is resized, it now makes sure it doesn't size it larger than the screen. Before, it was always
800x600.
• Fixed an error in the Italian translation. It was my fault, not the original translator. When I changed the translat
mistranslated "Assignment". Thanks to Roberto Atzori for letting me know.

Version 1.9.2 (November 17, 2015)

• Fixed an error that affected parameters displayed in the Edit Function window. The parameters weren't being
correctly.

Version 1.9.1 (November 15, 2015)

• Fixed a typo.

Version 1.9 (November 14, 2015)


• Added Portuguese - Thanks to Jorge Duque.

• Chart styles:

o When selecting a chart style and color scheme, the preview image now shows the proper

colors and shapes. This preview is used in the Change Chart Style window, Print window, and Export Im
The "Color Preview" caption was removed since it is no longer needed. o Added a new chart style: Defa
(Descriptive). It is identical to the "Default" chart style,

but uses descriptive text on each shape. o Added a new color schemes: "Blueprints" and "Sacramento Stat
Eventually, the
application will allow custom color schemes to be created.
• The current color scheme is now used in dialog windows. In previous versions, the window header backgroun
blue. With the change, the background color changes for each scheme.
• The Add Shape popup menu was modified to handle the new color scheme design. Changes include the hove
as the border of the window.
• Most dialog windows were increased in size.

• Added a Copy button to the Console Window.

• Made some internal changes in preparation for a Macintosh/Linux port.

• Random number generation was improved. This is an internal change.

• Bug fixes:

o Fixed a bug in For Loops. The system was not checking the range before executing the first

time. o Fixed a bug in QBasic generated code. The dollar suffix was missing on the call to MID$.

Additional Information
• Older Revisions

Pag. 56 di 56

Você também pode gostar