Operators
About
The notation used for comparisons logical operators, etc... vary greatly
between different programming languages. Flowgorithm supports the symbols
used in mathmetics (using Unicode values) as well as the two major families of
programming languages. The "BASICfamily" contains English keywords and
operators. The "Cfamily"
(which includes C, Java, C#) is far more symbolic.
Since mathematics and two major language families are supported, there are redundant
operators. Flowgorithm considers the redundant operates as the same  and
any set can be used (or all of them).
This allows the student to use the operators that match the language they
plan to to learn later.
Operator 
C Family 
BASIC Family 
Mathematics (Unicode) 
Equality 
== 
= 
= 
Inequality 
!= 
<> 
≠ 
Less Than or Equal 
<= 
<= 
≤ 
Greater Than Or Equal 
>= 
>= 
≥ 
Logical Not 
! 
not 
¬ 
Logical And 
&& 
and 
∧ 
Logical Or 
 
or 
∨ 
Multiply 
* 
* 
× 
Divide 
/ 
/ 
÷ 
Modulo 
% 
mod 

Flowgorithm also adds a few unique Visual Basic operators since if they have helpful,
clearly defined, semantics
Name 
Basic Family 
Mathematics (Unicode) 
Notes 
String Concatenation 
& 

C# and Java use the ambiguous "+" operator for
addition and concatenation. 
Exponent 
^ 
↑ 
Note: this is not a typical mathematical
symbol, but is often used when superscripts cannot be used. 
In Java and C#, the + operator is used for both string concatenation
and addition. This can be quite confusing given the rather complex
semantics. In Flowgorithm, addition will only work with numbers. The ampersand
& is used for concatenation. Also, C# and Java lack an exponent operator  instead relying their
respective Math classes. Flowgorithm uses the Visual Basic
^.
Precedence
The following are the precedence levels from high (evaluated first) to
low.
Level 
Name 
Operators 
Notes 
8 
Unary 
 ! not ¬ 
In Visual Basic, "not" precedence level is far
lower  above "and", but below all relational operators. 
7 
Exponent 
^ ↑ 
The exponent operator does not exist in C#
or Java. 
6 
Multiply 
* × / ÷ % mod 
Division will always be highprecision
(floating point) 
5 
Addition 
+  
In Flowgorithm, "+" will only work with numbers. 
4 
Concatenate 
& 

3 
Relational 
> < >= ≥ <= ≤ == = != <> ≠ 

2 
Logical And 
and && ∧ 

1 
Logical Or 
or  ∨ 

Examples
Expression 
Result 
Notes 
1 + 3 ^ 2 
10 

10 * 2 + 5 * 6

50 
10 * 2 and 5 * 6 have higher precedence
than addition. The addition is done last. 
7 * (4  1)

21 
Parenthesis are used for subexpressions,
which are evaluated as a whole. 
6 / 3 * 2 
4 
In mathematics, multiplication and
division have the same precedence levels. So, they are evaluated
lefttoright. The "PEMDAS" acronym, used in highschool, is a tad
misleading. 
10 mod 3 
1 
Modulo math gives the remainder from
division 
10 % 3 
1 
Same expression, but using the CFamily
operator 
