viernes, 27 de septiembre de 2013

Expresiones y Operadores en C# - Parte 1

Tabla de Contenido

0. Introducción
1. Concepto de Expresión
2. Expresiones Primarias
3. Expresiones Vacías
4. Expresiones de Asignación
5. Conclusiones
6. Glosario
7. Referencias

0. Introducción

Como en la matemática elemental, al igual en álgebra, existe los medios lógicos y estructurales necesarios para la construcción de expresiones que denoten un valor a partir de valores desconocidos (variables) y constantes o valores conocidos. En los lenguajes de programación este concepto matemático y algebraico se ha heredado para permitir crear algoritmos compuestos de instrucciones (los pasos), que al mismo tiempo éstas últimas estén compuestas por expresiones que generen un valor de acuerdo a los datos de entrada, combinados con constantes o valores aleatorios.

C# no es la excepción en este apartado: el programador a través de los elementos de construcción del lenguaje puede crear expresiones a partir de otras menos complejas, o desde una simple constante o variable.

Este es el tema que se va a tratar en este artículo, además de los operadores y otros elementos del lenguaje, que también son otra pieza fundamental para la formación de expresiones.

1. Concepto de Expresión

Una expresión consiste en la composición (simple o compleja, dependiendo de qué tipo de valor estemos esperando al final de la evaluación de la expresión) de valores constantes y variables que una vez evaluados (a través de operadores (tema de la segunda parte de este artículo)) generarán un valor.

En C#, por ejemplo, las expresiones más simples son:
  • La variable, y
  • La constante
La transformación de una expresión se puede llevar a cabo a través del uso de operadores. Esto se logra a través de la combinación de operandos con los operadores. Cuando se evalúe, a la que se le podría llamar expresión principal, ésta generará otra distinta, y que podría eventualmente ser parte de otra más compleja (una llamada a un método, por ejemplo).

Expresión Constante

Se refiere a una expresión que su valor es fijo, por ejemplo:
  • 1
  • Math.PI
  • 29
  • Math.E

Expresión Variable

Una expresión variable es aquella que está compuesta por la combinación de una o más variables (al igual que expresiones constantes). Ejemplos:
  • x
  • y
  • objetoComputador.ObtenerSerial();
  • aleatorio.Next();
Esta es una manera de crear expresión (del caso más sencillo al más complejo):
  • 12
    • 12 * 30
      • 1 + ( 12 * 30 )
En este ejemplo, la identación de los elementos demarca su sencillez (más a la izquierda) a su mayor complijadad (el caso contrario, mayor identación a la derecha) como en 1 + ( 12 * 30 ).

2. Expresiones Primarias

Son aquellas expresiones compuestas por los elementos de construcción básicos o intrínsecos del lenguaje. En C# un ejemplo sería:

Math.Log( 1 );

Por un lado, el operador de acceso a miembros: el operador . (punto) combinado con el operador de llamada a método, los paréntesis ovalares: (). Esta llamada de método es una expresión.

3. Expresiones Vacías (Void)

Estas expresiones se caracterizan por no devolver o generar un valor después de ejecutarse o evaluarse, como es el caso del método :

Console.WriteLine (1);

A partir de aquí se puede inferir que la expresión por su naturaleza de evaluación a vacío, no puede ser usada como operando en:

1 + Console.WriteLine (1) // Error en tiempo de compilación.

4. Expresiones de Asignación

El uso del operador de asignación es la clave para la colocación de valores resultantes de las evaluaciones de una expresión sobre una variable o constante. Ejemplo básico:

x = x * 5;

Una vez se evalúe x * 5 el valor generado se almacenará en la variable x. Eso nos revela que no se trata de una expresión vacía.

Por otro lado:

y = 5 * ( x = 2);

primero asigna 2 a la variable x, y luego ese valor multiplicado a por 5 nos da 10, que va a ser el valor que se asignará a y.

Otra demostración de múltiple asignación:

a = b = c = d = 0;

C# también dispone de operadores de asignación compuestos en los que se debe prestar particular atención:

x *= 2; // equivalante a x = x * 2;
x <<= 1; // equivalante a x = x << 1;

5. Conclusiones

Reconocer los diferentes tipos de expresiones que se pueden crear para un programa en C# es útil, debido a la utilidad ubicuidad de expresiones en la programación de cualquier rutina sobre el lenguaje.

6. Glosario

  • Expresión
  • Expresión vacía
  • Múltiple asignación
  • Operador de asignación compuesto

7. Referencias

[1]: C# 5.0 in a Nutshell by Joseph Albahari and Ben Albahari. Copyright 2012 Joseph Albahari and Ben Albahari, 978-1-449-32010-2.


O

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.