Ejemplo basado en la sintaxis del lenguaje Visual Basic.
La sentencia IF se utiliza para decidir que líneas del código del programa serán ejecutadas y cuáles no, esta decisión es tomada de acuerdo a una condición que define una salida verdadera o falsa típicamente, necesaria para realizar un cálculo o proceso que nos lleve al resultado esperado.
- IF es donde definimos la condición o condiciones a evaluar para obtener una respuesta positiva o negativa, se requiere una variable o más de una para hacer las comparaciones, generando un resultado que nos indique que líneas de código se deberán ejecutar a continuación.
- ELSE se usa como una instrucción que separa las dos condiciones, verdadera o falsa, de modo que podemos definir si el resultado de la condición no fue positivo, es decir, SI NO, se tome el resultado negativo de la condición para ser ejecutadas las instrucciones definidas en ese bloque.
- ENDIF define donde se termina la condición.
IF puede definirse con una sola condición o con varias, agrupadas por un AND o un OR de forma lógica de modo que IF - ENDIF forman un bloque y toda instrucción que se encuentre dentro de éste bloque será ejecutada u omitida de acuerdo al resultado de la condición evaluada.
Hay lenguajes que en su sintaxis no incluyen la instrucción THEN y ENDIF, por lo que es necesario investigar cómo se escribe y se define el bloque de instrucciones a ejecutar.
Si no se crea un bloque de instrucciones, IF ejecuta únicamente la instrucción inmediata siguiente si la condición es positiva.
La instrucción IF puede contener otra sentencia IF dentro, a esto se le llama IF anidado, los IF anidados pueden ser también más de uno, definir varios IF anidados hace más complejo para el programador definir los resultados de salida de la condición.
Este ejemplo compara cuál es el mayor de dos números 5 y 3 mediante la instrucción IF, el 5 asignado a la variable Num1 y el 3 Asignado al variable Num2, al comparar si Num1(5) es mayor que Num2(3), la respuesta será positiva, por lo que lo que muestra el mensaje mediante MSGBOX que Num1(5) Es mayor, si cambiamos los valores, donde Num2 sea mayor se ejecutaría la línea después de la instrucción ELSE, respuesta negativa omitiendo la línea anterior al ELSE.
El ejemplo anterior no puede valorar el caso cuando los números son iguales, pues la respuesta sería negativa ya que un número no será mayor que el otro.
En base al ejemplo anterior se describe como resolver para el caso de que los números sean iguales, se emplea una condición IF anidada para encontrar la solución, usando las variables NumA y NumB.
Solución usando tres sentencias IF independientes para llegar al resultado.
Aquí 2 vídeos con ejemplos en pseudocódigo de la sentencia IF.