Operators#
Introduction#
The Operators blocks in VEXcode IQ (1st gen) handle mathematical calculations. These blocks allow for performing arithmetic and evaluating conditions. Below is a list of available blocks:
Math – Perform calculations and evaluate numerical conditions.
math operator – Performs addition, subtraction, multiplication, or division.
comparison operator – Compares two values using greater than, less than, or equal operators.
logical operator – Evaluates multiple conditions using and or or.
not operator – Inverts a Boolean value.
range operator – Checks if a number falls within a range.
pick random – Generates a random number within a specified range.
round number – Rounds a number to the nearest whole number.
math functions – Applies operations such as square root, trigonometry, logarithms, and exponentiation.
atan2 – Computes the inverse tangent of y/x.
remainder – Returns the remainder of a division operation.
Math#
math operator#
The math operator block performs basic arithmetic on the values placed on either side. It returns a result based on the project’s print precision, which defaults to 0 decimal places but can be adjusted using the set print precision block.
    ([0] [math_plus v] [0])
Parameters  | 
Description  | 
|---|---|
value 1  | 
The first number used in the operation.  | 
operator  | 
The mathematical operator to use: 
  | 
value 2  | 
The second number used in the operation.  | 
Example
  when started
  [Perform basic addition and show two decimal places.]
  set print precision to [0.01 v] on screen
  print ([10] [math_plus v] [10.5]) on screen ▶
comparison operator#
The comparison operator block returns a Boolean indicating whether the comparison between two values is true or false.
True– The comparison is correct (e.g., 5 > 3 returns True).False– The comparison is incorrect (e.g., 2 ≥ 5 returns False).
    <[0] [math_equal v] [0]>
Parameter  | 
Description  | 
|---|---|
value 1  | 
The first value to compare.  | 
operator  | 
The comparison to use: 
  | 
value 2  | 
The second value to compare.  | 
Example
  when started
  [Turn right until the heading reaches 90 degrees.]
  turn [right v]
  wait [0.5] seconds
  wait until <(drive heading in degrees) [math_greater_than v] [90]>
  stop driving
logical operator#
The logical operator block returns a Boolean indicating whether the logical condition between multiple values is true or false.
True – The logic condition is met.
False – The logic condition is not met.
    <<> [and v] <>>
Parameter  | 
Description  | 
|---|---|
condition 1  | 
The first Boolean condition to evaluate.  | 
operator  | 
The logical operator to use: 
  | 
condition 2  | 
The second Boolean condition to evaluate.  | 
Example
  when started
  [Display if the up and down buttons are pressed.]
  forever
    clear screen
    set cursor to row [1] column [1] on screen
    if <<Brain [▲ v] button pressed?> [and v] <Brain [▼ v] button pressed?>> then
    print [Buttons pressed!] on screen ▶
    end
  end
not operator#
The not operator block inverts the result of a Boolean block. If the input is True, it returns False, and if the input is False, it returns True.
True – The input condition would normally return False.
False – The input condition would normally return True.
    <not <>>
Parameter  | 
Description  | 
|---|---|
condition  | 
The Boolean condition to be inverted.  | 
Example
  when started
  [Turn until the robot is facing left. ]
  forever
  if <not <(drive heading in degrees) [math_greater_than v] [270]>> then
  turn [right v]
  else
  stop driving
range operator#
The range operator block returns a Boolean indicating whether a value falls within a specified range.
True – If the value is within the range.
False – If the value is outside the range.
    <[0] [math_less_than v] [0] [math_less_than v] [0]>
Parameter  | 
Description  | 
|---|---|
first operator  | 
The comparison operator to use: 
  | 
value  | 
The value to check.  | 
second operator  | 
The comparison operator to use: 
  | 
Example
    when started
    [Turn and display when facing forward or back. ]
    turn [right v] for [360] degrees ◀ and don't wait
    forever
    clear screen
    set cursor to row [1] column [1] on screen
    if <[270] [math_greater_than v] (drive heading in degrees) [math_greater_than v] [90]> then
    print [Facing backward!] on screen ▶
    else
    print [Facing forward!] on screen ▶
pick random#
The pick random block returns a random integer within the specified range.
    pick random [1] to [10]
Parameters  | 
Description  | 
|---|---|
min  | 
The lowest possible number that can be picked.  | 
max  | 
The highest possible number that can be picked.  | 
Examples
  when started
  [Display a number between 1 and 10.]
  print (pick random [1] to [10]) ▶
round number#
The round number block returns the given number rounded to the nearest whole number, following standard rounding rules:
If the decimal is 0.5 or greater, the number rounds up.
If the decimal is less than 0.5, the number rounds down.
    (round [0] to [0] decimal places)
Parameter  | 
Description  | 
|---|---|
number  | 
The number to round.  | 
decimal places  | 
The amount of decimals places to round to.  | 
Example
  when started
  [Display the rounded result of 10 / 3.]
  set print precision to [0.01 v] on screen
  print (round ([10] [math_division v] [3]) to [1] decimal places) on screen ▶
math functions#
The math functions block applies a selected mathematical function to a given number and returns the result. It supports operations such as absolute value, rounding, square roots, trigonometric functions, logarithms, and exponentiation.
    [abs v] of [0]
Parameter  | 
Description  | 
|---|---|
function  | 
The mathematical operation to apply to the input value: 
  | 
number  | 
The number to apply the function to.  | 
Example
  when started
  [Display the square root of 16.]
  print ([sqrt v] of [16]) on screen ▶
atan2#
The atan2 block returns the inverse tangent of Y/X as an angle in degrees, representing the angle between the positive X-axis and the point (X, Y).
  (atan2 of x:[4] y:[3])
Parameter  | 
Description  | 
|---|---|
x  | 
The horizontal position of the point, measured from the origin (0,0).  | 
y  | 
The vertical position of the point, measured from the origin (0,0).  | 
Example
  when started
  [Calculate the angle from current position (4, 3).]
  print (atan2 of x:[4] y:[3]) on screen ▶
remainder#
The remainder block returns the remainder of the division operation between two values.
    (remainder of [0] / [0])
Parameter  | 
Description  | 
|---|---|
dividend  | 
The number to be divided.  | 
divisor  | 
The number to divide by.  | 
Example
  when started
  [Display the remainder of 10 / 3.]
  print (remainder of [10] / [3]) on screen ▶