- Conceptos básicos
- Operaciones de asignación
- Operaciones aritméticas
- Incremento y decremento
- Operaciones de comparación
- Operaciones lógicas
- Operaciones a nivel de bits
- Operaciones de modificación
- Operador ternario condicional
- Coma
- Operadores especiales sizeof y typename
- Agrupación con paréntesis
- Prioridades de las operaciones
Expresiones
Las expresiones son elementos esenciales de cualquier lenguaje de programación. Cualquiera que sea la idea práctica que subyace en un algoritmo, al final este se reduce al tratamiento de datos, es decir, a cálculos. La expresión describe el cálculo de un resultado a partir de uno o varios valores predefinidos. Los valores se denominan operandos, mientras que las acciones que se realizan con ellos se denotan mediante operaciones u operadores.
Como operadores que permiten manipular con operandos, en las expresiones se utilizan caracteres independientes o secuencias de los mismos, como '+' para sumar o '*' para multiplicar. Todos ellos forman varios grupos, como aritmética, a nivel de bits, comparación y lógica, además de algunos especializados.
Ya hemos utilizado expresiones en las secciones anteriores de este libro, por ejemplo para inicializar variables. En el caso más sencillo, la expresión es una constante (literal) que es el único operando, mientras que el resultado del cálculo es igual al valor del operando. No obstante, los operandos también pueden ser variables, elementos de arrays, resultados de llamadas a funciones (para las que la función se llama directamente desde la expresión), expresiones anidadas y otras entidades.
Todos los operadores sustituyen (devuelven) su resultado en la expresión padre, directamente en el lugar en el que había operandos, lo que permite combinarlos formando estructuras jerárquicas bastante complejas. Por ejemplo, en la siguiente expresión, el resultado de multiplicar las variables b por c se suma al valor de la variable a, y a continuación el valor obtenido se almacenará en la variable v:
v = a + b * c; |
En esta sección analizaremos los principios generales de la construcción y el cálculo de varias expresiones, así como el conjunto estándar de operadores admitidos en MQL5 para los tipos integrados. Más adelante, en la parte dedicada a la programación orientada a objetos (POO), descubriremos cómo se pueden recargar (redefinir) los operadores para tipos personalizados, es decir, estructuras y clases, lo que nos permitirá utilizar objetos en expresiones y realizar con ellos acciones no estándar.