lunes, 17 de mayo de 2010

Lenguaje C# - Segunda parte (Operadores)

Siguiendo con la serie de tutoriales para aprender a programar con C#, esta vez escribiré sobre el uso de los operadores, su importancia y algunos ejemplos de como funcionan, no es un tema complicado pero siempre es necesario saber cómo funcionan.


Nota: recuerda que este es el segundo de una serie de tutoriales, el primero esta aquí.

--

--
Lo primero es definir el concepto de operador. Un operador es un símbolo que representa una acción determinada para una variable o valor y así como en español la coma ( , ) indica una pausa corta y el punto ( . ) indica una pausa un poco más larga, en aritmética existen operadores que indican la ejecución de determinado proceso, por ejemplo:
2 + 2 = 4
En este caso el operador es el signo mas ( + ) que indica que se debe hacer una suma o un incremento de dos valores dados.
Los operadores en programación están en categorías dependiendo de su funcionalidad, los primeros son los operadores aritméticos que a su vez se dividen en binarios y unarios, los operadores relacionales y los operadoresLógicos.

Operadores Aritméticos

Binarios: los operadores binarios indican operaciones sencillas de incremento (suma o multiplicación ) y decremento (resta, división y modulo), estos son los operadores binarios:
  • +: representa la suma de dos o más valores o variables.
  • -: representa la resta de dos o más valores o variables.
  • *: representa la multiplicación de dos o más valores o variables.
  • /: representa la división de dos o más valores o variables.
  • %: representa el modulo (obtención del residuo de una división) de dos o más valores o variables.
Unarios: los operadores unarios representan operaciones simplificadas de incremento decremento y modificación de signos, estos son los operadores unarios:
  • ++: Incrementa el valor de una variable en una unidad.
  • --: Decrementa el valor de una variable en una unidad.
  • -: Cambia el signo de una variable, es como multiplicar por -1.
Ejemplos:
  • 2 + 2 = 4
  • 10 - 5 = 5
  • 4 * 6 = 24
  • 8 / 2 = 4
  • 8 % 2 = 0 (cero es el residuo de la división 8/2)
  • c=4; c++; //c=5 (c inicia siendo igual a 4, después del incremento [c++], c vale 5)
  • d=10; d--; //d=9
  • e = -(4) // e = -4
  • f = -(-6) // f = 6 (por regla de signos menos por menos igual a mas)
En conclusión los operadores unarios, simplifican el proceso de modificación de valores ya que al escribir c++ se hace lo mismo que c=c+1.

Operadores Relacionales

Son operadores que se encargan de unir y comparar dos o más valores, siempre se utilizan en comparaciones de parejas y están dadas por los símbolos:
  • = : igual que
  • != : diferente a
  • > : mayor que
  • < : menor que
  • >= : mayor igual que
  • <= : menor igual que
Estos operadores se usan para comparar valores de variables por pares es decir,no se pueden comparar más de 2 valores al tiempo:
  • a > b > c //ERROR
  • (a > b) && (b > c) //BIEN
Cuando se requiere hacer una comparación de varios valores se deben usar losOperadores Lógicos, que son operadores de unión, también llamados compuertas lógicas, estos operadores pueden unir dos o más pares de valores comparados por medio de los operadores relaciones y están dados por estos símbolos:

  • && : Operador AND (Y) quiere decir que todas las condiciones deben ser verdaderas para que se ejecute una acción.
  • || : Operador OR (O) quiere decir que de todas las condiciones solo una debe ser verdadera y se asume que con eso es suficiente para hacer determinada acción.
  • ! : Operdaro NOT (NO) quiere decir que se niega la afirmación para cambiar su valor, es decir cambia de verdadero a falso y de falso a verdadero.
Es muy importante reconocer cuando y como se deben utilizar los operadores lógicos, ya que estos indican cual será el flujo de ejecución de nuestras aplicaciones. Supongamos que estamos desarrollando un formulario en el que todos los datos del usuario son obligatorios, cuando el usuario final presione clic en el botón para guardar los datos, debemos validar si toda la información está debidamente diligenciada, en ese caso usaríamos al operador && ya que este indica que todo debe ser igual a verdadero.

if(nombre.text != "" && apellido.text != "" && telefono.text != "" ) // OK

La condición pregunta por el valor del texto de tres campos de texto (nombre, apellido, telefono), si el valor de texto es diferente de nada (es decir, si está lleno) quiere decir que todo está bien, ahora en caso de que alguno de los campos no cumpla la condición no se puede guardar la información y se le mostrará una alerta o un mensaje al usuario.

Es importante ver como las condiciones están dadas por parejas: telefono.text!= "" estas parejas se forman por valor operador relacional valor y cuando se desea comparar ese resultado por otro valor es necesario implementar los operadores lógicos.

Esto es todo para este tutorial, en el siguiente escribiré sobre las tablas de verdad, y sobre el manejo de condiciones en C#.

Espero sus comentarios.
--

4 comentarios:

  1. Excelente profe, gracias
    esperamos el 3 tutorial

    ResponderEliminar
  2. hi gracias opr el aporte

    ResponderEliminar
  3. como harias para comparar 10 botones si estan habilitados? harias un poco de if else para ir comparando? o un ciclo for hasta 10 y verificando cada boton?

    ResponderEliminar
  4. el ciclo for no es el más adecuado en ese caso, para ese ejercicio lo mejor es utilizar el ciclo foreach y recorrer la colección de controles de esta forma:

    for each(Button i in this.Controls){
    if(i.Enabled){
    //lo que quieras aquí
    }
    }

    y listo!

    ResponderEliminar