lunes, 21 de septiembre de 2015

Utilización de listas (List) y cálculo de promedios con foreach


Lenguaje: C#
Desarrollado para: Aplicación de Consola C#

Utilización de listas (List) y cálculo de promedios con foreach
  • Utilización de lista con tipos de datos primitivos y entidades de negocios.
  • Cálculo de promedio de edades por cada sexo.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AplicacionColecciones2
{
    public class Inicio
    {
        static void Main(string[] args)
        {
            //lista de tipo string - cadena de caracteres
            List listaString = new List();

            //add - agregar elementos del tipo indicado en la lista
            listaString.Add("Ejemplo");
            listaString.Add("Ejemplo 2");
            listaString.Add("Ejemplo 3");
            listaString.Add("Ejemplo 4");

            //Se recorre la lista con un for común
            for (int i = 0; i < 10; i++)
            {
                listaString.Add("Ejemplo " + i.ToString());
            }


            //lista de elementos de tipo int
            List listaNumeros = new List();

            //Se agregan 10 elementos en la lista
            for (int i = 0; i < 10; i++)
   {
       listaNumeros.Add(i);
   }

            //sumatoria de los valores de la lista de número 
            //se utiliza el 'foreach' para recorrer una colección sin conciderar el fin de una lista
            int suma = 0;
            foreach (int item in listaNumeros)
         {
                suma = suma + item;
         }

            //Lista de elementos tipo Alumno - entidad de negocios
            List listaAlumnos = new List();

            //Se llena el listado con alumnos creados en un for
            Alumno alumno = new Alumno();
            for (int i = 0; i < 5; i++)
            {
                alumno = new Alumno();
                alumno.NumeroMatricula = i;
                alumno.Nombres = "Pascual" + 1.ToString();
                alumno.Apellidos = "Arroyo";
                alumno.FechaRegistro = DateTime.Today;
                alumno.Edad = 10 + i;
                alumno.Sexo = (((i + 1) % 2) == 0) ? "F" : "M";

                listaAlumnos.Add(alumno);
            }

            Console.WriteLine("Promedio de edades por sexo");

            //Se recorre el listado con un foreach para calcular el promedio de edades por sexo
            double promedioF = 0.0;
            double promedioM = 0.0;
            int countF = 0;
            int countM = 0;

            foreach (Alumno al in listaAlumnos)
            {
                Console.WriteLine("Alumno "+al.Sexo+" - edad: "+al.Edad.ToString());

                if (al.Sexo.Equals("F")) {
                    ++countF;
                    promedioF += al.Edad;
                }
                else if (al.Sexo.Equals("M")) {
                    ++countM;
                    promedioM += al.Edad;
                }
            }


            Console.WriteLine("Promedio de edades por sexo");
            Console.WriteLine("");
            Console.WriteLine("Mujeres - Cantidad: "+countF.ToString() +" - Promedio: "+(promedioF/countF));
            Console.WriteLine("Hombres - Cantidad: " + countM.ToString() + " - Promedio: " + (promedioM / countM));
            Console.WriteLine("");
            Console.ReadKey();

        }
    }
}


Entidad de negocios - Alumno
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AplicacionColecciones2
{
    public class Alumno
    {
        public int NumeroMatricula { get; set; }
        public string Nombres { get; set; }
        public string Apellidos { get; set; }
        public DateTime FechaRegistro { get; set; }
        public string Sexo { get; set; }
        public int Edad { get; set; }
    }
}

No hay comentarios:

Publicar un comentario