Resumen: Entrega nº 58 del curso Bases de la programación Nivel I.
Codificación aprenderaprogramar.com: CU00159A

 

 

ACUMULADORES

El concepto de acumulador guarda relación estrecha con el de contador. Podríamos decir que el contador es un tipo específico de acumulador. Definiremos acumulador como un elemento cuyo contenido actual se genera a partir de su contenido precedente.

En general, los valores del acumulador se van generando a través de sumas (o restas) sucesivas. Casos particulares serían los de generación de valores a partir de multiplicaciones (o divisiones) u otras operaciones matemáticas. La expresión genérica de la evolución de un acumulador A sería:

 

Sumas sucesivas

Restas sucesivas

Multiplicaciones sucesivas

Divisiones sucesivas

A = A + B

A = A + C

A = A + D

.

.

.

A = A + X

A = A – B

A = A – C

A = A – D

.

.

.

A = A – X

A = A * B

A = A * C

A = A * D

.

.

.

A = A * X

A = A / B

A = A / C

A = A / D

.

.

.

A = A / X

 

 

Igual que contar, acumular es una tarea de gran importancia en la vida cotidiana. Consideremos si no los siguientes ejemplos:

 

Ejemplo 1. El encargado de una obra recibe un suministro de camiones con hormigón. El control del volumen recibido lo lleva a través de una tabla donde apunta hora de llegada, volumen servido por el camión que llega y volumen acumulado a lo largo del día.

Hora

Volumen servido m3

Acumulado m3

10:15

7

7

10:45

5

12

11:08

6

18

11:37

5

23

11:59

7

30

 

La fórmula que utiliza es: Acumulado = Volumen servido actual + Acumulado anterior.

A las 11:45 le llaman y le preguntan: ¿Cuánto hormigón hemos recibido hasta el momento? La respuesta es 23 metros cúbicos.

 

Ejemplo 2. Un almacenista vende bloques. Tras la venta, fija el nivel de existencias de modo que cuando éste baja de determinado nivel, hace un pedido de reposición.

Cliente

Cantidad retirada

Existencias

-

-

10000

Juan Hdez. Pérez

800

9200

Juan Pérez Hdez.

2000

7200

José Hdez. Pérez

150

7050

José Pérez Hdez.

500

6550

 

La fórmula que utiliza es: Existencias = Existencias anteriores – Cantidad retirada.

 

Ejemplo 3. Un cliente de un banco invierte 10000 €, que cada año le rinden unos intereses. El seguimiento de la evolución del capital lo hace como sigue:

Año

Tipo de interés aplicable tanto por 1

Capital acumulado

1

0,12

11200

2

0,16

12992

3

0,15

14940,80

4

0,21

18078,37

 

La fórmula que utiliza es:

Acumulado = Acumulado anterior * tipo + Acumulado anterior = Acumulado anterior * (1 + tipo)

 

Nota: Para un tipo fijo podríamos usar la fórmula

Acumulado = Dinero inicial * (1 + tipo) n donde n = número de años

 

Ejemplo 4. Un propietario expone la siguiente situación. Mi tatarabuelo tenía una finca de 7 hectáreas (70000 m2), la cual se ha ido dividiendo proporcionalmente por transmisión a herederos. Él tuvo seis hijos entre los que estaba mi bisabuela. Ella tuvo cuatro hijos, entre los que estaba mi abuelo. Mi abuelo tuvo cinco descendientes, entre ellos mi padre. Nosotros somos cuatro hermanos y yo tengo dos hijos. ¿Qué parte de la finca le toca a cada uno de mis hijos?

Generación

Herederos

Superficie por persona en m2

0

Tatarabuelo

-

70000

1

Bisabuelo

6

11666,67

2

Abuelo

4

2916,67

3

Padre

5

583,33

4

Hermano

4

145,83

5

Hijo

2

72,92

 

Se llega a que a cada hijo de este propietario le corresponderán 72,92 m2 (el 0,1 % de la superficie original) a través de la fórmula: Superficie por persona actual = Superficie por persona anterior / Herederos que participan en la división.

Los acumuladores, como los contadores, pueden ser “independientes”, acumular elementos o partidas que cumplen una condición, o servir para el control de bucles. Los peligros y “pautas de buen gobierno” de los contadores son aplicables a los acumuladores, por lo que no los repetiremos aquí.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

 

Descargar archivo: