viernes, 11 de octubre de 2013

2.4. Ejercicios Con Mientras (while)


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.

  • 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

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:
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 -----> _

Al ingresar la opción 1 por ejemplo deberá pedir dos números y sumarlos, al ingresar la opción de 0 el programa deberá terminar.
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

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:






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.

4 comentarios:

  1. Hola, recién acabo de hacer la calculadora- Muchas gracias por los ejercicios.

    ResponderEliminar
  2. Gracias por este ejemplo del while ademas tiene un valor agregado que es el if.

    ResponderEliminar
  3. Parqueo “El Centro” quiere, a partir de los tiquetes de toda la semana, calcular el
    total 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

    ResponderEliminar