Difference between revisions of "If Command"

From GeoGebra Manual
Jump to: navigation, search
(If Command in Scripting)
(If Command in Scripting)
Line 18: Line 18:
  
 
{{betamanual|version=4.2|
 
{{betamanual|version=4.2|
Since the version 4.2, so that there is less confusion in mind of the users, we can now use more easily the '''If''' command, for example, let n a number, you can write in its script :
+
Starting with version 4.2, it is possible to use the '''If''' command more intuitively.
{{example|1=  
+
{{example|1= Let ''n'' be a number, and A a point. The command <code>If[Mod[n, 2] == 0, SetCoords[A, n, 0], SetCoords[A, n, 1]]</code> modifies the coordinates of point A according to the given condition.
<code>If[Mod[n,2]==0,SetCoords[A,n,0],SetCoords[A,n,1]]</code>.
 
 
}}
 
}}
 
}}
 
}}

Revision as of 16:19, 7 November 2012


If[Condition, Object]
Yields a copy of the object if the condition evaluates to true, and an undefined object if it evaluates to false.
If[Condition, Object a, Object b]
Yields a copy of object a if the condition evaluates to true, and a copy of object b if it evaluates to false.
Warning Warning: Both objects must be of the same type.

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.

Example:
  • f(x) = If[x < 3, sin(x), x^2] yields a function that equals sin(x) for x < 3 and x2 for x ≥ 3
  • f(x) = If[x < 3 ∧ x>0, x^3] yields a function that equals sin(x) for x between 0 and 3 and undefined for x ≥ 3 or x ≤ 0.
Note: See section: Boolean values for the symbols used in conditional statements.
Note: 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.

If Command in Scripting

In many programming languages if has the meaning "If condition holds, do something; otherwise do something else". In GeoGebra, arguments of If are not commands, but values, one of which becomes the value of the result. Therefore if you want to e.g. set value of b to 3 provided a > 2, correct way to do this is SetValue[b,If[a>2,3,b]]. The other way of nesting SetValue and If is incorrect.

© 2020 International GeoGebra Institute