Estructuras Repetitivas

3. Variables dependiendo de su Uso

3.2. Acumulador

El ACUMULADOR en programación es una variable (int o float) cuyo valor se incrementa (o decrementa en el caso de que se reste) con los valores que se procesan.

Este tipo de datos se suele utilizar para acumular los valores que se ingresan en cada iteración de un bucle repetitivo ("while" o "for").

El valor inicial (antes de que se comiencen a sumar los datos ingresados) es importante y por regla general SIEMPRE es 0 (cero) en caso de ser una variable numérica o "" (cadena vacía) en caso de ser una variable del tipo cadena de caracteres.

¿Por qué debemos "vaciar" la variable antes de acumular?:

Imaginemos una taza que queremos agregar leche, pero ya tiene algo de café. Al completar la taza con leche tendremos leche con algo de café pero no solamente leche.

Ejemplo de uso de la variable acumulador
La variable suma_total será el acumulador.

# Inicialización del acumulador
suma_total = 0 # <--Importante!! dejar en cero...
# Ingreso de datos y acumulación
n1 = float(input("Ingrese el primer número: "))
suma_total = suma_total + n1
n2 = float(input("Ingrese el segundo número: "))
suma_total = suma_total + n2
n3 = float(input("Ingrese el tercer número: "))
suma_total = suma_total + n3
# Mostrar resultado
print("La suma total es:", suma_total)
👀 ¿Qué pasó acá?

Cada vez que el usuario ingresa un número, ese valor se "acumula" (se suma) al valor anterior de suma_total. Este es un ejemplo sin estructuras repetitivas, pensado para practicar el concepto básico del acumulador.


🧠 Para pensar:
  • ¿Podrías usar el mismo concepto para acumular texto?


Ejemplo: Acumular frases ingresadas por el usuario


# Inicialización del acumulador
texto_acumulado = ""

# Primer ingreso
linea1 = input("Ingrese la primera línea de texto: ")
texto_acumulado = texto_acumulado + linea1 + "\n"
print("\nTexto acumulado hasta ahora:")
print(texto_acumulado)

# Segundo ingreso
linea2 = input("Ingrese la segunda línea de texto: ")
texto_acumulado = texto_acumulado + linea2 + "\n"
print("\nTexto acumulado hasta ahora:")
print(texto_acumulado)

# Tercer ingreso
linea3 = input("Ingrese la tercera línea de texto: ")
texto_acumulado = texto_acumulado + linea3 + "\n"
print("\nTexto acumulado hasta ahora:")
print(texto_acumulado)

# Resultado final
print("Texto final completo:")
print(texto_acumulado)

¿Qué estamos haciendo?
  1. Creamos un acumulador: texto_acumulado, inicializado como cadena vacía "".

  2. Vamos pidiendo al usuario ingresar texto en tres líneas.

  3. En cada paso, concatenamos el nuevo texto al acumulador usando +, y le agregamos un salto de línea \n.

  4. Mostramos el estado parcial del texto acumulado después de cada ingreso.





      • EL INCREMENTO/DECREMENTO EN LOS ACUMULADORES ES VARIABLE


  • ¿Por qué es útil agregar \n al final de cada línea?
  • ¿Cómo cambiaría este programa si quisiéramos agregar un número variable de líneas?