Difference between revisions of "If Command"

From GeoGebra Manual
Jump to: navigation, search
Line 14: Line 14:
 
{{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.}}
 
{{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==
 
==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 command can be used in scripts to perform different actions under certain conditions.
if you want to e.g. set value of ''b'' to 3 provided ''a > 2'', correct way to do this is <code>SetValue[b,If[a>2,3,b]]</code>. The other way of nesting SetValue and If is incorrect.
+
{{example|1= Let ''n'' be a number, and ''A'' a point. The command <code>If[Mod[n, 7] == 0, SetCoords[A, n, 0], SetCoords[A, n, 1]]</code> modifies the coordinates of point ''A'' according to the given condition. In this case it would be easier to use  <code> SetCoords[A, n, If[Mod[n, 7] == 0,0,1]]</code>.
 
 
{{betamanual|version=4.2|
 
Starting with version 4.2, it is possible to use the '''If''' command more intuitively.
 
{{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.
 
}}
 
 
}}
 
}}
 +
Note that arguments of If must be Objects or [[Scripting Commands]], not assignments. Syntax <code>b=If[a>1,2,3]</code> is correct, but b=2 or b=3 would not be accepted as parameters of If.

Revision as of 23:59, 2 December 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.

Examples:
  • 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

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 that 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.

© 2020 International GeoGebra Institute