3  Bucles

3.1 ¿Qué es un bucle?

En R y Python, un bucle es una estructura de control que permite ejecutar un conjunto de instrucciones repetidamente mientras se cumple una condición específica. Los bucles son fundamentales en programación y se utilizan para automatizar tareas repetitivas.

3.1.1 Bucle en R

En R, un bucle es una estructura de control de flujo que permite repetir un bloque de código mientras se cumple una condición específica. Los bucles en R se utilizan para automatizar tareas repetitivas, como la iteración sobre elementos en una secuencia o la ejecución de código mientras una condición es verdadera. Los dos tipos de bucles más comunes en R son for y while, que ofrecen flexibilidad para diferentes situaciones de programación.

3.1.2 Bucle en Python

En Python, un bucle es una estructura de control que permite ejecutar repetidamente un conjunto de instrucciones mientras se cumple una condición dada. Los bucles en Python se utilizan para automatizar tareas que requieren repeticiones, como la iteración sobre elementos en una secuencia o la ejecución de código mientras una condición es verdadera. Los bucles for y while son las estructuras de bucle más utilizadas en Python y ofrecen versatilidad para abordar diversas situaciones de programación.

3.2 Construcción de bucles

3.2.1 Construcción de bucles en R

La “construcción de bucles” en R se refiere al proceso de crear y controlar estructuras de bucle, como for y while, con el propósito de ejecutar un conjunto de instrucciones de forma repetitiva. Los bucles en R se utilizan para automatizar tareas repetitivas y para realizar iteraciones sobre elementos en una secuencia, como vectores o listas. La construcción de bucles permite a los programadores controlar la repetición de un bloque de código con base en una condición específica o en el número de iteraciones deseadas.

3.2.2 Construcción de bucles en Python

La “construcción de bucles” en Python se refiere al proceso de crear y controlar estructuras de bucle, como for y while, con el fin de ejecutar un conjunto de instrucciones de manera repetitiva. Los bucles en Python se utilizan para automatizar tareas repetitivas y para realizar iteraciones sobre elementos en una secuencia, como listas o rangos. La construcción de bucles permite a los programadores controlar la repetición de un bloque de código en función de una condición dada o de un número específico de iteraciones.

3.3 Tipos de Bucles

3.3.1 Bucles For

El bucle “for” es una estructura de control de flujo en la programación que se utiliza para iterar o recorrer una secuencia de elementos (como una lista, tupla, rango o cualquier otra estructura de datos iterable) y ejecutar un conjunto de instrucciones para cada elemento de la secuencia. La idea principal es repetir un bloque de código un número específico de veces o para cada elemento en una colección.

Ejemplo en R:

for (i in 1:5) {
  cat("El valor de i es:", i, "\n")
}
El valor de i es: 1 
El valor de i es: 2 
El valor de i es: 3 
El valor de i es: 4 
El valor de i es: 5 

Ejemplo en Python:

for i in range(1, 6):
    print("El valor de i es:", i)
El valor de i es: 1
El valor de i es: 2
El valor de i es: 3
El valor de i es: 4
El valor de i es: 5

3.3.2 Bucles While

Un bucle while es una estructura de control de flujo en programación que se utiliza para repetir un conjunto de instrucciones mientras una condición se cumple (es decir, mientras la condición es verdadera). El bucle “while” se repite mientras la condición especificada es evaluada como verdadera. Si en algún momento la condición se evalúa como falsa, el bucle se detiene y la ejecución continúa con el código después del bucle.

Ejemplo en R:

i <- 1
while (i <= 5) {
  cat("El valor de i es:", i, "\n")
  i <- i + 1
}
El valor de i es: 1 
El valor de i es: 2 
El valor de i es: 3 
El valor de i es: 4 
El valor de i es: 5 

Ejemplo en Python:

i = 1
while i <= 5:
    print("El valor de i es:", i)
    i += 1
El valor de i es: 1
El valor de i es: 2
El valor de i es: 3
El valor de i es: 4
El valor de i es: 5

