Diferencia entre revisiones de «Comando Zip»

De GeoGebra Manual
Saltar a: navegación, buscar
Línea 2: Línea 2:
 
;Zip[ <Expresión>, <Variable<sub>1</sub>>, <Lista<sub>1</sub>>, <Variable<sub>2</sub>>, <Lista<sub>2</sub>>, ...]
 
;Zip[ <Expresión>, <Variable<sub>1</sub>>, <Lista<sub>1</sub>>, <Variable<sub>2</sub>>, <Lista<sub>2</sub>>, ...]
 
: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 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.
:{{Examples|1= <br>Dados los puntos '''Q''', '''R''', '''S''', '''T''' y  '''U'''...<br><br>'''<code>Aplana[Zip[EliminaIndefinidos[Anexa[{}, 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 sólo 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>'''.
+
:{{Examples|1= <br>Dados los puntos '''Q''', '''R''', '''S''', '''T''' y  '''U'''...<br><br>'''<code>Aplana[Zip[EliminaIndefinidos[ Anexa[{}, 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 sólo 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>'''.
 
}}
 
}}
 
:{{warning|1=Los elementos de cada lista deben ser del mismo tipo.}}
 
:{{warning|1=Los elementos de cada lista deben ser del mismo tipo.}}

Revisión del 00:07 30 jun 2013


Zip[ <Expresión>, <Variable1>, <Lista1>, <Variable2>, <Lista2>, ...]
Crea la 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.
Ejemplos:
Dados los puntos Q, R, S, T y U...

Aplana[Zip[EliminaIndefinidos[ Anexa[{}, Si[sqrt(x(P_x)² + y(P_x)²) < 2, P_x]]], P_x, {Q, R, S, T, U}]], da por resultado la lista conteniendo sólo los puntos del conjunto indicado que están dentro del círculo con centro en el origen de coordenadas y radio de dos unidades

Zip[PuntoMedio[P_A, P_B], P_A, {Q, R}, P_B, {S, T}], da por resultado la lista conteniendo los puntos medios entre Q y S (primero con primero) y entre R y T (segundo con segundo)...
lista_1 = {(0,4 , 4), (2, 3.4)}

Siendo lis1 = {x^2, x^3, x^6} una lista de polinomios Zip[Grado[a], a, lis1] da por resultado, la lista {2, 3, 6}.
Alerta Alerta: Los elementos de cada 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.)
Nota: 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).

View-cas24.pngEn Vista CAS ComputaciónAlgebraicaSimbólica

Se admite cada una de las variantes previas así como literales en operaciones simbólicas.

Ejemplos: Con decimales según el redondeo fijado... 
Zip[(k^(m + ñ + 1) - k^m) / (k - 1),k,{ℯ},m,{1, 2, 3, 4},ñ,{6, 7, 8, 9}] da como daTool Numeric.gif {1733.27} aproximadamente y se evalúa como Tool Evaluate.gif{$ \frac{43331653397}{25000000} $}
Zip[(k^(m+ñ+1)-k^m)/(k-1),k,{ℯ},m,Secuencia[1000],ñ, Secuencia[1000]+5] da el mismo resultado

Nota: Ver también los comandos Secuencia e IndiceDe.

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