## Documentation

Learn how to fully use the app

### Math expressions syntax

#### Numbers

Numbers from `0` to `9` can be used in maths expressions.

Examples: `2`, `32`, …

#### Variables

Variables are a letter from `a` to `z` or a letter of greek alphabet. Warning: name can be only one character long!

Examples: `a`, `x`, …

#### Variables with an index

You can give an index to a variable using an `_` (underscore) after the name. An index can be only one number or one letter.

Examples: `x_1`, `x_2`, …

#### Functions

Variable can be also a function of a variable if you name it like `f(x)`. Then you can use it with any expression like `f(2)`.

Examples: `f(x)`, `g(z)`, …

#### Operations

What would be maths without operations between numbers? You can use classic operations: `+` (addition), `-` (subtraction), `*` (multiplication) and `/` (division).

Examples: `x + 1`, `1 / x`, …

#### Hidden multiplications

Want to write `2x` instead of `2 * x`? You can! Delta: Algorithms supports hidden multiplications.

Examples: `2x`, `x(x + 1)`, …

#### Powers and square roots

You can also use `^` (power) and `√` (square root) in your expressions. If the expression after the operation sign is a composed expression, please add `()` (braces) to it. (see examples)

Examples: `x ^ 2`, `2√2`, `√(x+1)`, …

#### Modulo

Modulo (remainder of a division) is available with `%`. For exemple, `5 % 2` will return `1` because `5 = 2 * 2 + 1`.

Examples: `5 % 2`, `a % b`, …

#### Equations

Having two expressions seperated with an equation operator will be considerated as an equation. You can use `=` (equals), `!=` (unequals), `>` (greater than), `<` (less than), `>=` (greater than or equals) and `<=` (less than or equals).

Examples: `x = 2`, `2a < 5`, …

#### Lists and sets

You can create a list/set of expressions using `{}`, separating expressions with `,` (comma).

Examples: `{2, 4, 6}`, `{x, 2x, 3x}`, …

### Create algorithms

#### Variable: Ask for `variable` with default `value`

Create a cell to set a value to the variable for algorithm process.

Example: Ask for `a` with default `1`

ParameterRole
`variable`Variable name
`value`Default value in the cell

#### Variable: Set `variable` to `value`

Set the value of the variable when called.

Example: Set `n` to `n + 1`

ParameterRole
`variable`Variable name
`value`Value given to the variable

#### Variable: Unset `variable`

Unset the variable when called.

Example: Unset `n`

ParameterRole
`variable`Variable name

#### Structure: If `condition`

If the condition is true, the code between If and Else will be executed. Else, the code between Else and End will be executed.

Example: If `a = 1`

ParameterRole
`condition`The equation that will be checked

#### Structure: While `condition`

The code between While and End will be repeated while the condition is true.

Example: While `a < 10`

ParameterRole
`condition`The equation that will be checked

#### Structure: For `variable` in `list`

The code between For and End will be repeated for each value of the list, available in a variable.

Example: For `x` in `{0, 1, 2}`

ParameterRole
`variable`The variable containing the current value
`list`The list of values to iterate

#### Output: Print variable `variable`

Print in a cell the value of the variable or the expression.

Example: Print variable `x`

ParameterRole
`variable`Variable name or expression

#### Output: Print approximated value of `variable`

Print in a cell the approximated value of the variable or the expression, if possible.

Example: Print approximated value of `e ^ 2`

ParameterRole
`variable`Variable name or expression

#### Output: Print text `text`

Print in a cell the given text. You can use `""` to print a variable in the text.

Example: Print text `"n" is even`

ParameterRole
`text`Text to be printed

#### List: Create list `variable`

Create an empty list in the given variable.

Example: Create list `l`

ParameterRole
`variable`Variable name

#### List: Add `value` to `variable`

Add a value to the list

Example: Add `2` to `l`

ParameterRole
`value`Value to add to the list
`variable`Variable containing the list

#### List: Remove `value` from `variable`

Remove a value from the list

Example: Remove `2` from `l`

ParameterRole
`value`Value to remove from the list
`variable`Variable containing the list

#### Quiz: Init quiz `text`

Init quiz with a title. You can use `""` to print a variable in the text.

Example: Init quiz `Solve the equation:`

ParameterRole
`text`Title of the quiz

#### Quiz: Add text `text`

Example: Add text `"ax + b" = 0`

ParameterRole
`text`Text to be printed

#### Quiz: Add input `text` with `correct` as correct answer

Add a field to enter a value, where `correct` is the correct answer.

Example: Add input `x` with `-b / a` as correct answer

ParameterRole
`text`Text for this value
`correct`Correct value

#### Quiz: Show quiz

Show the quiz to user.