3.3.3 Bucles For In

Un bucle “for-in” es una estructura de control que se utiliza para iterar a través de los elementos de una secuencia o una colección en muchos lenguajes de programación. La idea principal es recorrer una secuencia de elementos y ejecutar un conjunto de instrucciones para cada elemento de la secuencia.

Ejemplo en R:

mi_lista <- list("manzana", "banana", "cereza")
for (fruta in mi_lista) {
  cat("La fruta es:", fruta, "\n")
}
La fruta es: manzana 
La fruta es: banana 
La fruta es: cereza 

Ejemplo en Python:

mi_lista = ["manzana", "banana", "cereza"]
for fruta in mi_lista:
    print("La fruta es:", fruta)
La fruta es: manzana
La fruta es: banana
La fruta es: cereza

3.3.4 Bucles con Instrucciones Break y Continue

Las instrucciones break y continue son utilizadas en bucles para controlar el flujo de ejecución.

Instrucción break en un bucle: La instrucción break se utiliza para salir inmediatamente de un bucle, independientemente de si la condición del bucle sigue siendo verdadera o falsa. Esto permite detener el bucle antes de que todas las iteraciones se completen. Instrucción continue en un bucle: La instrucción continue se utiliza para omitir la iteración actual y continuar con la siguiente iteración del bucle, sin ejecutar el código restante dentro del bucle para esa iteración.

Ejemplo en R:

for (i in 1:10) {
  if (i == 5) {
    next  # Equivalente a continue en Python
  }
  if (i == 8) {
    break
  }
  cat("El valor de i es:", i, "\n")
}
El valor de i es: 1 
El valor de i es: 2 
El valor de i es: 3 
El valor de i es: 4 
El valor de i es: 6 
El valor de i es: 7 

Ejemplo en Python:

for i in range(1, 11):
    if i == 5:
        continue
    if i == 8:
        break
    print("El valor de i es:", i)
El valor de i es: 1
El valor de i es: 2
El valor de i es: 3
El valor de i es: 4
El valor de i es: 6
El valor de i es: 7

3.4 Declaraciones de control

En R y Python, las declaraciones de control de bucles se utilizan para influir en el flujo de ejecución dentro de un bucle. A continuación mostraremos ejemplos de algunas de las declaraciones de control de bucles más comunes en ambos lenguajes:

3.4.1 Declaración break en R y Python:

La declaración break se utiliza para salir de un bucle inmediatamente cuando se cumple una condición.

Ejemplo en R:

for (i in 1:10) {
  if (i == 5) {
    break
  }
  cat("El valor de i es:", i, "\n")
}
El valor de i es: 1 
El valor de i es: 2 
El valor de i es: 3 
El valor de i es: 4 

Ejemplo en Python:

# Bucle for en Python con declaración break
for i in range(1, 11):
    if i == 5:
        break
    print("El valor de i es:", i)
El valor de i es: 1
El valor de i es: 2
El valor de i es: 3
El valor de i es: 4

Ambos ejemplos detendrán el bucle cuando i sea igual a 5.

3.4.2 Declaración next en R (equivalente a continue en Python):

En R, la declaración next se utiliza para omitir la iteración actual y continuar con la siguiente iteración del bucle, similar a la declaración continue en Python.

Ejemplo en R:

for (i in 1:5) {
  if (i == 3) {
    next
  }
  cat("El valor de i es:", i, "\n")
}
El valor de i es: 1 
El valor de i es: 2 
El valor de i es: 4 
El valor de i es: 5 

Ejemplo en Python:

for i in range(1, 6):
    if i == 3:
        continue
    print("El valor de i es:", i)
El valor de i es: 1
El valor de i es: 2
El valor de i es: 4
El valor de i es: 5

En ambos ejemplos, la iteración correspondiente a i igual a 3 se omitirá.

Estas declaraciones de control de bucles permiten influir en el flujo de ejecución dentro de los bucles