Différences entre versions de « Commande Compactée »

De GeoGebra Manual
Aller à : navigation, rechercher
 
(3 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
<noinclude>{{Manual Page|version=5.0}}</noinclude>{{command|list|Compactée}}
+
<noinclude>{{Manual Page|version=6.0}}</noinclude>{{command|list|Compactée}}
;'''Compactée'''[<Expression>, <Var1>, <Liste1>, <Var2>, <Liste2>, ...]
+
;'''Compactée'''(<Expression>, <Var1>, <Liste1>, <Var2>, <Liste2>, ...)
  
 
:Crée une [[Listes|liste]] d'objets obtenus par substitution des variables dans l'expression par les éléments des listes correspondantes.<br/>
 
:Crée une [[Listes|liste]] d'objets obtenus par substitution des variables dans l'expression par les éléments des listes correspondantes.<br/>
Ligne 9 : Ligne 9 :
 
{{exemples|1=<br/>
 
{{exemples|1=<br/>
 
1) Soit les points P,Q,R,S,T.  
 
1) Soit les points P,Q,R,S,T.  
<code>Compactée[MilieuCentre[A,B],A,{P,Q},B,{R,S,T}]</code><br/>
+
<code>Compactée(MilieuCentre(A,B),A,{P,Q},B,{R,S,T}]</code><br/>
 
:retourne une liste contenant les [[Commande MilieuCentre|milieux]] des segments ''[PR]'' et ''[QS]''.<br/>
 
:retourne une liste contenant les [[Commande MilieuCentre|milieux]] des segments ''[PR]'' et ''[QS]''.<br/>
  
 
2) Soit une liste ''liste1'' de points.  
 
2) Soit une liste ''liste1'' de points.  
<code> Nettoyer[Compactée[Si[sqrt(x(A)²+y(A)²)<1,A],A,liste1]]</code><br/>
+
<code> Nettoyer(Compactée(Si(sqrt(x(A)²+y(A)²)<1,A),A,liste1))</code><br/>
 
:retourne la liste des points situés dans le disque unité ouvert.<br/>
 
:retourne la liste des points situés dans le disque unité ouvert.<br/>
  
3) Soit une liste ''liste1={x^2, x^3, x^6}'' de polynômes. <code>Compactée[Degré[a], a, liste1]</code><br/>
+
3) Soit une liste ''liste1={x^2, x^3, x^6}'' de polynômes. <code>Compactée(Degré[a], a, liste1)</code><br/>
 
:retourne la liste ''{2, 3, 6}''.<br/>
 
:retourne la liste ''{2, 3, 6}''.<br/>
  
4) Soit une liste ''liste1={1, 2, 5}'' de nombres. <code>Compactée[Simplifier[a*x^(b-1)], a, liste1,b]</code> <br/>
+
4) Soit une liste ''liste1={1, 2, 5}'' de nombres. <code>Compactée(Simplifier(a*x^(b-1)), a, liste1,b)</code> <br/>
 
:retourne la liste ''{1, 2x, 5x²}''.<br/>
 
:retourne la liste ''{1, 2x, 5x²}''.<br/>
 
}}
 
}}
Ligne 28 : Ligne 28 :
  
 
{{idée|1=<div>
 
{{idée|1=<div>
Il suffit de passer en argument une simple liste à la commande Compactée.<br/> Ceci permet une alternative plus concise à la commande  [[Commande Séquence| Séquence]] quand le seul objectif est de parcourir la liste.{{exemple|<code>Compactée[a^2, a, ListeNombres]</code> est équivalente en plus concise à <br/><code>Séquence[Elément[ListeNombres, a]^2, a, 1, Longueur[ListeNombres]]</code><br/> (mais dans ce cas il est <u>encore plus simple d'écrire</u> : <code>ListeNombres^2</code>.)
+
Il suffit de passer en argument une simple liste à la commande Compactée.<br/> Ceci permet une alternative plus concise à la commande  [[Commande Séquence| Séquence]] quand le seul objectif est de parcourir la liste.{{exemple|<code>Compactée(a^2, a, ListeNombres)</code> est équivalente en plus concise à <br/><code>Séquence(Elément(ListeNombres, a)^2, a, 1, Longueur(ListeNombres))</code><br/> (mais dans ce cas il est <u>encore plus simple d'écrire</u> : <code>ListeNombres^2</code>.)
 
et comme pour l'exemple 4
 
et comme pour l'exemple 4
<code>Compactée[(a, x(P)), P, ListePoints, a]</code> est plus concise que<code>Compactée[(a, x(P)), P, ListePoints, a, Séquence[Longueur[ListePoints]]]</code>
+
<code>Compactée((a, x(P)), P, ListePoints, a)</code> est plus concise que<code>Compactée((a, x(P)), P, ListePoints, a, Séquence(Longueur(ListePoints)))</code>
 
}}</div>}}
 
}}</div>}}
  
  
 
{{idée|1=<div>  Sierpinski en un tweet par Zbynek
 
{{idée|1=<div>  Sierpinski en un tweet par Zbynek
<code>Compactée[Polygone[v],v,Itération[Unir[Compactée[Compactée[(t+p)/2,p,t],t,p]],p, {{{(0,0),(5;0°),(5;60°)}}},5]]</code></div>}}
+
<code>Compactée(Polygone(v),v,Itération(Unir(Compactée(Compactée((t+p)/2,p,t),t,p)),p, {{{(0,0),(5;0°),(5;60°)}}},5))</code></div>}}
  
{{idée|1=<div> Nouveau en '''5.0.258'''
+
{{idée|1=<div>
 
la variable n'est pas celle qu'on croit ;-)<br/>
 
la variable n'est pas celle qu'on croit ;-)<br/>
<code>Compactée[f(2), f, {x+1, x+3}]</code>retourne la liste des images de la variable citée, ici ''1'', par les fonctions données dans la liste, donc ''{2,5}''.
+
<code>Compactée(f(2), f, {x+1, x+3})</code>retourne la liste des images de la variable citée, ici ''2'', par les fonctions données dans la liste, donc ''{3,5}''.
 
</div>}}
 
</div>}}
 +
 +
 +
{{Note|1=<div>il '''me''' semble ... qu'il est impossible d'utiliser correctement cette commande avec un outil ayant plusieurs objets finaux,
 +
seul le premier de ces objets est retourné.
 +
 +
en attente d'être contredit.</div>}}

Version actuelle datée du 18 mars 2018 à 13:42

Compactée(<Expression>, <Var1>, <Liste1>, <Var2>, <Liste2>, ...)
Crée une liste d'objets obtenus par substitution des variables dans l'expression par les éléments des listes correspondantes.

Si le nombre de variables correspond au nombre de listes, chaque variable est extraite de la liste suivante. Si le nombre de variables dépasse le nombre de listes de 1, la dernière variable prend les valeurs de 1, 2, 3, ..., k où k est la longueur de la liste la plus courte (voir ex. 4).
La longueur de la liste résultante est le minimum des longueurs des listes.


Exemples :

1) Soit les points P,Q,R,S,T. Compactée(MilieuCentre(A,B),A,{P,Q},B,{R,S,T}]

retourne une liste contenant les milieux des segments [PR] et [QS].

2) Soit une liste liste1 de points. Nettoyer(Compactée(Si(sqrt(x(A)²+y(A)²)<1,A),A,liste1))

retourne la liste des points situés dans le disque unité ouvert.

3) Soit une liste liste1={x^2, x^3, x^6} de polynômes. Compactée(Degré[a], a, liste1)

retourne la liste {2, 3, 6}.

4) Soit une liste liste1={1, 2, 5} de nombres. Compactée(Simplifier(a*x^(b-1)), a, liste1,b)

retourne la liste {1, 2x, 5x²}.


Note : Dans chacune des listes, les éléments doivent être du même type.


Note Idée :
Il suffit de passer en argument une simple liste à la commande Compactée.
Ceci permet une alternative plus concise à la commande Séquence quand le seul objectif est de parcourir la liste.
Exemple : Compactée(a^2, a, ListeNombres) est équivalente en plus concise à
Séquence(Elément(ListeNombres, a)^2, a, 1, Longueur(ListeNombres))
(mais dans ce cas il est encore plus simple d'écrire : ListeNombres^2.)

et comme pour l'exemple 4 Compactée((a, x(P)), P, ListePoints, a) est plus concise queCompactée((a, x(P)), P, ListePoints, a, Séquence(Longueur(ListePoints)))


Note Idée :
Sierpinski en un tweet par Zbynek Compactée(Polygone(v),v,Itération(Unir(Compactée(Compactée((t+p)/2,p,t),t,p)),p, {{{(0,0),(5;0°),(5;60°)}}},5))
Note Idée :

la variable n'est pas celle qu'on croit ;-)
Compactée(f(2), f, {x+1, x+3})retourne la liste des images de la variable citée, ici 2, par les fonctions données dans la liste, donc {3,5}.


Note :
il me semble ... qu'il est impossible d'utiliser correctement cette commande avec un outil ayant plusieurs objets finaux,

seul le premier de ces objets est retourné.

en attente d'être contredit.
© 2024 International GeoGebra Institute