# If Command

From GeoGebra Manual

- If[ <Condition>, <Then> ]
- Yields a copy of the object
*Then*if the condition evaluates to*true*, and an undefined object if it evaluates to*false*. **Examples:**- Let
*n*= 3.`If[n==3, x + y = 4]`

yields line*x*+*y*= 4, because the condition on number*n*is met. - Let
*n*= 4.`If[n==3, x + y = 4]`

creates an*undefined*object, because the condition on number*n*is not met .

- Let

- If[ <Condition>, <Then>, <Else> ]
- Yields a copy of object
*Then*if the condition evaluates to*true*, and a copy of object*Else*if it evaluates to*false*. Both objects*must*be of the same type. **Example:**Let*n*be a number.`If[n==3, x + y = 4, x - y = 4]`

yields line*x*+*y*= 4 when*n*= 3, and line*x*-*y*= 4 for all*n*not equal to 3.

### Conditional Functions

- The
*If*command can be used to create conditional functions. Such conditional functions may be used as arguments in any command that takes a function argument, such as Derivative, Integral, and Intersect. **Examples:**`f(x) = If[x < 3, sin(x), x^2]`

yields a piecewise function that equals*sin(x)*for*x < 3*and*x*for^{2}*x ≥ 3*.`f(x) = If[0 <= x <= 3, sin(x)]`

yields a function that equals*sin(x)*for x between 0 and 3 (and undefined otherwise).

**Note:**A shorter syntax for this is`f(x) = sin(x), 0 <= x <= 3`

**Notes:**- Derivative of
*If[condition, f(x), g(x)]*gives*If[condition, f'(x), g'(x)]*. It does not do any evaluation of limits at the critical points. - See section: Boolean values for the symbols used in conditional statements.

- Derivative of

## If Command in Scripting

*If*command can be used in scripts to perform different actions under certain conditions.**Example:**Let*n*be a number, and*A*a point. The command`If[Mod[n, 7] == 0, SetCoords[A, n, 0], SetCoords[A, n, 1]]`

modifies the coordinates of point*A*according to the given condition. In this case it would be easier to use`SetCoords[A, n, If[Mod[n, 7] == 0,0,1]]`

.

**Note:**Arguments of*If*must be Objects or Scripting Commands, not assignments. Syntax`b = If[a > 1, 2, 3]`

is correct, but*b = 2*or*b = 3*would not be accepted as parameters of If.