martes, 19 de noviembre de 2013

Ejercicios Propuestos C# 01 (Resueltos)

Ejercicios resueltos de la plataforma C#, ya están revisados y son totalmente funcionales, son para evaluación y para comprender un poco la lógica de funcionamiento del sistema, cuando los vean por favor intenten comprenderlos y no solamente copien pues el éxito es aprender y no copiar quedándonos con la duda de lo que hacemos, suerte pequeños programadores.

01.- Todos los lunes, miércoles y viernes, una persona corre la misma ruta y cronometra los tiempos obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer la ruta en una semana cualquiera.


namespace Problema01
{
    class Program
    {
        static void Main(string[] args)
        {
            double Lun, Mar, Mi, total;
            Console.WriteLine("Ingrese los tiempos de recorrido en minutos");
            Console.Write("Tiempo recorrido el Lunes    : ");
            Lun = Double.Parse(Console.ReadLine());
            Console.Write("Tiempo recorrido el Martes   : ");
            Mar = Double.Parse(Console.ReadLine());
            Console.Write("Tiempo recorrido el Miércoles: ");
            Mi = Double.Parse(Console.ReadLine());
            Console.WriteLine("El promedio de tiempo es : {0}", total = (Lun + Mar + Mi) / 3);
        }
    }
}

02.- Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones.


namespace Problema02
{
    class Program
    {
        static void Main(string[] args)
        {
            double sBase, venta1, venta2, venta3, comision1, comision2, comision3, tComisiones, tSueldo;
            string nomVendedor;

            Console.Write(" Ingrese el nombre del vendedor : ");
            nomVendedor = Console.ReadLine();

            Console.Write("\n Ingrese el sueldo base : ");
            sBase = Double.Parse(Console.ReadLine());

            Console.Write("\n Ingrese valor de primera venta : ");
            venta1 = Double.Parse(Console.ReadLine());
            comision1 = venta1 * 0.10;

            Console.Write("\n Ingrese valor de segunda venta : ");
            venta2 = Double.Parse(Console.ReadLine());
            comision2 = venta2 * 0.10;

            Console.Write("\n Ingrese valor de tercera venta : ");
            venta3 = Double.Parse(Console.ReadLine());
            comision3 = venta3 * 0.10;

            tComisiones = comision1 + comision2 + comision3;
            tSueldo = sBase + tComisiones;

            Console.WriteLine("\n El total de comisiones es de : {0:C2}", tComisiones);
            Console.WriteLine(" El sueldo base mas las comisiones es de {0:C2}", tSueldo);
        }
    }
}

Nota: {0:C2}, es una estructura que nos envía nuestro resultado en tipo de dato de moneda.

03.- Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto deberá pagar finalmente por su compra.

namespace Problema03
{
    class Program
    {
        static void Main(string[] args)
        {
            double vCompra, descuento, total;
            Console.Write(" Ingrese el valor de la compra : ");
            vCompra = Double.Parse(Console.ReadLine());
            descuento = vCompra * 0.15;
            total = vCompra - descuento;
            Console.WriteLine(" El valor de descuento es : {0:c2}", descuento);
            Console.WriteLine(" El valor total de la compra es : {0:c2}", total);
        }
    }
}

04.- Un alumno desea saber cual será su calificación final en la materia de Algoritmos, dicha calificación se compone de los siguientes porcentajes:
 * 55% del promedio de sus tres calificaciones parciales.
 * 30% de la calificación del examen final.
 * 15% de la calificación de un trabajo final.

namespace Problema04
{
    class Program
    {
        static void Main(string[] args)
        {
            double notaPar1, notaPar2, notaPar3, notaExamen,
                notaTrabajo, tParciales, pEx, pNf;
            string nombreAlumno;

            Console.Write("Nombre del alumno : ");
            nombreAlumno = Console.ReadLine();

            Console.WriteLine("\n Ingrese notas Parciales");
            Console.Write("\n Nota No. 1 : ");
            notaPar1 = Double.Parse(Console.ReadLine());

            Console.Write(" Nota No. 2 : ");
            notaPar2 = Double.Parse(Console.ReadLine());

            Console.Write(" Nota No. 3 : ");
            notaPar3 = Double.Parse(Console.ReadLine());

            Console.Write("\n Ingrese nota del examen : ");
            notaExamen = Double.Parse(Console.ReadLine());
            Console.Write(" Ingrese nota del trabajo final : ");
            notaTrabajo = Double.Parse(Console.ReadLine());

            tParciales = ((notaPar1+notaPar2+notaPar3)/3)*0.55;
            pEx = notaExamen * 0.30;
            pNf = notaTrabajo * 0.15;

            Console.WriteLine("\n Las notas parciales equivalen a      : {0:G2}", tParciales);
            Console.WriteLine(" Las notas del examen equivale a        : {0:G2}", pEx);
            Console.WriteLine(" Las notas del trabajo final equivale a : {0:G2}", pNf);

        }
    }
}

