Diferencia entre revisiones de «Comando Zip»

De GeoGebra Manual
Saltar a: navegación, buscar
Línea 3: Línea 3:
 
:Crea la [[Listas|lista]] de objetos obtenidos al sustituir, en la expresión, las variables por elementos de las correspondientes listas.
 
:Crea la [[Listas|lista]] de objetos obtenidos al sustituir, en la expresión, las variables por elementos de las correspondientes listas.
 
:La longitud de la lista resultante es el mínimo de las longitudes de las listas de entrada.
 
:La longitud de la lista resultante es el mínimo de las longitudes de las listas de entrada.
{{example |1= Si P, Q, R, S y T son algunos puntos, <code>Zip[PuntoMedio[A ,B], A, {P, Q}, B, {R, S, T}]</code>, da por resultado una lista conteniendo los [[Comando PuntoMedio|puntos medios]] de  los segmentos ''PR'' y ''QS''.}}
+
{{example |1= Dados los puntos '''Q''', '''R''', '''S''', '''T''' y '''U''' , <code>Zip[PuntoMedio[P_A, P_B], P_A, {Q, R}, P_B, {S, T, U}]</code>, da por resultado una lista conteniendo los [[Comando PuntoMedio|puntos medios]] de  los segmentos ''QS'', ''QT'' y ''QU'' así como los de ''RS'', ''RT'' y ''RU''.}}
 
{{Note|Los elementos de cada lista deben ser del mismo tipo.}}
 
{{Note|Los elementos de cada lista deben ser del mismo tipo.}}
  
Generalmente es suficiente, para Zip[], una lista simple . Es una alternativa más sintética que Secuencia[] cuando lo único que se requiere es recorrer una lista. Por ejemplo, <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 más sencillo simplemente establecer <code>listaDeNúmeros^2</code>.)
+
Incluso basta con una única lista (que es, por otra parte, el empleo más frecuente). Es una alternativa más sintética que [[Comando Secuencia|Secuencia]] cuando lo único que se requiere es recorrer una lista.  
 +
{{Note|1= Por ejemplo
 +
* '''<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|Zip[] es similar a una construcción que en otros lenguajes de programación se conoce como  "mapa" .}}
+
{{Note|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'').}}

Revisión del 15:27 29 mar 2012


Zip[ <Expresión>, <Variable1>, <Lista1>, <Variable2>, <Lista2>, ...]
Crea la lista de objetos obtenidos al sustituir, en la expresión, las variables por elementos de las correspondientes listas.
La longitud de la lista resultante es el mínimo de las longitudes de las listas de entrada.
Ejemplo: Dados los puntos Q, R, S, T y U , Zip[PuntoMedio[P_A, P_B], P_A, {Q, R}, P_B, {S, T, U}], da por resultado una lista conteniendo los puntos medios de los segmentos QS, QT y QU así como los de RS, RT y RU.
Nota: Los elementos de cada lista deben ser del mismo tipo.

Incluso basta con una única lista (que es, por otra parte, el empleo más frecuente). Es una alternativa más sintética que Secuencia cuando lo único que se requiere es recorrer una lista.

Nota: Por ejemplo
  • 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).

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