Mis pequeños avances en C#: Condicionales y While Resueltos

MIS PEQUEÑOS AVANCES EN C#: CONDICIONALES Y WHILE RESUELTOS

Resolviendo ejercicios de condicionales y while en el Lenguaje C#

 

Buenas a todos y bienvenidos a World Of Bernabe. En esta entrada compartiré con ustedes/vosotros mis avances en el lenguaje de programación C#. Estos últimos días he hecho alrededor de 18 ejercicios propuestos por la página de tutoriales de programación ya.
Aquí os dejo el enlace a la página, y al tutorial en el lenguaje C#:
http://www.tutorialesprogramacionya.com/csharpya/index.php?inicio=1

http://www.tutorialesprogramacionya.com/

La verdad es que este lenguaje, con nombre de nota musical (en inglés C es la nota Do, y C# es Do sostenido) me está enganchando. Es cierto que aún estoy en un estadio muy básico, pero me está haciendo entender incluso otros lenguajes como JavaScript y Python.

Los últimos ejercicios han sido con las frases/sentencias condicionales y el bucle while. If...else que podríamos traducir al español/castellano como "Si...sino", y el bucle "While" que podríamos traducir como "Mientras....mientras haya esta condición entonces...". Y es que en la programación se utiliza el lenguaje de la lógica, relacionado con las matemáticas y la filosofía.

De esos 18 ejercicios, 16 los he resuelto y 2 de ellos al final he visto la solución. He de decir que todos los resueltos los he podido verificar en una aplicación de consola C# dentro de un framework.NET de Microsoft Visual Studio 2017. ¡Y funcionan!.

Voy a compartir con vosotros algunos de los programas.

En todos comienzan así:
"using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace Elnamespacequesea
{
    class Program
    {

Ejercicios WHILE:
1) static void Main(string[] args)
        {
            /*
             Desarrollar un programa que permita cargar n números enteros
             y luego nos informe cuántos valores fueron pares y cuántos impares.
Emplear el operador “%” en la condición de la estructura condicional:
    if (valor%2==0)         //Si el if da verdadero luego es par.
 
             */

            int x, n, valor, par, impar;
            x = 1;
            par = 0;
            impar = 0;
            Console.Write("¿Cuántos números desea cargar? :");
            n = Convert.ToInt32(Console.ReadLine());
            while (x<=n)
            {
                Console.Write("Introduzca un valor impar o par positivo: ");
                valor = Convert.ToInt32(Console.ReadLine());
                if (valor % 2 == 0)
                {
                    par++;
                }
                else if (valor % 2 != 0)
                {
                    impar++;
                }
                x++;
            }
            Console.WriteLine("Hay estos números pares: " + par.ToString());
            Console.WriteLine("Hay estos números impares: " + impar.ToString());
            Console.ReadKey();
        }
    }
}
 
2) static void Main(string[] args)
        {
            /*
             Realizar un programa que permita cargar dos listas de 15 valores cada una.
             Informar con un mensaje cual de las dos listas tiene un valor acumulado mayor
             (mensajes "Lista 1 mayor", "Lista 2 mayor", "Listas iguales")
             Tener en cuenta que puede haber dos o más estructuras repetitivas en un algoritmo. 

             */
          
            int n;
            n = 1;
            int m;
            m = 1;
            int suma1;
            suma1 = 0;
            int suma2;
            suma2 = 0;
            while (n <= 15)
            {
                Console.Write("Introduzca un valor de la Lista 1: ");
                int x = Convert.ToInt32(Console.ReadLine());
                suma1 = suma1 + x;
                n++;
            }

            while (m <= 15)
            {
                Console.Write("Introduzca un valor de la Lista 2: ");
                int y = Convert.ToInt32(Console.ReadLine());
                suma2 = suma2 + y;
                m++;
            }

            if (suma1 > suma2)
            {
                Console.WriteLine("La lista 1 es mayor que la lista 2 y el resultado de la lista 1 es: " + suma1.ToString());
            }

            else if (suma1 < suma2)
            {
                Console.WriteLine("La lista 2 es mayor que la lista 1 y el resultado de la lista 1 es: " + suma2.ToString());
            }
            else if (suma1 == suma2)
            {
                Console.WriteLine("La lista 1 y la lista 2 son iguales y el resultado es: " + suma1.ToString());
            }

            Console.ReadKey();
        }
    }
}

3)static void Main(string[] args)
        {
            /*
             Realizar un programa que imprima 25 términos de la serie 11 - 22 - 33 - 44, etc.
             (No se ingresan valores por teclado)
       
      */
            int x;
            x = 11;
            int n;
            n = 1;
            while (n<25)
            {
                Console.WriteLine(x.ToString()+ ", ");
                n++;
                x = x + 11;

            }

           
            Console.ReadKey();
        }
    }
}

4) static void Main(string[] args)
        {
            /*
             En una empresa trabajan n empleados cuyos sueldos oscilan entre $100 y $500,
             realizar un programa que lea los sueldos que cobra cada empleado e informe cuántos empleados
             cobran entre $100 y $300 y cuántos cobran más de $300. Además el programa deberá informar
             el importe que gasta la empresa en sueldos al personal.

             */
            int x;
            x = 1;
            Console.Write("Escribe el número de empleados cuyos sueldos oscilan entre $100 y $500: ");
            int n = Convert.ToInt32(Console.ReadLine());
            int sueldomayordetrescientos = 0;
            int sueldomenordetrescientos = 0;
            while (x <= n)
            {
                Console.Write("Ingrese el sueldo del empleado en $, entre 100 y 500$: ");
                int sueldo = Convert.ToInt32(Console.ReadLine());
                if (sueldo > 300)
                {
                    sueldomayordetrescientos++;
                }
                else
                {
                    sueldomenordetrescientos++;
                };


                x++;
            }
            Console.WriteLine("El número de empleados con sueldo mayor de 300$ es: " + sueldomayordetrescientos.ToString());
            Console.WriteLine("El número de empleados con sueldo menor de 300$ es: " + sueldomenordetrescientos.ToString());

            Console.ReadKey();
        }
    }
}

