Sentencias

Hasta ahora, hemos visto los tipos de datos, las declaraciones de variables y su uso en expresiones para cálculos. Sin embargo, estos son tan sólo pequeños ladrillos en el edificio al que se puede asemejar el programa. Incluso el programa más sencillo consta de bloques más grandes que permiten agrupar operaciones de tratamiento de datos relacionadas y controlar la secuencia de su ejecución. Estos bloques se denominan sentencias, y de hecho ya hemos utilizado algunas de ellas.

En concreto, la declaración de una variable (o de varias variables) es una sentencia. Asignar el resultado de la evaluación de la expresión a una variable también es una sentencia. En sentido estricto, la propia operación de asignación forma parte de la expresión, por lo que es más correcto denominar a una sentencia de este tipo sentencia de expresión. Por cierto: una expresión puede no contener un operador de asignación (por ejemplo, si simplemente llama a alguna función que no devuelve un valor, como Print("Hello");).

La ejecución del programa es la ejecución progresiva de sentencias: de arriba abajo y de izquierda a derecha (si hay varias sentencias en una línea). En el caso más sencillo, su secuencia se realiza linealmente, una tras otra. Para la mayoría de los programas, esto no es suficiente, por lo que existen varias sentencias de control que le permiten organizar bucles (repetición de cálculos) en los programas y la selección de opciones de funcionamiento del algoritmo en función de las condiciones.

Las sentencias son construcciones sintácticas especiales que representan el texto fuente escrito según las reglas. Las sentencias de un tipo determinado tienen sus propias reglas, pero hay algo en común: todos los tipos de sentencias terminan con un ';' excepto la sentencias sentencia compuesta. Esta puede prescindir del punto y coma porque su principio y su final están fijados por un par de llaves. Es importante señalar que gracias a la sentencia compuesta podemos incluir conjuntos de sentencias dentro de otras sentencias, construyendo estructuras jerárquicas arbitrarias de algoritmos.

En este capítulo nos familiarizaremos con todos los tipos de sentencias de control MQL5, además de consolidar las características de las sentencias de declaración y expresión.