2.3 Contadores y Acumuladores en programación

Referencia: Rodríguez 3.3.1 p24, Van Rossum 9.3.3 p73,  Downey 22.9

¿Qué es un contador  en programación? ¿Qué es un acumulador en programación? Son conceptos de uso cotidiano que son el resultado de la suma de una serie de números. Los conceptos se puede explicar con los siguientes ejemplos:

.. [ contador ] [ acumulador]


¿Qué es un contador en programación?

Al visitar el departamento de servicio al cliente en una empresa, los clientes para obtener un turno deben tomar un ticket. Un letrero electrónico indica el número del cliente que se está atendiendo, luego éste número cambia incrementándose en 1 para anunciar el siguiente turno a ser atendido.

contadores y acumuladores en programación
El ejemplo de uso práctico de un contador permite observar dos características:

  • Siempre tienen un valor inicial
  • El valor nuevo del contador es el resultado del valor anterior más una constante.

Al inicio del día, el contador de tickets debe ser inicializado, de preferencia con 0. Cuando un puesto de atención está listo para atención, el contador se incrementa en uno, se escucha una alerta y el cliente se puede acercar con el ticket del primer turno.

Las características descritas en forma algorítmica se escriben como:

contador ← 0
contador ← contador + 1

La expresión de la segunda línea se puede leer como: «valor nuevo” de contador es el resultado del «valor anterior» incrementando en 1.

Desde luego que los contadores  puede sumarse un valor diferente a 1, pero siempre será un valor constante, como cuando se cuenta de dos en dos. contador decreciente en programación

La variable contador también pueden tener cambios de forma ascendente, o disminuir desde un valor inicial (decreciente).

Un ejemplo de contador decreciente se observa en cronometro del microondas para calentar alimentos. El valor inicial son los segundos que permanecerá encendido. El contador de tiempo disminuye en uno cada segundo y al llegar a 0 se apaga el microondas.

Ejemplo de contador con instrucciones en Python:

>>> contador = 0
>>> contador = contador + 1
>>> contador
1

.. [ contador ] [ acumulador]


¿Qué es un acumulador en programación?

Un acumulador en programación es una versión ampliada de un contador. El acumulador  tiene las mismas características que un contador excepto el valor de incremento que es un valor variable. acumulador en programación como ahorro

Por ejemplo, una cuenta de ahorros puede representarse en un algoritmo mediante un acumulador, pues quien ahorra no siempre lo hará con una cantidad fija en la cuenta: un día deposita 10, otro día deposita 30, otro deposita 5.

Con el ejemplo de ahorro, se puede determinar que en el acumulador no siempre se añade un valor positivo, pues cuando se hace un retiro, se puede interpretar como que el valor añadido es negativo.

Las características descritas para forma algorítmica se escriben como:

acumulador ← 0
acumulador ← acumulador + X

La expresión del literal b se para una cuenta puede leer como: «saldo nuevo” de acumulador es el «saldo anterior» de acumulador considerando el deposito (+x) o retiro (-x).

Recuerde que:

El concepto de asignar es usado en algoritmos “=” carece de sentido matemático.

Si tomamos como ejemplo el acumulador, si se expresa como una igualdad, se interpretaría como:

acumulador = acumulador + X
acumulador - acumulador = X
0 = X

Cuando en el algoritmo se quiere expresar en realidad es una asignación, por lo que se utiliza el símbolo “←”

acumulador ← acumulador + X

Esta aclaración permite formalizar la diferencia de comparación de igualdad “=” usada dentro de los condicionales.

Ejemplo de acumulador en Python:

>>> acumulador = 0
>>> acumulador = acumulador + 4.5
>>> acumulador
4.5
>>> acumulador = acumulador - 1.3
>>> acumulador
3.2

En la siguiente página se presentan algunos ejemplos y ejercicios resueltos sobre contadores y acumuladores de exámenes anteriores.

[ contador ] [ acumulador]