domingo, 20 de junio de 2010

Lenguaje C# - Tercera parte (Condicionales)

Retomando la serie de tutoriales sobre el lenguaje C#, esta vez escribiré sobre el manejo de condicionales. En el tutorial sobre operadores se toco algo del tema, al referirnos a los distintos tipos de operadores que existen en los lenguajes de programación, siendo los operadores parte fundamental en la construcción de condiciones.

Antes de empezar a definir técnicamente, es necesario definir el concepto de condición, las condiciones son preguntas o evaluaciones de los elementos que se presentan antes de poder realizar una acción. Según la RAE una condición (en una de sus tantas definiciones) se refiere a "circunstancias que afectan a un proceso o al estado de una persona o cosa" ahora en programación quizás la definición sea más sencilla.


--

--
En cualquier lenguaje de programación la condición está dada por la evaluación y comparación de dos o más valores siempre teniendo en cuenta que estas condiciones se deben dar en parejas (esto ya lo dije en el anterior tutorial) es decir que las comparaciones solo se pueden hacer de dos en dos, cada una de las comparaciones entrega un valor booleano, es decir solo puede entregar valores verdaderos y/o falsos.

Después de obtener el valor booleano de cada comparación estos se pueden comparar por medio de las compuertas lógicas AND (&&), OR (||) y NOT (!), existen las tablas de verdad que representan los resultados que podemos obtener el comparar los valores de tipo booleano entre ellos.

Tabla de Verdad para AND (&&)

V&&VV
V&&
FF
F&&
VF
F&&
FF


Tabla de Verdad para OR (||)

V||VV
V||
FV
F||
VV
F||
FF

La compuerta lógica representa una negación de una expresión de esta manera:

! verdadero = falso
! falso = verdadero
!(verdadero && falso) = verdadero (recordemos que V y F da falso, al negar la expresión se vuelve verdadero).

Las condiciones en el lenguaje C# al igual que en lenguajes como JAVA, PHP, JavaScript, ActionScript, etc están dadas por la palabra if (sí) seguida de las condiciones entre paréntesis y las acciones dentro de llaves ( {...} ).
if(a == b){
//acciones en caso de que se cumpla la condición
}
Por defecto el if siempre valida la última respuesta contra un verdadero es decir:
bool a = true;
if(a==true) // es lo mismo que decir: if(a)
En caso de que no se cumpla la condición también es posible utilizar la sentencia else (de lo contrario) que representa la otra posibilidad dentro de una condición que tiene número limitado de acciones.

Suponiendo el caso de un interruptor que solo puede estar encendido o apagado la condición sería esta:
bool interruptor = true //está encendido
if(interruptor){ //si el interruptor está encendido
...
}
else{ //de lo contrario
...
}
Suponiendo que se tengan más de dos opciones es posible agregar un if a un else, por ejemplo en el caso de determinar el signo de un número:

int x = valor;
if(x>0){
//x es positivo
}
else if(x<0){
//x es negativo
}
else{
//x es neutro (0 es un valor neutro)
}
Dentro de C# también existe el Switch Case que es una herramienta muy buena en caso de tener una serie de opciones preestablecidas, sin embargo no vamos a tocar esa herramienta todavía.

Esto es todo por este tutorial y dentro de un tiempo seguiré escribiendo, el siguiente tutorial será sobre ciclos repetitivos.

--

6 comentarios:

  1. programacion para dummi como yo

    ResponderEliminar
  2. la idea es explicarlo todo muy bien desde cero.

    ResponderEliminar
  3. Muy bin profe para los q empezamos en esto...
    nos motiva mucho ,lo explica de una manera mas fácil de comprender ... gracias !

    ResponderEliminar
  4. con gusto, les recuerdo que si quieren escribir artículos también me los pueden enviar para colgarlos, eso si, yo les doy todo el crédito a ustedes

    ResponderEliminar
  5. Excelente!! ahora me doy cuenta que con determinación lograre ser un gran desarrollador web.

    ResponderEliminar
  6. Ayer consegui este blog y esta bastante sencillo de entender todo aunque es obvio que esto es lo basico de lo basico.

    Quisiera que tuvieran mas ya que soy programador y ya se otros lenguajes y lei todo esto y es igual que as3. Seria exelente que siguiera la guia a una eventual guia mas compleja. Lastima que no este ahora que es cuando tengo que apprender c# ...

    gracias de todos modos.

    ResponderEliminar