Friday, September 28, 2018

Diario de Aprendizaje #7

Estructuras de Control: switch, while, do-while y for
Diario de Aprendizaje #7 – Semana del 24 de Septiembre 2018

Esta semana dimos comienzo a lo que son las estructuras de control y su respectiva codificación.


La instrucción switch es una instrucción de control que controla múltiples selecciones y enumeraciones pasando el control a una de las instrucciones case de su cuerpo. La ejecución del cuerpo de la instrucción empieza en la instrucción seleccionada y continúa hasta que la instrucción break transfiere el control fuera del cuerpo case. Es necesario introducir una instrucción de salto como break después de cada bloque case, incluido el último bloque, se trate de una instrucción case o de una instrucción default. [1]

Ejemplo de un Switch
La instrucción while ejecuta una instrucción o un bloque de instrucciones mientras una expresión booleana especificada se evalúa como true. Como esa expresión se evalúa antes de cada ejecución del bucle, un bucle while se ejecuta cero o varias veces. En cualquier punto del bloque de instrucciones while, se puede salir del bucle mediante la instrucción break. [2]

Ejemplo de un While
La instrucción do-while es la misma que un while, excepto que el bloque de código será ejecutado al menos una vez porque éste se ejecuta primero y luego se revisa la condición.

Ejemplo de un Do-While
La instrucción for ejecuta una instrucción o un bloque de instrucciones mientras una expresión booleana especificada se evalúa como true. La instrucción for define las secciones inicializador, condición e iterador. [3]

Ejemplo de un For

Como conclusión, yo pienso que es muy importante y además interesante el conocer y saber utilizar las distintas estructuras de control ya que éstas nos ayudarán a crear mejores programas de maneras más rápidas y eficientes.

A continuación, se presentarán los códigos que se hicieron en la semana. Espero sean de utilidad y gran aprendizaje a todo aquel lector que los revise.


Códigos Realizados en la primera sesión donde se utilizan las estructuras de control switch, while y do-while

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

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            /* EXPLICACIÓN -----------------------------------------------------------
            
            Console.WriteLine("Ingresa un número del 1 al 10");
            byte numero = byte.Parse(Console.ReadLine());

            switch(numero)
            {
                case 1:
                    {
                        Console.WriteLine("El número es un 1");
                        break;
                    }
                case 2:
                    {
                        Console.WriteLine("El número es un 2");
                        break;
                    }
                case 3:
                    {
                        Console.WriteLine("El número es un 3");
                        break;
                    }
                default:
                    {
                        Console.WriteLine("El número que se ingresó no es válido");
                        break;
                    }

            }

           
            while() --------> Condición Booleana >,<,>=,<=,==,!=
            {
                  ----------> Código que se quiere ejecutar N cantidad de veces
            }
           

            byte n = 0;

            while (n <= 10)
            {
                Console.WriteLine(n);
                //n++; ----> n=n+1  /   n+=1
                n++;
                if (n == 5)
                {
                    break;
                }
            }

            n = 0;

            do
            {
                Console.WriteLine();
            }
            while (n<=10);
           
            */

            /* EJERCICIO 1 -----------------------------------------------------------

            Console.WriteLine("Ingresa el número final del rango de evaluación");
            int numero = int.Parse(Console.ReadLine());
            int contador = 0;
            int contadorPares = 0;

            while(contador<=numero)
            {
                if(contador%2==0)
                {
                    contadorPares++;
                }
                contador++;
            }

            Console.WriteLine("La cantidad de números pares fue: " + contadorPares);

            */

            /* EJERCICIO 2 ----------------------------------------------------------

            string respuesta;
            int contador = 0;
            do
            {
                Console.WriteLine("Ingresa un número");
                int numero = int.Parse(Console.ReadLine());
                if (numero % 2 != 0)
                {
                    contador++;
                }
                Console.WriteLine("¿Deseas ingresar otro número?");
                respuesta = Console.ReadLine();
            }
            while (respuesta.ToLower() != "no");
            Console.WriteLine("El usuario ingresó: {0} números impares", contador);


            */

            Console.ReadLine();
        }
    }
}


Códigos Realizados en la segunda sesión donde se utiliza la estructura de control for

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

namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            // Se ingresa la cantidad de números que se quiere ingresar
            Console.WriteLine("Ingrese el número de datos que desee desplegar");
            int x = int.Parse(Console.ReadLine());
            int[] numeros = new int[x];
            int auxiliar = 0;

            // Se ingresan los números
            for(int i=0; i<x; i++)
            {
                Console.WriteLine("Ingresa el número");
                numeros[i] = int.Parse(Console.ReadLine());
            }

            Console.Clear();

            // Se despliega el arreglo de números
            Console.WriteLine("Los números ingresados son: ");

            for (int i=0; i<numeros.Length; i++)
            {
                Console.WriteLine(numeros[i]);
            }

            // Se despliega el número más grande y el menor

            int mayor = numeros[0];
            int menor = numeros[0];

            for(int i = 0; i < numeros.Length; i++)
            {
                if (numeros[i] > mayor)
                {
                    mayor = numeros[i];
                }
                if(numeros[i] < menor)
                {
                    menor = numeros[i];
                }
            }

            Console.WriteLine("El número menor es: " + menor);
            Console.WriteLine("El número menor es: " + mayor);

            // Ordenación de números
            for (int i = 0; i < numeros.Length - 1; i++)
            {
                for (int j = i; j < numeros.Length - 1; j++)
                {
                    if (numeros[i] > numeros[j + 1])
                    {
                        auxiliar = numeros[i];
                        numeros[i] = numeros[j + 1];
                        numeros[j + 1] = auxiliar;
                    }
                }
            }

            // Se despliega el arreglo de números de MENOR A MAYOR
            Console.WriteLine("Los números ordenados de menor a mayor: ");

            for (int i = 0; i < numeros.Length; i++)
            {
                Console.WriteLine(numeros[i]);
            }

            // Se despliega el arreglo de números de MAYOR A MENOR
            Console.WriteLine("Los números ordenados de mayor a menor: ");

            for (int i = numeros.Length; i > 0; i--)
            {
                Console.WriteLine(numeros[i-1]);
            }
       
            Console.ReadLine();
        }
    }
}


Referencias:
  • [1] Switch (Referencia de C#). (n.d.). Consultado el 26 de Septiembre, 2018, en https://msdn.microsoft.com/es-es/library/06tc147t(v=vs.80).aspx
  • [2] D. (n.d.). While (Referencia de C#). Consultado el 26 de Septiembre, 2018, en https://docs.microsoft.com/es-mx/dotnet/csharp/language-reference/keywords/while
  • [3] D. (n.d.). Instrucción for (C#). Consultado el 26 de Septiembre, 2018, en https://docs.microsoft.com/es-mx/dotnet/csharp/language-reference/keywords/for
  • Do-While loop. (n.d.). Consultado el 26 de Septiembre, 2018, en http://www.tutorialsteacher.com/csharp/csharp-do-while-loop

2 comments:

  1. Muy buena explicación y resumen de las diferentes estructuras que se utilizan en C#

    ReplyDelete
  2. Excelente explicación de lo que hace cada una de estas estructuras.

    ReplyDelete