05.- Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.


namespace Problema05
{
    class Program
    {
        static void Main(string[] args)
        {
            double nVarones, nMujeres, nTotal, pVarones, pMujeres;
            Console.Write("Escriba la cantidad de varones: ");
            nVarones= Double.Parse(Console.ReadLine());
            Console.Write("Escriba la cantidad de mujeres: ");
            nMujeres = Double.Parse(Console.ReadLine());
            nTotal = nVarones + nMujeres; //Suma de la cantidad de personas.
            pVarones = nVarones * 100 / nTotal; //Cálculo del porcentaje de Marones.
            pMujeres = nMujeres * 100 / nTotal; //Cálculo del porcentaje de Mujeres.
            Console.WriteLine("De {0} estudiantes, un {1}% son varones y un {2}% mujeres",
                nTotal, Math.Round(pVarones,0), Math.Round(pMujeres,0)); 
        }
    }
}

Nota: Math.Round, método para devolver valores redondeados.

06.- Realizar un algoritmo que calcule la edad de una persona.

namespace Problema06
{
    class Program
    {
        static void Main(string[] args)
        {
            int anioActual, anioNacimiento, edad;
            string nombre;
            Console.Write("Ingrese el nombre de la persona: ");
            nombre = Console.ReadLine();
            Console.Write("¿En qué año estámos?: ");
            anioActual = Int32.Parse(Console.ReadLine());
            Console.Write("¿Cuál es el año de nacimiento?: ");
            anioNacimiento = Int32.Parse(Console.ReadLine());
            Console.WriteLine("{0} tiene {1} años de edad", nombre, 
                edad = anioActual - anioNacimiento);
        }
    }
}

07.- Dada una cantidad en pesos, obtener la equivalencia en dólares, asumiendo que la unidad cambiaria es un dato desconocido.

namespace Programa07
{
    class Program
    {
        static void Main(string[] args)
        {
            double cPesos, eqDolar, uCambio;

            Console.Write(" Ingrese cantidad en pesos : ");
            cPesos = Double.Parse(Console.ReadLine());

            Console.Write("\n Ingrese unidad cambiaria a dólares : ");
            uCambio= Double.Parse(Console.ReadLine()); //Lee la unidad cambiaria...

            eqDolar = cPesos / uCambio; // Divide la cantidad en pesos para la unidad de cambio.

            Console.WriteLine("\n {0} pesos equivalen a {1:C2} dólares", cPesos, eqDolar);
        }
    }
}

08.- Leer un número y escribir el valor absoluto del mismo.

namespace Problema08
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                decimal num;
                Console.Write("Escriba un numero : ");
                num = Decimal.Parse(Console.ReadLine());

                Console.WriteLine("El valor absoluto de |{0}| es {1}",
                    num, Math.Abs(num)); 
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

        }
    }
}

Nota: Math.Abs, es un método para obtener el valor absoluto de un número, Try-Catch, método para manipular las excepciones desde nuestro programa.

09.- La presión, el volumen y la temperatura de una masa de aire se relacionan por la formula:
 * masa = (presión * volumen)/(0.37 * (temperatura + 460))


namespace Programa09
{
    class Program
    {
        static void Main(string[] args)
        {
            double nPresion, nVolumen, nTemperatura, masa;

            Console.Write("Ingrese la presión     : ");
            nPresion = Double.Parse(Console.ReadLine());

            Console.Write("Ingrese el volumen     : ");
            nVolumen = Double.Parse(Console.ReadLine());

            Console.Write("Ingrese la temperatura : ");
            nTemperatura = Double.Parse(Console.ReadLine());

            masa = (nPresion * nVolumen) / (0.37 * (nTemperatura + 460));

            Console.WriteLine("La masa es = {0}", masa);

        }
    }
}

10.- Calcular el número de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, si la formula es:
 * num. pulsaciones = (220 - edad)/10


