El control condicional If
La instrucción IF permite decidir si se ejecuta un bloque de código. La decisión viene de controlar una expresión relacional, es decir, una expresión que siempre devuelve un resultado booleano VERDADERO o FALSO. La sintaxis es la siguiente:
- If (Expresión Relacional)
- Instrucción1...
- Instrucción2...
- EndIf
La expresión relacional representa la relación entre operandos de la que se obtiene un resultado booleano. Si el resultado es VERDADERO, se ejecuta el bloque de código entre If y EndIf. La palabra clave "EndIf" siempre cierra el bloque de código abierto por If. Si la expresión devuelve FALSO, la ejecución salta a las siguientes instrucciones "EndIf".
Por ejemplo:
- x = 10
- If x > 5
- Circle(50,50,30)
- EndIf
Hemos instanciado una variable llamada "x". El bloque If sólo se ejecuta si "x" es mayor que 5. Como la variable contiene 10, entonces se dibuja un círculo.
Una instrucción "If" puede ir acompañada de una instrucción "ELSE". ELSE permite aprovechar ambos estados de la expresión booleana inicial porque delimita el bloque de código ejecutado en caso de que la condición sea FALSA.
- If (Expresión Relacional)
- Instrucción1...
- Instrucción2...
- Else
- Instrucción3...
- Instrucción4...
- EndIf
Si la expresión devuelve el valor TRUE, se ejecuta el bloque IF que consiste en las instrucciones 1 y 2, en caso contrario el agente de usuario ejecuta el bloque de código que consiste en las instrucciones 3 y 4.
Por ejemplo:
- x = 10
- If x > 5
- Circle(50,50,30)
- Else
- Square(20,20,30)
- EndIf
En este ejemplo, si la variable "x" es mayor que 5 se dibuja un círculo, en caso contrario si es menor o igual a 5 se dibuja un cuadrado (la instrucción contenida en el bloque ELSE).
Otra instrucción IF o ELSE puede contener otra instrucción IF. En este caso particular estamos en presencia de IF anidados.
- If (Expresión Relacional)
- instrucción1...
- instrucción2...
- If (Expresión Relacional2)
- instrucción5...
- EndIf
- Else
- instrucción3...
- instrucción4...
- EndIf
Las condiciones IF pueden ser utilizadas en una cadena mediante el uso de la instrucción especial ELSEIF. En este tipo particular de concatenación, se evalúan varias expresiones relacionales en una cadena, de arriba a abajo. Si una de las condiciones es VERDADERA, entonces se ejecuta el bloque de código correspondiente. De lo contrario, si está presente, el bloque de código final ELSE se ejecuta.
- If (Expresión Relacional1)
- instrucción1...
- instrucción2...
- ElseIf (Expresión Relacional2)
- instrucción3...
- instrucción4...
- ElseIf (Expresión Relacional3)
- instrucción5...
- instrucción6...
- Else
- instrucción7...
- instrucción8...
- EndIf
Si la expresión1 es VERDADERA, se ejecutan los bloques de instrucciones 1 y 2, en caso contrario si la expresión2 es VERDADERA, se ejecutan los bloques de instrucciones 3 y 4, en caso contrario si la expresión3 es VERDADERA, se ejecutan los bloques de instrucciones 5 y 6, en caso contrario el bloque de código final de Else consta de las instrucciones 7 y 8.