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();
}
}
}
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();
}
}
}
{
/*
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
Publicar un comentario