namespace Programa10
{
    class Program
    {
        static void Main(string[] args)
        {
            int edad;
            double nPulsaciones;

            Console.Write("Escriba su edad : ");
            edad = Int32.Parse(Console.ReadLine());

            nPulsaciones = (220 - edad) / 10;

            Console.WriteLine("El número de pulsaciones es {0}", nPulsaciones);
        }
    }
}

11.- Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.


namespace Programa11
{
    class Program
    {
        static void Main(string[] args)
        {
            double salAnt, salNuevo;
            string nomObrero;
            Console.Write(" Ingrese el nombre del obrero : ");
            nomObrero = Console.ReadLine();
                        
            Console.Write("\n Escriba su salario anterior : ");
            salAnt = Double.Parse(Console.ReadLine());

            salNuevo = salAnt + salAnt * 0.25;
            Console.WriteLine("\n El nuevo salario a recibir es : {0:C2}", salNuevo);
        }
    }
}

12.- En un hospital existen tres áreas: Ginecología, Pediatría, Traumatologia, el presupuesto anual del hospital se reparte conforme a la sig. tabla:
Área                  Porcentaje del presupuesto
Ginecología         40%
Traumatologia    30%
Pediatría             30%
Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal.

 
namespace Problema12
{
    class Program
    {
        static void Main(string[] args)
        {
            double montoPresupuesto, areaGineco, areaTrauma, areaPedia;
            Console.Write("Ingrese el presupuesto anual para el hospital: ");
            montoPresupuesto = Double.Parse(Console.ReadLine());
            Console.WriteLine("El monto de presupuesto para Ginecología es de   {0:C2}", 
                areaGineco=montoPresupuesto * 0.40);
            Console.WriteLine("El monto de presupuesto para Traumatología es de {0:C2}",
                areaTrauma = montoPresupuesto * 0.30);
            Console.WriteLine("El monto de presupuesto para Pedriatría es de    {0:C2}",
                areaPedia = montoPresupuesto * 0.30);
        }
    }
}

13.- El dueño de una tienda compra un artículo a un precio determinado. Obtener el precio en que lo debe vender para obtener una ganancia del 30%.

 
namespace Programa13
{
    class Program
    {
        static void Main(string[] args)
        {
            double precArt, precVenta;
            
            Console.Write("\n Ingrese el valor del artículo : ");
            precArt = Double.Parse(Console.ReadLine());

            precVenta = precArt + precArt * 0.30;
            Console.WriteLine("\n Precio a vender con ganancia de 30% : {0:C2}", precVenta);
        }
    }
}

14.- Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganara después de un mes si el banco paga a razón de 2% mensual.


namespace Problema14
{
    class Program
    {
        static void Main(string[] args)
        {
            double capital, ganancia;
            Console.Write("Ingrese el capital para invertir : ");
            capital = Double.Parse(Console.ReadLine());
            ganancia = (capital * 2) / 100; //Cálculo del 2% por un mes.
            Console.WriteLine("Ganancia por 2% interes en un mes: {0:C}", ganancia);  
            Console.WriteLine("Capital total en un mes: {0:C}",
                ganancia + capital);
        }
    }
}

15.- Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta, obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida.


namespace Problema15
{
    class Program
    {
        static void Main(string[] args)
        {
            double cantPer1, cantPer2, cantPer3, cantTot;
            string persona1, persona2, persona3;

            Console.CursorTop = 3;
            Console.Write("Ingrese el nombre de la primera persona: ");
            persona1 = Console.ReadLine();
            Console.Write("Ingrese el monto de su inversión: ");
            cantPer1 = Double.Parse(Console.ReadLine());

            Console.CursorTop = 6;
            Console.Write("Ingrese el nombre de la segunda persona: ");
            persona2 = Console.ReadLine();
            Console.Write("Ingrese el monto de su inversión: ");
            cantPer2 = Double.Parse(Console.ReadLine());

            Console.CursorTop = 9;
            Console.Write("Ingrese el nombre de la tercera persona: ");
            persona3 = Console.ReadLine();
            Console.Write("Ingrese el monto de su inversión: ");
            cantPer3 = Double.Parse(Console.ReadLine());

            cantTot = cantPer1 + cantPer2 + cantPer3;
            double porcentaje = cantTot;
            
            porcentaje = cantPer1 * 100 / cantTot;
            Console.CursorTop = 12;
            Console.WriteLine("{0} realizó el {1}% de la inversión", 
                persona1, Math.Round(porcentaje,2)); 

            porcentaje = cantPer2 * 100 / cantTot;
            Console.CursorTop = 14;
            Console.WriteLine("{0} realizó el {1}% de la inversión", 
                persona2, Math.Round(porcentaje, 2));

            porcentaje = cantPer3 * 100 / cantTot;
            Console.CursorTop = 16; 
            Console.WriteLine("{0} realizó el {1}% de la inversión", 
                persona3, Math.Round(porcentaje, 2));

        }
    }
}