Ejercicios CONDICIONALES:

1) static void Main(string[] args)
        {
            //Preguntas a un postulante a un empleo, preguntas correctas

            Console.Write("Escribe el número de preguntas: ");
            int totalPreguntas = Convert.ToInt32(Console.ReadLine());
            Console.Write("Escribe el número de respuestas correctas: ");
            int totalCorrectas = Convert.ToInt32(Console.ReadLine());
            int porcentaje = totalCorrectas * 100 / totalPreguntas;

            if (porcentaje >= 90)
            {

                Console.WriteLine("El porcentaje es superior a 90%, es el nivel máximo: " + porcentaje.ToString());

            }
            else
                if (porcentaje >= 75 && porcentaje < 90)
            {
                Console.WriteLine("El porcentaje es igual o superior a 75%, es el nivel medio: " + porcentaje.ToString());

            }

            else
                if (porcentaje >= 50 && porcentaje < 75)
            {
                Console.WriteLine("El porcentaje es igual o superior a 75%, es el nivel regular: " + porcentaje.ToString());

            }
            else
            {
                Console.WriteLine("El porcentaje es inferior al 50%,estás fuera de nivel: " + porcentaje.ToString());
            }
            Console.ReadKey();
        }

    }

2)static void Main(string[] args)
        {
            /*Se ingresan por teclado tres números, si todos los valores ingresados son menores a 10,
             imprimir en pantalla la leyenda "Todos los números son menores a diez"
. */

            Console.Write("Escriba el 1º número:");
            int valorA= Convert.ToInt32(Console.ReadLine());
            Console.Write("Escriba el 2º número:");
            int valorB= Convert.ToInt32(Console.ReadLine());
            Console.Write("Escriba el 3º número:");
            int valorC= Convert.ToInt32(Console.ReadLine());


            if(valorA<10 && valorB<10 && valorC<10)
            {
                Console.WriteLine("Los tres valores son menores a 10");
            }
            else
            {
                Console.WriteLine("Algún valor es mayor a 10");
            }
            Console.ReadKey();
        }

    }

}

3)static void Main(string[] args)
        {
            /*Escribir un programa que pida ingresar la coordenada de un punto en el plano,
             * es decir dos valores enteros x e y (distintos a cero).
             Posteriormente imprimir en pantalla en que cuadrante se ubica dicho punto.
            (1º Cuadrante si x > 0 Y y > 0 , 2º Cuadrante: x < 0 Y y > 0, etc.)  */

            Console.Write("Escriba una coordenada x(positiva o negativa), distinta de 0:");
            int x= Convert.ToInt32(Console.ReadLine());
            Console.Write("Escriba una coordenada y(positiva o negativa), distinta de 0:");
            int y= Convert.ToInt32(Console.ReadLine());
          
            if(x>0 && y>0)
            {
                Console.WriteLine("Está en el primer cuadrante: " + x + " , " + y);
            }
            else if(x<0 && y>0)
            {
                Console.WriteLine("Está en el segundo cuadrante: " + x + " , " + y);

            }
            else if (x<0 && y<0)
            {
                Console.WriteLine("Está en el tercer cuadrante: " + x + " , " + y);

            }
            else if (x> 0 && y<0)
            {
                Console.WriteLine("Está en el cuarto cuadrante: " + x + " , " + y);

            }

            Console.ReadKey();
        }

    }

4) static void Main(string[] args)
        {
            /*De un operario se conoce su sueldo y los años de antigüedad.
             * Se pide confeccionar un programa que lea los datos de entrada e informe:
a) Si el sueldo es inferior a 500 y su antigüedad es igual o superior a 10 años, otorgarle
un aumento del 20 %, mostrar el sueldo a pagar.
b)Si el sueldo es inferior a 500 pero su antigüedad es menor a 10 años, otorgarle un aumento de 5 %.
c) Si el sueldo es mayor o igual a 500 mostrar el sueldo en pantalla sin cambios.   */

  
          Console.Write("Escriba su sueldo en euros, por favor:");
            int sueldo= Convert.ToInt32(Console.ReadLine());
            Console.Write("Escriba su antigüedad en la empresa en años, por favor:");
            int antiguedad= Convert.ToInt32(Console.ReadLine());
          
            if(sueldo<500 && antiguedad>=10)
            {
                int sueldoquetemereces = (sueldo + ((sueldo*20) /100));
                Console.WriteLine("El sueldo a pagarte es de: " + sueldoquetemereces.ToString());
            }
            else if(sueldo<500 && antiguedad<10)
            {
                int sueldoquetemereces = (sueldo + ((sueldo*5) / 100));
                Console.WriteLine("El sueldo a pagarte es de: " + sueldoquetemereces.ToString());

            }
            else
            {
                Console.WriteLine("El sueldo a pagarte es de : " + sueldo.ToString());

            }

            Console.ReadKey();
        }

    }

}

Comentarios