Ejercicios Con Mientras o while en C#
Con la estructura repetitiva While puedes hacer cualquier ejercicio que se pueda resolver usando el bucle PARA, además permite realizar otros ejercicios, ahora vamos ha desarrollar programas con opciones.Ejercicio 1. El Promedio
Hacer un programa para calcular el promedio de varios números, el programa debe terminar cuando se ingresa un numero negativo.
Análisis:
Como puedes ver debemos ingresar números de 0 a 20, si ingresas un numero diferente el programa terminara y nos debe mostrar el promedio de los números ingresado, es decir, si ingresamos 4, 15, 7, 17, 19 y finalmente -1, el programa debe mostrar solo el promedio de los números 4, 15, 7, 17, 19.
Como puedes ver debemos ingresar números de 0 a 20, si ingresas un numero diferente el programa terminara y nos debe mostrar el promedio de los números ingresado, es decir, si ingresamos 4, 15, 7, 17, 19 y finalmente -1, el programa debe mostrar solo el promedio de los números 4, 15, 7, 17, 19.
- Condición del bucle Mientras: dato >= 0.
- Contador dentro del bucle: c = c + 1.
- Acumulador dentro del bucle: suma = suma + dato.
Diseño:
Algoritmo LosPromedios
Inicio
Real suma, c, dato, promedio
suma = 0
c = -1
dato = 0
Mientras ( dato >= 0 )
suma = suma + dato
c = c + 1
Leer(dato)
FinMientras
promedio = suma / c
Escribir(promedio)
Fin
Algoritmo LosPromedios
Inicio
Real suma, c, dato, promedio
suma = 0
c = -1
dato = 0
Mientras ( dato >= 0 )
suma = suma + dato
c = c + 1
Leer(dato)
FinMientras
promedio = suma / c
Escribir(promedio)
Fin
Código:
public static void Main(string[] args)
{
double suma,c,dato,promedio;
suma = 0;
c = -1;
dato = 0;
while (dato>=0)
{
suma = suma + dato;
c = c + 1;
Console.Write("Ingresa el Numero: ");
dato = int.Parse(Console.ReadLine());
}
promedio = suma / c;
Console.WriteLine("El promedio es: "+promedio);
Console.ReadLine();
}
Notas:public static void Main(string[] args)
{
double suma,c,dato,promedio;
suma = 0;
c = -1;
dato = 0;
while (dato>=0)
{
suma = suma + dato;
c = c + 1;
Console.Write("Ingresa el Numero: ");
dato = int.Parse(Console.ReadLine());
}
promedio = suma / c;
Console.WriteLine("El promedio es: "+promedio);
Console.ReadLine();
}
Iniciamos el contador en -1 ya que al principio siempre contamos el primer ingreso sin importar el numero ingresado.
--En Construcción afuera
Ejercicio 2. El menú de opciones.
Desarrolla un programa para hacer las 4 operaciones matemáticas, este debe tener un menú de la siguiente forma:
*********** CALCULADORA BÁSICA ***********
1. Sumar
2. Restar
3. Multiplicar
4. Dividir
0. Salir
Elija una Opción -----> _
Análisis:
- En este ejercicio tenemos las formulas para las operaciones de suma, resta, multiplicación y división.
- También sabemos que debemos tener un menú de opciones.
- Deberemos usar 4 estructuras si para el control de las 4 operaciones.
- El bucle mientras tendrá la condición siguiente: opción != 0
Diseño:
Algoritmo CalculadoraOpciones
Inicio
Entero a, b, respuesta, opcion
opcion = 10
Mientras (opcion != 0)
Escribir("*********** CALCULADORA BÁSICA ***********")
Escribir("1. Sumar")
Escribir("2. Restar")
Escribir("3. Multiplicar")
Escribir("4. Dividir")
Escribir("****************")
Escribir("0. Salir")
Escribir("Ingresa la Opción: ")
Leer(opcion)
Si opcion = 1 Entonces
Leer(a, b)
respuesta = a + b
Escribir(respuesta)
FinSi
Si opcion = 2 Entonces
Leer(a, b)
respuesta = a - b
Escribir(respuesta)
FinSi
Si opcion = 3 Entonces
Leer(a, b)
respuesta = a * b
Escribir(respuesta)
FinSi
Si opcion = 4 Entonces
Leer(a, b)
respuesta = a / b
Escribir(respuesta)
FinSi
FinMientras
Fin
Algoritmo CalculadoraOpciones
Inicio
Entero a, b, respuesta, opcion
opcion = 10
Mientras (opcion != 0)
Escribir("*********** CALCULADORA BÁSICA ***********")
Escribir("1. Sumar")
Escribir("2. Restar")
Escribir("3. Multiplicar")
Escribir("4. Dividir")
Escribir("****************")
Escribir("0. Salir")
Escribir("Ingresa la Opción: ")
Leer(opcion)
Si opcion = 1 Entonces
Leer(a, b)
respuesta = a + b
Escribir(respuesta)
FinSi
Si opcion = 2 Entonces
Leer(a, b)
respuesta = a - b
Escribir(respuesta)
FinSi
Si opcion = 3 Entonces
Leer(a, b)
respuesta = a * b
Escribir(respuesta)
FinSi
Si opcion = 4 Entonces
Leer(a, b)
respuesta = a / b
Escribir(respuesta)
FinSi
FinMientras
Fin
Código:
public static void Main(string[] args)
{
double a,b,respuesta,opcion;
opcion = 10;
while(opcion != 0)
{
Console.Clear();
Console.WriteLine("*************** CALCULADORA ***************");
Console.WriteLine("1. Suma");
Console.WriteLine("2. Resta");
Console.WriteLine("3. Multiplicacion");
Console.WriteLine("4. Division");
Console.WriteLine("********************************************");
Console.WriteLine("0. Salir");
Console.Write("Ingresa la opción: ");
opcion = int.Parse(Console.ReadLine());
if (opcion == 1)
{
Console.WriteLine("Ingresa A: ");
a = double.Parse(Console.ReadLine());
Console.WriteLine("Ingresa B: ");
b = double.Parse(Console.ReadLine());
respuesta = a +b;
Console.WriteLine("La suma es: " + respuesta);
Console.ReadLine();
}
if (opcion == 2)
{
Console.WriteLine("Ingresa A: ");
a = double.Parse(Console.ReadLine());
Console.WriteLine("Ingresa B: ");
b = double.Parse(Console.ReadLine());
respuesta = a - b;
Console.WriteLine("La resta es: " + respuesta);
Console.ReadLine();
}
if (opcion == 3)
{
Console.WriteLine("Ingresa A: ");
a = double.Parse(Console.ReadLine());
Console.WriteLine("Ingresa B: ");
b = double.Parse(Console.ReadLine());
respuesta = a * b;
Console.WriteLine("La Multiplicacion es: " + respuesta);
Console.ReadLine();
}
if(opcion == 4)
{
Console.WriteLine("Ingresa A: ");
a = double.Parse(Console.ReadLine());
Console.WriteLine("Ingresa B: ");
b = double.Parse(Console.ReadLine());
respuesta = a / b;
Console.WriteLine("La division es: " + respuesta);
Console.ReadLine();
}
}
Notas:
public static void Main(string[] args)
{
double a,b,respuesta,opcion;
opcion = 10;
while(opcion != 0)
{
Console.Clear();
Console.WriteLine("*************** CALCULADORA ***************");
Console.WriteLine("1. Suma");
Console.WriteLine("2. Resta");
Console.WriteLine("3. Multiplicacion");
Console.WriteLine("4. Division");
Console.WriteLine("********************************************");
Console.WriteLine("0. Salir");
Console.Write("Ingresa la opción: ");
opcion = int.Parse(Console.ReadLine());
if (opcion == 1)
{
Console.WriteLine("Ingresa A: ");
a = double.Parse(Console.ReadLine());
Console.WriteLine("Ingresa B: ");
b = double.Parse(Console.ReadLine());
respuesta = a +b;
Console.WriteLine("La suma es: " + respuesta);
Console.ReadLine();
}
if (opcion == 2)
{
Console.WriteLine("Ingresa A: ");
a = double.Parse(Console.ReadLine());
Console.WriteLine("Ingresa B: ");
b = double.Parse(Console.ReadLine());
respuesta = a - b;
Console.WriteLine("La resta es: " + respuesta);
Console.ReadLine();
}
if (opcion == 3)
{
Console.WriteLine("Ingresa A: ");
a = double.Parse(Console.ReadLine());
Console.WriteLine("Ingresa B: ");
b = double.Parse(Console.ReadLine());
respuesta = a * b;
Console.WriteLine("La Multiplicacion es: " + respuesta);
Console.ReadLine();
}
if(opcion == 4)
{
Console.WriteLine("Ingresa A: ");
a = double.Parse(Console.ReadLine());
Console.WriteLine("Ingresa B: ");
b = double.Parse(Console.ReadLine());
respuesta = a / b;
Console.WriteLine("La division es: " + respuesta);
Console.ReadLine();
}
}
Actividad 1. Desarrolla un programa para mostrar los primeros n numeros, los primeros n numeros pares, los primeros n numeros impares, la opción S debe ser para salir:
*********** LOS NUMEROS ***********
N: Numeros
P: Numeros Pares
I: Numeros Impares
S: Salir
♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
Elija una Opción -----> _
- Las opciones son letras, aquí al poner S, debemos poder salir o terminar el programa.
Hola, recién acabo de hacer la calculadora- Muchas gracias por los ejercicios.
ResponderEliminarGracias por este ejemplo del while ademas tiene un valor agregado que es el if.
ResponderEliminarParqueo “El Centro” quiere, a partir de los tiquetes de toda la semana, calcular el
ResponderEliminartotal de ingreso diario y semanal, los tiquetes están ordenados por dia, pero la
cantidad diaria de tiquetes no se sabe. Diseñe una solución que despliegue el total
diario y el total semanal de ingreso.
Como seria ese ejercicio
sabes hacer el ejercicio por el cual preguntaste
Eliminar