martes, 24 de septiembre de 2013

2.2. Los Acumuladores

Los Acumuladores


Estas variables tienen un trabajo especifico, como su nombre lo indica su misión es acumular ciertas cantidades, por ejemplo si quisiéramos sumar los números del 1 al 5, nosotros haríamos los siguiente: 1+2+3+4+5, esto es fácil en una lista de numero pequeña pero si hablamos de 1000 números las cosas cambian. La forma de usar un acumulador tiene la siguiente sintaxis:

Sintaxis:

acumulador = 0
Bucle
        acumulador = acumulador + x
FinBucle

acumulador = 0; esto significa que el acumulador se esta inicializando, normalmente en CERO.
acumulador = acumulador + x; aquí actualizamos el acumulador e ingrementamos el valor de x.

Los acumuladores son muy usados para calcular sumatorias, sumas de series, para hallar totales.

Ejercicio 1. Desarrollar un programa para hallar la suma de los números del 1 al 10.

Análisis

Esto significa que nos piden hacer el siguiente calculo, 1+2+3+4+5+6+7+8+9+10, como podemos ver los números del 1 al 10 los podemos generar con el bucle PARA, en este caso k es el contador del bucle, por tanto.
Modelo: suma = suma + k, donde suma inicia en cero y k varia su valor desde 1 hasta 10 de uno en uno.

Diseño

Algoritmo SumaDeNumeros
Inicio
        Real suma, k
        suma = 0
        Para k = 1 Hasta 10
                suma = suma + k
        FinPara
        Escribir(suma)
Fin

Código Fuente en C#

         public static void Main(string[] args)
        {
            double suma, k;
            suma = 0;
            for(k = 1; k <= 10; k++)
            {
                suma = suma + k;
            }
            Console.WriteLine("La suma de los números del 1 al 10 es: " + suma);
            Console.ReadLine();
        }

Notas

Puedes cambiar el valor de 10 por cualquier numero, e incluso modificar el programa para que pueda calcular la suma de los números de 1 hasta el valor que quieras (n), haciendo esta modificación tenemos:
         public static void Main(string[] args)
        {
            double suma, k, n;
            Console.WriteLine("♣♣♣♣ SUMA DE LOS NUMEROS DESDE 1 HASTA N ♣♣♣♣");
            Console.WriteLine("Ingresa el valor de N: ");
            n = double.Parse( Console.ReadLine());
            suma = 0;
            for(k = 1; k <= n; k++)
            {
                suma = suma + k;
            }
            Console.WriteLine("La suma de los numeros es:" + suma);
            Console.ReadLine();
        }

Ejercicio 2. Hacer un programa para sumar n numeros.

Análisis

Podemos ponernos en el ejemplo que tengamos 4 números, entonces lo que debemos hacer es: 45 + 98 + 33 + 14, entonces aquí usamos un acumulador y como los números cambian y pueden ser cualquier numero necesitamos leerlos, también debemos tener en cuenta la cantidad de números, en este caso 4 que podemos llamar n.
Modelo: total = total + numero, donde total es el acumulador y numero un dato ingresado.

Diseño

Algoritmo CalculoDelTotal
Inicio
        Entero n, k
        Real numero, total
        total = 0
        Leer(n)
        Para k = 1 Hasta n
                Leer(numero)
                total = total + numero
        FinPara
        Escribir(total)
Fin

Codigo Fuente en C#

         public static void Main(string[] args)
        {
            int n, k;
            double numero, total;
            total = 0;
            Console.WriteLine("♣♣♣ PROGRAMA PARA SUMAR N NUMEROS ♣♣♣");
            Console.Write("Ingresa N: ");
            n = int.Parse(Console.ReadLine());
            Console.WriteLine("******** INGRESO DE DATOS *********");
            for(k = 1; k <= n; k++)
            {
                Console.Write("=====> Ingresa el numero: ");
                numero = double.Parse(Console.ReadLine());
                total = total + numero;
            }
            Console.WriteLine("******** RESULTADO FINAL *********");
            Console.WriteLine("La suma de los numeros es: " + total);
            Console.ReadLine();
        }

Notas

En el programa se han añadido mensajes que facilitan el manejo del programa y el mostrar los resultados, esto en un programa es muy importante.



Figura de Sumatorias Numéricas

Ejercicio 3. Resolver la sumatoria Nº 2 de la figura. 

Análisis

Ya tenemos el modelo, este es: g = g + (i/(i+1)), donde g es el acumulador, i es el contador del bucle que va desde 1 hasta n.

Diseño

Algoritmo SegundoEjercicioDeFigura
Inicio
        Entero n, i
        Real g
        g = 0
        Leer(n)
        Para i = 1 Hasta n
                g = g + (i/(i+1))
        FinPara
        Escribir(g)
Fin

Código Fuente en C#

         public static void Main(string[] args)
        {
            int n, i;
            double g;
            g = 0;
            Console.WriteLine("*********** SUMATORIA EJERCICIO 2********** ");
            Console.Write("Ingresa el valor de n: ");
            n = int.Parse(Console.ReadLine());
            for(i = 1; i <= n; i++)
            {
                g = g + (i/(i+1.0));
            }
            Console.WriteLine("*********** RESULTADO ***********");
            Console.WriteLine("La sumatoria es: " + g);
            Console.ReadLine();
        }

Notas

Las sumatorias también se usan para el calculo de algunas series.

  • Codifique un programa para calcular el promedio de n notas.
  • Una tienda desea calcular el precio total de ventas, para ello ingresa las cantidades y los precios unitarios, el programa debe calcular el total, por ejemplo: 5 x 1.22 + 3 x 5.1, el 5 y el 3 son las cantidades y el 1.22 y el 5.1 son los precios unitarios, esto debe sumarse, este ejemplo solo es con dos ventas, el programa debe resolverlo para n ventas.
  • Haga un programa para la serie 4 de la figura.
  • Desarrolle un programa para la serie 6 de la figura.


No hay comentarios:

Publicar un comentario en la entrada