Diferencia entre revisiones de «Comando Zip»

De GeoGebra Manual
Saltar a: navegación, buscar
m (Texto reemplazado: «;([a-zA-Z0-9]*)\[(.*)\]» por «;$1($2)»)
(No se muestran 8 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
<noinclude>{{Manual Page|version=4.2}}</noinclude>{{command|list|Zip}}
+
<noinclude>{{Manual Page|version=5.0}}</noinclude>{{command|list|Zip}}
;Zip[ <Expresión>, <Variable<sub>1</sub>>, <Lista<sub>1</sub>>, <Variable<sub>2</sub>>, <Lista<sub>2</sub>>, ...]
+
;Zip( <Expresión>, <Variable1>, <Lista1>, <Variable2>, <Lista2>, ...)
:Crea la [[Listas|lista]] de objetos obtenida al sustituir, en la expresión, las variables por elementos de las correspondientes listas.  Su longitud coincide con la de las de entrada.
+
:Crea la [[Listas|lista]] de los objetos que se obtienen al sustituir las variables de la expresión por los elementos de las correspondientes listas.  La longitud de la lista obtenida es igual a la menor de las longitudes de las listas consideradas.
:{{Examples|1= <br>Dados los puntos '''Q''', '''R''', '''S''', '''T''' y  '''U'''...<br><br>'''<code>Aplana[Zip[EliminaIndefinidos[ Añade[{}, Si[sqrt(x(P_x)² + y(P_x)²) < 2, P_x]]], P_x, {Q, R, S, T, U}]]</code>''', da por resultado  la lista conteniendo solo los puntos del conjunto indicado que están dentro del círculo con centro en el origen de coordenadas y radio de dos unidades<br><br>'''<code>Zip[PuntoMedio[P_A, P_B], P_A, {Q, R}, P_B, {S, T}]</code>''', da por resultado  la lista conteniendo los [[Comando PuntoMedio|puntos medios]] entre '''Q''' y '''S''' (primero con primero) y entre '''R''' y '''T''' (segundo con segundo)...<br>'''<code>lista_1 = {(0,4 , 4), (2, 3.4)}</code>'''<br><br>Siendo '''<code>''lis1 = {x^2, x^3, x^6}''</code>''' una lista de polinomios '''<code>Zip[Grado[a], a, lis1]</code>''' da por resultado, la lista '''<code>''{2, 3, 6}''</code>'''.
+
 
}}
+
:{{example|1=Consideremos los puntos P, Q, R y S. <code>Zip[PuntoMedio[A, B], A, {P, Q}, B, {R, S}]</code> devuelve la lista con los [[Comando PuntoMedio|puntos medios]] de los segmentos ''PR'' y ''QS''.}}
:{{warning|1=Los elementos de cada lista deben ser del mismo tipo.}}
+
:{{example|1=Consideremos la lista de polinomios ''lista1={x^2, x^3, x^6}''. <code>Zip[Grado[a], a, lista1]</code> da por resultado la lista ''{2, 3, 6}''.}}
 +
 
 +
{{Note|Los elementos de una misma lista deben ser del mismo tipo.}}
 +
 
 +
 
 +
 
 
:{{Note|1=Se puede operar incluso con una única lista (que es, por otra parte, el empleo más frecuente) en una alternativa más sintética que [[Comando Secuencia|Secuencia]] cuando lo único que se requiere es recorrer una lista.}}
 
:{{Note|1=Se puede operar incluso con una única lista (que es, por otra parte, el empleo más frecuente) en una alternativa más sintética que [[Comando Secuencia|Secuencia]] cuando lo único que se requiere es recorrer una lista.}}
:{{Examples|1=<br>'''<code>Zip[a^2, a, listaDeNúmeros]</code>''' es mucho más breve que '''<code>Secuencia[Elemento[listaDeNúmeros, a]^2, a, 1, Longitud[listaDeNúmeros]]</code>''' <small>(aunque en este caso es aún más sencillo simplemente  '''<code>listaDeNúmeros^2</code>'''.)</small>
+
:{{Examples|1=<br>'''<code>Zip[a^2, a, listaDeNúmeros]</code>''' es mucho más breve que '''<code>Secuencia[Elemento[listaDeNúmeros, a]^2, a, 1, Longitud[listaDeNúmeros]]</code>''' (aunque en este caso es aún más sencillo simplemente  '''<code>listaDeNúmeros^2</code>'''.)
 
}}
 
}}
:{{Note|1=Este comando, en definitiva, es similar a una construcción que en otros lenguajes de programación se conoce como  ''"mapa"'' (''for each...'' o ''map'').}}
+
:{{OJo|1=Este comando, en definitiva, es similar a una construcción que en otros lenguajes de programación se conoce como  ''"mapa"'' (''for each...'' o ''map'').}}<!-- 
===[[Image:View-cas24.png]][[Comandos Exclusivos CAS (Cálculo Avanzado)|En]] [[Vista CAS|Vista CAS '''C'''<sub><small>omputación</small></sub>'''A'''<sub><small>lgebraica</small></sub>'''S'''<sub><small>imbólica</small></sub>]]===
+
 
Se admite cada una de las variantes previas así como literales en operaciones simbólicas.
+
==[[Image:View-cas24.png]][[Comandos Exclusivos CAS (Cálculo Avanzado)|En]] [[Vista CAS|Vista CAS '''C'''<sub><small>omputación</small></sub>'''A'''<sub><small>lgebraica</small></sub>'''S'''<sub><small>imbólica</small></sub>]]==
:{{Examples|1=Con decimales según el [[Menú de Opciones#Redondeo|''redondeo'']] fijado...&nbsp;<br>'''<code>Zip[(k^(m + ñ + 1) - k^m) / (k - 1),k,{ℯ},m,{1, 2, 3, 4},ñ,{6, 7, 8, 9}]</code>''' da como [[Herramienta de Valor Numérico|da]]<small><small>[[Archivo:Tool Numeric.gif]]</small></small> ''{1733.27}'' aproximadamente y se [[Herramienta de Evalúa|evalúa]] como <small><small>[[Archivo:Tool Evaluate.gif]]</small></small>'''{'''<math>\frac{43331653397}{25000000} </math>'''}'''<br>'''<code>Zip[(k^(m+ñ+1)-k^m)/(k-1),k,{ℯ},m,Secuencia[1000],ñ, Secuencia[1000]+5]</code>''' da el mismo resultado}}<hr>
+
Se admite cada una de las variantes previas así como literales en operaciones simbólicas.--> <!--
:{{Note|1=Ver también los comandos [[Comando Secuencia|Secuencia]] e [[Comando ÍndiceDe|ÍndiceDe]].}}
+
:{{Examples|1=Con decimales según el [[Menú de Opciones#Redondeo|''redondeo'']] fijado...&nbsp;<br>'''<code>Zip[(k^(m + ñ + 1) - k^m) / (k - 1),k,{ℯ},m,{1, 2, 3, 4},ñ,{6, 7, 8, 9}]</code>''' da como [[Herramienta de Valor Numérico|da]]<small>[[Archivo:Mode numeric.png]]</small> ''{1733.27}'' aproximadamente y se [[Herramienta de Evalúa|evalúa]] como <small><small>[[Archivo:Mode evaluate.png]]</small></small>'''{'''<math>\frac{43331653397}{25000000} </math>'''}'''<br>'''<code>Zip[(k^(m+ñ+1)-k^m)/(k-1),k,{ℯ},m,Secuencia[1000],ñ, Secuencia[1000]+5]</code>''' da el mismo resultado}}<hr>-->
<!--<br><br>'''<code><nowiki>Zip[Suma[k^h, h, m, m+ñ], m, {1, 2, 3, 4, 5}, ñ, {3, 4, 5, 6, 7}]</nowiki></code>''' se [[Herramienta de Evalúa|evalúa]] como [[Archivo:Tool Evaluate.gif]] <<math>{Zip[\frac{k^{m + ñ + 1} - k^{m}   }{k - 1},m, \{ 1, 2, 3, 4, 5 \} ,ñ, \{ 3, 4, 5, 6, 7 \}    ]   } </math>}}-->
+
:{{Note|1=Ver también los comandos [[Comando Secuencia|Secuencia]] e [[Comando ÍndiceDe|ÍndiceDe]].}}<!--  
 +
<br><br>'''<code><nowiki>Zip[Suma[k^h, h, m, m+ñ], m, {1, 2, 3, 4, 5}, ñ, {3, 4, 5, 6, 7}]</nowiki></code>''' se [[Herramienta de Evalúa|evalúa]] como [[Archivo:Mode evaluate.png]] '''{'''Zip[<math>{frac{k^{m + ñ + 1} - k^{m}}{k - 1}</math>, m, { 1, 2, 3, 4, 5 \} ,ñ, \{ 3, 4, 5, 6, 7 \}    ]'''}'''  -->

Revisión del 19:04 8 oct 2017


Zip( <Expresión>, <Variable1>, <Lista1>, <Variable2>, <Lista2>, ...)
Crea la lista de los objetos que se obtienen al sustituir las variables de la expresión por los elementos de las correspondientes listas. La longitud de la lista obtenida es igual a la menor de las longitudes de las listas consideradas.
Ejemplo: Consideremos los puntos P, Q, R y S. Zip[PuntoMedio[A, B], A, {P, Q}, B, {R, S}] devuelve la lista con los puntos medios de los segmentos PR y QS.
Ejemplo: Consideremos la lista de polinomios lista1={x^2, x^3, x^6}. Zip[Grado[a], a, lista1] da por resultado la lista {2, 3, 6}.
Nota: Los elementos de una misma lista deben ser del mismo tipo.


Nota: Se puede operar incluso con una única lista (que es, por otra parte, el empleo más frecuente) en una alternativa más sintética que Secuencia cuando lo único que se requiere es recorrer una lista.
Ejemplos:
Zip[a^2, a, listaDeNúmeros] es mucho más breve que Secuencia[Elemento[listaDeNúmeros, a]^2, a, 1, Longitud[listaDeNúmeros]] (aunque en este caso es aún más sencillo simplemente listaDeNúmeros^2.)
Bulbgraph.pngAtención: Este comando, en definitiva, es similar a una construcción que en otros lenguajes de programación se conoce como "mapa" (for each... o map).
Nota: Ver también los comandos Secuencia e ÍndiceDe.

Comentarios

Es suficiente usar una sola lista con Zip(). Es una alternativa más corta que el comando Secuencia() cuando se desea recorrer una lista. Por ejemplo, Zip(a^2, a, listaDeNúmeros) es más corto que Secuencia(Elemento(listaDeNúmeros, a)^2, a, 1, Longitud(listaDeNúmeros)) (más allá de que, en este caso particular, es aún más facil ingresar listaDeNúmeros^2).

Note Aviso: Zip() es un constructo similar a lo que se suele denominar "map" en otros lenguajes de programación.
© 2024 International GeoGebra Institute