Différences entre versions de « Commande SoitValeur »

De GeoGebra Manual
Aller à : navigation, rechercher
 
(4 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
<noinclude>{{Manual Page|version=5.0}}</noinclude>{{command|scripting|SoitValeur}}
+
<noinclude>{{Manual Page|version=6.0}}</noinclude>{{command|scripting|SoitValeur}}
  
;SoitValeur[ <Booléen b>, <0|1> ] : Affecte au booléen ''b'' la valeur 0 ou 1. Vous pouvez aussi utiliser SoitValeur[ <Booléen b>, <false|true> ]
+
;SoitValeur( <Booléen b>, <0|1> ) : Affecte au booléen ''b'' la valeur 0 ou 1. Vous pouvez aussi utiliser '''SoitValeur( <Booléen b>, <false|true> )'''
  
;SoitValeur[ <Objet A>, <Objet B> ]:Si ''A'' est un  [[Objets_libres,_dépendants_ou_auxiliaires|objet libre]] ou un  [[Points_et_Vecteurs|point]] appartenant à  [[Objets_géométriques#Chemins|un chemin ou une région]], sa valeur prend la valeur actuelle de ''B'' (i.e. ''A'' ne changera pas de valeur si ''B'' est ensuite modifié).
+
;SoitValeur( <Objet A>, <Objet B> ):Si ''A'' est un  [[Objets_libres,_dépendants_ou_auxiliaires|objet libre]] ou un  [[Points_et_Vecteurs|point]] appartenant à  [[Objets_géométriques#Chemins|un chemin ou une région]], sa valeur prend la valeur actuelle de ''B'' (i.e. ''A'' ne changera pas de valeur si ''B'' est ensuite modifié).
  
;SoitValeur[ <Liste L>, <Nombre n >, <Objet O> ] : Affecte au ''n <sup>ème</sup>'' de la liste ''L'' la valeur actuelle de l'objet ''B'' .<br/> Le nombre ''n'' est au plus égal à Longueur[L]+1.
+
;SoitValeur( <Liste L>, <Nombre n >, <Objet O> ) : Affecte au ''n <sup>ème</sup>'' élément de la liste ''L'' la valeur actuelle de l'objet ''O'' .<br/> Le nombre ''n'' est au plus égal à Longueur(L)+1.
 +
 
 +
 
 +
;SoitValeur( <[[Objets_InterAction#Listes déroulantes|Liste déroulante]]>, <Nombre n > ) : Définit  ''n'' comme [[Commande PositionSélectionnée|position sélectionnée]] dans la liste déroulante.
  
{{GGb5|<div>
 
;SoitValeur[ <[[Objets_InterAction#Listes déroulantes|Liste déroulante]]>, <Nombre n > ] : Définit  ''n'' comme [[Commande PositionSélectionnée|position sélectionnée]] dans la liste déroulante.
 
</div>}}
 
  
  
Ligne 18 : Ligne 18 :
 
Dans GeoGebra les arguments de '''Si''' ne sont pas des commandes, mais des valeurs, dont une devient la valeur du résultat.
 
Dans GeoGebra les arguments de '''Si''' ne sont pas des commandes, mais des valeurs, dont une devient la valeur du résultat.
  
Par conséquent, si vous désirez par exemple que ''b'' prenne la valeur 2 si la condition ''a > 2 '' est réalisée, la méthode correcte pour ce faire est <code>SoitValeur[b,Si[a>2,2,b]]</code>. Toute autre manière d'imbriquer SoitValeur et Si est incorrecte.
+
Par conséquent, si vous désirez par exemple que ''b'' prenne la valeur 2 si la condition ''a > 2 '' est réalisée, la méthode correcte pour ce faire est <code>SoitValeur(b,Si(a>2,2,b))</code>. Toute autre manière d'imbriquer SoitValeur et Si est incorrecte.
  
  
Ligne 27 : Ligne 27 :
 
::La commande SoitValeur  sera sans effet sur liste1, il vous faut copier cette dernière en objet libre par la [[Commande CopierObjetLibre]]<br/>
 
::La commande SoitValeur  sera sans effet sur liste1, il vous faut copier cette dernière en objet libre par la [[Commande CopierObjetLibre]]<br/>
 
::Ainsi, exemple de script :<br/>
 
::Ainsi, exemple de script :<br/>
:::<code>liste2=CopierObjetLibre[liste1]</code><br/>
+
:::<code>liste2=CopierObjetLibre(liste1)</code><br/>
:::<code>SoitValeur[liste2,4,D]</code>.</div>}}
+
:::<code>SoitValeur(liste2,4,D)</code>.</div>}}
  
 
:{{Idée|1=<div>
 
:{{Idée|1=<div>
:::Dans un script, privilégiez toujours la commande SoitValeur à l'affectation par le signe <code>=</code>.
+
:::Dans un script, '''privilégiez toujours la commande SoitValeur à l'affectation par le signe <code>=</code>.'''
 
:::pour ''i'' libre, ''j'' libre ou non, les commandes <code>i = 4</code>, <code>i = i + 1</code>, <code>i = i + j</code>  
 
:::pour ''i'' libre, ''j'' libre ou non, les commandes <code>i = 4</code>, <code>i = i + 1</code>, <code>i = i + j</code>  
:::sont équivalents à <code>SoitValeur[i, 4]</code>, <code>SoitValeur[i, i + 1]</code> et <code>SoitValeur [i, i + j]</code>
+
:::sont équivalentes à <code>SoitValeur(i, 4)</code>, <code>SoitValeur(i, i + 1)</code> et <code>SoitValeur(i, i + j)</code>
 
:::(''i'' reste libre, seule sa valeur est modifiée),<code> i = j</code> provoque une redéfinition.
 
:::(''i'' reste libre, seule sa valeur est modifiée),<code> i = j</code> provoque une redéfinition.
:::Mais <code>i = CopierObjetLibre[j]</code> devrait fonctionner comme SoitValeur.
+
:::Mais <code>i = CopierObjetLibre(j)</code> devrait fonctionner comme SoitValeur.
 
:::Une redéfinition est lente, surtout si il y a beaucoup d'objets qui dépendent de ''i''. Cela entraînera de graves problèmes dans les scripts d'actualisation.</div>}}
 
:::Une redéfinition est lente, surtout si il y a beaucoup d'objets qui dépendent de ''i''. Cela entraînera de graves problèmes dans les scripts d'actualisation.</div>}}

Version actuelle datée du 30 octobre 2017 à 19:07


SoitValeur( <Booléen b>, <0|1> )
Affecte au booléen b la valeur 0 ou 1. Vous pouvez aussi utiliser SoitValeur( <Booléen b>, <false|true> )
SoitValeur( <Objet A>, <Objet B> )
Si A est un objet libre ou un point appartenant à un chemin ou une région, sa valeur prend la valeur actuelle de B (i.e. A ne changera pas de valeur si B est ensuite modifié).
SoitValeur( <Liste L>, <Nombre n >, <Objet O> )
Affecte au n ème élément de la liste L la valeur actuelle de l'objet O .
Le nombre n est au plus égal à Longueur(L)+1.


SoitValeur( <Liste déroulante>, <Nombre n > )
Définit n comme position sélectionnée dans la liste déroulante.


Commandes Si et SoitValeur dans les Scripts

Dans de nombreux langages de programmation, Si signifie si la condition est vraie fait ceci ; sinon fait cela.

Dans GeoGebra les arguments de Si ne sont pas des commandes, mais des valeurs, dont une devient la valeur du résultat.

Par conséquent, si vous désirez par exemple que b prenne la valeur 2 si la condition a > 2 est réalisée, la méthode correcte pour ce faire est SoitValeur(b,Si(a>2,2,b)). Toute autre manière d'imbriquer SoitValeur et Si est incorrecte.


SoitValeur et objets libres

Note Idée :
Vous avez une liste de points, liste1={A,B,C}, donc un objet dépendant, vous voulez, par script, lui ajouter un point D.
La commande SoitValeur sera sans effet sur liste1, il vous faut copier cette dernière en objet libre par la Commande CopierObjetLibre
Ainsi, exemple de script :
liste2=CopierObjetLibre(liste1)
SoitValeur(liste2,4,D).
Note Idée :
Dans un script, privilégiez toujours la commande SoitValeur à l'affectation par le signe =.
pour i libre, j libre ou non, les commandes i = 4, i = i + 1, i = i + j
sont équivalentes à SoitValeur(i, 4), SoitValeur(i, i + 1) et SoitValeur(i, i + j)
(i reste libre, seule sa valeur est modifiée), i = j provoque une redéfinition.
Mais i = CopierObjetLibre(j) devrait fonctionner comme SoitValeur.
Une redéfinition est lente, surtout si il y a beaucoup d'objets qui dépendent de i. Cela entraînera de graves problèmes dans les scripts d'actualisation.
© 2024 International GeoGebra Institute