16.- Un alumno desea saber cual será su promedio general en las tres materias mas difíciles que cursa y cual será el promedio que obtendrá en cada una de ellas. Estas materias se evalúan como se muestra a continuación:
 * La calificación de Matemáticas se obtiene de la sig. manera:
 * Examen 90%
 * Promedio de tareas 10%
 * En esta materia se pidió un total de tres tareas.


 * La calificación de Física se obtiene de la sig. manera:
 * Examen 80%
 * Promedio de tareas 20%
 * En esta materia se pidió un total de dos tareas.


 * La calificación de Química se obtiene de la sig. manera:
 * Examen 85%
 * Promedio de tareas 15%
 * En esta materia se pidió un promedio de tres tareas.


namespace Programa16
{
    class Program
    {
        static void Main(string[] args)
        {
            double tareaMate_1, tareaMate_2, tareaMate_3, exMate, pMater, promMate;

            Console.CursorLeft = 30;
            Console.WriteLine("NOTAS DE MATEMATICAS");
            
            Console.Write(" Nota de tarea No. 1 : ");
            tareaMate_1 = Double.Parse(Console.ReadLine());
            Console.Write(" Nota de tarea No. 2 : ");
            tareaMate_2 = Double.Parse(Console.ReadLine());
            Console.Write(" Nota de tarea No. 3 : ");
            tareaMate_3 = Double.Parse(Console.ReadLine());

            Console.Write("\n Nota de examen : ");
            exMate = Double.Parse(Console.ReadLine());

            pMater = ((tareaMate_1 + tareaMate_2 + tareaMate_3) / 3) * 0.1;
            exMate = exMate * 0.9;

            Console.WriteLine("\n El promedio de matemáticas es : {0:G2}", 
                promMate = exMate + pMater);

            double tareaFisica_1, tareaFisica_2, exFisica, pFisica, promFisica;

            Console.CursorLeft = 32;
            Console.WriteLine("NOTAS DE FISICA");

            Console.Write(" Nota de tarea No. 1 : ");
            tareaFisica_1 = Double.Parse(Console.ReadLine());
            Console.Write(" Nota de tarea No. 2 : ");
            tareaFisica_2 = Double.Parse(Console.ReadLine());

            Console.Write("\n Nota de examen : ");
            exFisica = Double.Parse(Console.ReadLine());

            pFisica = ((tareaFisica_1 + tareaFisica_2) / 2) * 0.2;
            exFisica = exFisica * 0.8;

            Console.WriteLine("\n El promedio de matemáticas es : {0:G2}",
                promFisica = exFisica + pFisica);

            double tareaQuim_1, tareaQuim_2, tareaQuim_3, exQuim, pQuim, promQuim;

            Console.CursorLeft = 31;
            Console.WriteLine("NOTAS DE QUIMICA");

            Console.Write(" Nota de tarea No. 1 : ");
            tareaQuim_1 = Double.Parse(Console.ReadLine());
            Console.Write(" Nota de tarea No. 2 : ");
            tareaQuim_2 = Double.Parse(Console.ReadLine());
            Console.Write(" Nota de tarea No. 3 : ");
            tareaQuim_3 = Double.Parse(Console.ReadLine());

            Console.Write("\n Nota de examen : ");
            exQuim = Double.Parse(Console.ReadLine());

            pQuim = ((tareaQuim_1 + tareaQuim_2 + tareaQuim_3) / 3) * 0.15;
            exQuim = exQuim * 0.85;

            Console.WriteLine("\n El promedio de matemáticas es : {0:G2}",
                promQuim = exQuim + pQuim);

            double pGeneral;
            Console.WriteLine("\n El promedio general de las tres materias es {0:G2} ", 
                pGeneral = (promMate + promFisica + promQuim)/3);
        }
    }
}