Repetitivas Last updated: 01-06-2022
¿Qué son las repetitivas? ¿Qué son las repetitivas? ¿Qué son las repetitivas? ¿Qué son las repetitivas? ¿Qué son las repetitivas? ¿Qué son las repetitivas?
Perdón, se me quedó la repetitiva activada...
Empecemos. A veces es necesario hacer una misma tarea una y otra vez. Por ejemplo... cuando escuchamos música en Spotify, podemos activar la opción para que la app nos toque la misma canción una y otra vez.
Lo mismo sucede cuando vas a ver tus seguidores Instagram. La app tiene que hacer muchas veces lo mismo: ir a buscar un seguir y mostrarte su foto de perfil. Y esa acción se repite por cada uno de tus seguidores.
Entonces ¿cómo se hace eso? ¿Hay una persona mirando si tienen que enviar la misma canción una y otra vez? ¿O hay un programador que está contando cuántos contactos tenes y después tantas instrucciones como seguidores tengas?
No, lo que hay, es una estructura de código que permite repetir la ejecución de una misma terea hasta que se cumplan determinadas condiciones. Genial, ¿no?
Desafío #01
Dipli quiere saludar y luego, dar UN paso hacia adelante y finalmente avisar que arribó a destino... fácil ¿verdad? Son solo tres instrucciones.
xxxxxxxxxx
alert("Hola! aquí comienza mi viaje hacia lo desconocido")
alert("MOVER ADELANTE")
alert("Ya llegué!")
Desafío #02
Ahora Dipli quiere hacer lo mismo pero esta vez...dar 1500 pasos hacia adelante... ¿y ahora? ¡¿que hacemos?! ¿Te animás a resolver esto? Te ayudamos con los primeros 10 pasitos...
xxxxxxxxxx
//área inicialización, solo se repite una vez
alert("Hola, mi nombre es Dipli y aquí comienza mi viaje!")
//área de repetición
alert("MOVER ADELANTE #1!")
alert("MOVER ADELANTE #2!")
alert("MOVER ADELANTE #3!")
alert("MOVER ADELANTE #4!")
alert("MOVER ADELANTE #5!")
alert("MOVER ADELANTE #6!")
alert("MOVER ADELANTE #7!")
alert("MOVER ADELANTE #8!")
alert("MOVER ADELANTE #9!")
alert("MOVER ADELANTE #10!")
//área de fin
alert("Llegué!!!")
Para Pensar
Así es. Necesitamos una nueva herramienta que nos permita resolver situaciones donde un mismo conjunto de instrucciones deben ejecutarse una y otra vez. Esa herramieta la llamamos estructura repetitiva.
Todos los lenguajes de programación suministran alguna forma de estructura repetitiva. Sin ellas, no podríamos controlar el flujo de ejecución de nuestros programas.
Para pensar: ¿Cómo te imaginás que podría ser una estructura repetitiva?
Dos elementos importantes a la hora de repetir
Parece razonable suponer que, en general, para hacer muchas veces lo mismo vamos a necesitar dos cosas: un área de repetición y una condición de repetición. El área de repetición es la parte de nuestro código donde ponemos las instucciones que queremos que se repitan.
¿Cómo contamos caramelos en un frasco?
Las estructuras repetitivas funcionan muy parecido a las estructuras mentales que construimos en nuestra mente cuando contamos caramelos de un frasco. Ya sea que estemos repetiendo canciones de una playlist, contando pasos de un robot, o contando caramelos de un frasco, siempre necesitamos 3 elementos:
INICIALIZACIÓN
¿Que hacemos cuando contamos caramelos de un frasco? Primero seleccionamos un valor de inicialización, es decir, un número desde el que comenzamos a contar. Es el número #0 o a veces el #1.
CONDICIÓN DE REPETICIÓN
Luego, definimos una condición de repetición, es decir, una expresión que debe cumplirse para seguir repitiendo, en el caso de los caramelos sería: "mientras queden caramelos en el frasco", o lo que es lo mismo, "mientras la cantidad de caramelos en el frasco sea mayor a cero".
INCREMENTO
Finalmente, necesitamos un incremento. El incremento nos permite saber cuándo parar, ya que sin el, la condición de repetición siempre sería verdadera y nunca se detendría nuestra repetitiva. El incremento para la cuenta de caramelos sería de a una unidad.
Contadores
Un contador es una variable a la que siempre le sumamos una unidad. Por ejemplo, si queremos contar pasos de Dipli, podemos tener una variable llamada contadorPasos y sumarle 1 cada vez que dipli de un paso.
xxxxxxxxxx
//inicalización
contadorPasos=0
alert("contadorPasos vale "+ contadorPasos)
//incremento
contadorPasos = contadorPasos + 1
alert("ahora contadorPasos vale "+ contadorPasos)
//incremento
contadorPasos++
alert("y ahora contadorPasos vale "+ contadorPasos)
Acumuladores
Un acumulador es una variable a la que siempre le asignamos el valor que tenía más una determinada cantidad que puede ser mayor a 1. Por ejemplo, si queremos contar la cantidad de pasos que dio cada robot amigo de Dipli, podemos tener una variable llamada acumuladorAmigos y sumarle grupos de amigos.
xxxxxxxxxx
//inicalización
acumuladorPasosAmigos=0
alert("acumuladorPasosAmigos vale "+ acumuladorPasosAmigos)
//incremento
acumuladorPasosAmigos = acumuladorPasosAmigos + 19
alert("ahora acumuladorPasosAmigos vale "+ acumuladorPasosAmigos)
//incremento
acumuladorPasosAmigos = acumuladorPasosAmigos + 5
alert("y ahora acumuladorPasosAmigos vale "+ acumuladorPasosAmigos)