Estructura Repetitiva While en C#

Hasta en momento hemos visto estructuras secuenciales y condicionales, ahora estudiaremos las estructuras repetitivas en c#. 

Una estructura repetitiva permite ejecutar una instrucción o un conjunto de instrucciones varias veces, según la condición establecida en dicho bucle. 

Veamos una gráfica de la estructura while en diagramas de flujo 

Nota: Podemos observar que el bloque repetitivo puede no ejecutarse ninguna vez si la condición retorna falso la primera vez.
La variable x debe estar inicializada con algún valor antes que se ejecute la operación x=x + 1 en caso de no estar inicializada aparece un error de compilación.

La sintaxis en pseudocódigo es la siguiente:

             mientras condición hacer
                   instrucción 
            fin mientras 

A continuación veamos algunos ejemplos empleando la estructura repetitiva while

Ejercicios Resueltos de Estructura Repetitiva While en C#

Ejemplo 1

Realizar un programa que imprima en pantalla los números del 1 al 50.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EstructuraRepetitivaWhile
{
    class Program
    {
        static void Main(string[] args)
        {
            int x;
            x = 1;
            while (x <= 50)
            {
                Console.Write(x);
                Console.Write(" , ");
                x = x + 1;
            }
            Console.ReadKey();
        }
    }
}


Al ejecutar el código muestra el siguiente resultado 


Ejemplo 2

Realizar un programa que dado un numero n entero, imprima consecutivamente asta n 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EstructuraRepetitivaWhile
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, x;
            string linea;
            Console.Write("Ingrese el valor de n:");
            linea = Console.ReadLine();
            n = int.Parse(linea);
            x = 1;
            while (x <= n)
            {
                Console.Write(x);
                Console.Write(" , ");
                x = x + 1;
            }
            Console.ReadKey();
        }
    }
}


Al ejecutar el código muestra el siguiente resultado 



Ejemplo 3

Realizar un programa que permita ingresar 8 números y nos muestre la suma y el promedio de dichos números

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EstructuraRepetitivaWhile
{
    class Program
    {
        static void Main(string[] args)
        {
            int x, suma, valor, promedio;
            string linea;
            x = 1;
            suma = 0;
            while (x <= 8)
            {
                Console.Write("Ingrese valor "+x+":");
                linea = Console.ReadLine();
                valor = int.Parse(linea);
                suma = suma + valor;
                x = x + 1;
            }
            promedio = suma / 8;
            Console.Write("La suma  es:");
            Console.WriteLine(suma);
            Console.Write("El promedio es:");
            Console.Write(promedio);
            Console.ReadKey();
        }
    }
}


Al ejecutar el código muestra el siguiente resultado 



Ejemplo 4

Desarrollar un programa que permita ingresar n números enteros y luego nos imprima cuántos valores fueron pares y cuántos impares.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EstructuraRepetitivaWhile
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, x, valor, pares, impares;
            string linea;
            x = 1;
            pares = 0;
            impares = 0;
            Console.Write("Cuantos el valor de n:");
            linea = Console.ReadLine();
            n = int.Parse(linea);
            while (x <= n)
            {
                Console.Write("Ingrese el valor "+x+": ");
                linea = Console.ReadLine();
                valor = int.Parse(linea); ;
                if (valor % 2 == 0)
                {
                    pares = pares + 1;
                }
                else
                {
                    impares = impares + 1;
                }
                x = x + 1;
            }
            Console.Write("Cantidad de pares:");
            Console.WriteLine(pares);
            Console.Write("Cantidad de impares:");
            Console.Write(impares);
            Console.ReadKey();
        }
    }
}


Al ejecutar el código muestra el siguiente resultado 


Ejemplo 5

Desarrollar un programa que imprima los múltiplos de 3 del 1 al 200

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EstructuraRepetitivaWhile
{
    class Program
    {
        static void Main(string[] args)
        {
            int mult;
            mult = 3;
            while (mult <= 200)
            {
                Console.Write(mult);
                Console.Write(", ");
                mult = mult + 3;
            }
            Console.ReadKey();
        }
    }
}

Al ejecutar el código muestra el siguiente resultado 



Ejemplo 6

Realizar un programa que nos imprima la factorial de un numero dado desde el teclado

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EstructuraRepetitivaWhile
{
    class Program
    {
        static void Main(string[] args)
        {
            int fac=1,x,n;
            string linea;
            x = 1;
            Console.Write("Ingrese un numero entero: ");
            linea = Console.ReadLine();
            n = int.Parse(linea);
            while (x <= n)
            {
                fac = fac * x;
                x = x + 1;
            }
            Console.Write("La factorial es: "+fac);
            Console.ReadKey();
        }
    }
}

Al ejecutar el código muestra el siguiente resultado 


5 comentarios:

  1. 5. Diseñe una solución donde dado un número entre 1 y 11 determine si es primo o no
    necesito ayuda con este problema urgente

    ResponderEliminar
  2. por favor
    Escriba un programa para hacer un patrón como un triángulo de asteriscos.
    *
    **
    ***
    ****

    ResponderEliminar
  3. Y como se hace para sacar el promedio cuando los datos que se ingresaran no es una cantidad fija por ejemplo una persona puede introducir 5 datos o otra 20 y asi sucesivamente

    ResponderEliminar
  4. Alguien que me ayude como hacerlo.
    los 20 empleados de una fábrica trabajan en dos turnos: diurno o nocturno. se desea calcular el salario diario de cada uno de los empleados de acuerdo con los siguientes puntos:
    - la tarifa de horas diurnas es de $5 - la tarifa de horas nocturnas es de $10
    - caso de ser domingo, la tarifa se pagará en $10 en el turno diurno y $20 en el turno nocturno

    ResponderEliminar
  5. Un programa que capture un nombre y un sueldo ,capture 10 datos y muestre los datos de cuál es el mayor sueldo gana por favor ayudaa

    ResponderEliminar