miércoles, 28 de septiembre de 2011

C# Basico desde cero - Clase 3 _ Esctructuras de control IF / ELSE

Hola a todos, bueno hoy como había prometido vamos a continuar con nuestro curso sobre C# básico, para esto lo que vamos a aprender hoy es a darle mas vida a nuestras aplicaciones en C#, después de la clase de hoy van a ser capaces de darle la capacidad de seleccionar una porción de código u otra.

Como ya habíamos hablado anteriormente, el código de nuestras aplicaciones se ejecuta en forma secuencial, es decir una linea después de la otra, así nuestra aplicación va siguiendo una a una las instrucciones que nosotros escribimos para que ejecute, pero como sucede en la vida real muchas veces las instrucciones que nosotros queremos ejecutar están condicionadas, estas dependen de determinados valores de entrada que nos hace elegir entre un camino u otro.

De esta manera, el lenguaje C# nos ofrece un amplio abanico de estructuras de control que nos van a permitir entre otras cosas elegir entre estos posibles bloques de codigo a ejecutar.

Desde el principio secuencia IF

Para empezar en este mundo de las estructuras de control vamos a comenzar por la mas basica, la estrucutra IF, la misma cuenta con la siguiente forma:


if (condicion_de_verdad)
{
    //Codigo a ejecutar 
}

Asi podemos ver que la misma comienza con la keyword IF (se lo podria pensar en español como el equivalente a hacerse la pregunta SI..entonces, también podemos ver que luego de esta keyword siguen un bloque en donde nos vamos a detener para hacer varias aclaraciones, este es el bloque que llamaremos "condición de verdad". Luego de esto, como todo bloque de código en C# (tema ya aprendido) nuestro código a ejecutar se encuentra entre { }.

Condición de verdad

Esta es la que nos va a determinar si ejecutaremos nuestro código o no, la misma en C# tiene que contar con un formato determinado en el cual deben evaluarse siempre dos variables (mas adelante veremos que no siempre son necesarias) y del resultado de esta evaluación determinara si ejecutaremos o no nuestro código.

Operadores lógicos

Estos son los encargados de realizar la comparación entre nuestras dos variables. Como en toda comparación necesitamos definir el conjunto de operadores que vamos a utilizar para comparar nuestras variables, en C# tenemos definidos el siguiente conjunto de operadores lógicos:

== : Igual
<  : Menor
>  : Mayor
<= : Menos o Igual
>= : Mayor o Igual
&& : And condicional
|| : Or condicional

La forma básica en la que vamos a utilizar estos operadores es la siguiente:

if (variable_A == variable_B)
{
   //Codigo a ejecutar
}
Lo que estamos diciendo en este ejemplo en lenguaje coloquial es: "Si, la variable_A es IGUAL a la variable_B, entonces..." De esta manera el código a ejecutar solo sera ejecutado si y solo si las variables son iguales. De la misma manera hubiéramos podido utilizar el operador < para indicar que solo se ejecutaría nuestro código en caso de que la variable_A fuera Menor a la variable_B.

Ejemplo de comparación de variables

using System;
namespace HelloWord
{
class Program
{
 static void Main(string[] args)
 {
  int a = 1;
  int b = 1;

  if (a == b)
  {
   Console.WriteLine("El numero: {0}, es igual al numero: {1}",a,b);
  }

  if (a < b)
  {
   Console.WriteLine("El numero: {0}, es menor al numero: {1}",a,b);
  }

  Console.ReadKey();
 }
}
}
Como podemos ver en nuestro ejemplo en ambos casos comparamos la variable a con la variable b, de esta manera en el primer caso imprimimos por pantalla que los números son iguales, y en el segundo caso no imprimimos nada porque nuestro código no se ejecuta debido a que a no es menor a b. Esto lo podemos ver en la imagen a continuación:



Enriqueciendo la secuencia IF, agregamos la secuencia ELSE

Como el subtitulo lo dice lo que vamos a hacer es enriquecer el comportamiento de la secuencia de control IF, como vamos a hacer eso? muy fácilmente agregando la secuencia ELSE. Esta secuencia nos va a permitir elegir entre un bloque de código u otro.

La forma básica en la que vamos a utilizar estos operadores es la siguiente:

if (variable_A == variable_B)
{
   //Codigo a ejecutar 1
}
else
{
  //Otro codigo a ejecutar 2
}
Como podemos ver en este nuevo ejemplo lo que estamos diciendo en lenguaje coloquial es: "Si, la variable_A es igual a la variable_B entonces ejecutar el código 1, SI NO, ejecutar el código 2". Básicamente lo que hicimos fue darle la opción de que si la primer evaluación no fue satisfactoria ejecute un código alternativo. En pocas palabras le dimos a elegir entre dos opciones.

Ejemplo de sentencia ELSE

using System;
namespace HelloWord
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 1;
            int b = 1;

            if (a == b)
            {
                Console.WriteLine("El numero: {0}, es igual al numero: {1}",a,b);
            }

            if (a < b)
            {
                Console.WriteLine("El numero: {0}, es menor al numero: {1}",a,b);
            }
            else
            {
                Console.WriteLine("El numero: {0}, NO es menor al numero: {1}",a,b);
            }

            Console.ReadKey();
        }
    }
}


Como habrán notado en el ejemplo anterior, lo que agregamos fue la sentencia ELSE para darle la opción de que si NO es menor entonces imprima por pantalla esa información como lo podemos ver en la imagen a continuación.



Para terminar, estas dos son las sentencias de control mas basicas y a la vez las mas utilizadas debido a que nos permiten como dijimos anteriormente añadir comportamiento a nuestra aplicación. para nuestra próxima clase nos queda seguir viendo las estructuras de control que nos van a permitir optimizar estas que vimos hoy o iterar sobre conjuntos de datos por ejemplo. Como siempre espero que hayan disfrutado de la clase y cualquier comentario no duden en publicarlo acá mismo.

No hay comentarios:

Publicar un comentario