31 may 2010

IF... THEN ... ELSE

Sintaxis

Caso 1

     IF Comparacion THEN
           Instrucciones1
     END IF

Caso 2

     IF Comparacion THEN
           Instrucciones2
     ELSE
         Instrucciones3
     END IF

Caso 3

     IF Comparacion THEN

          Instrucciones4
     ELSEIF Comparacion THEN
          Instrucciones5
     ELSE
         Instrucciones6
     ENDIF

Informacion General

Primer Caso :   Evalúa la comparación que sigue al IF, si se cumple el  o los criterios, se ejecutan las instrucciones1. Si la comparación no se cumple la instrucción se ignora

Segundo Caso:    Evalúa la comparación que sigue al IF, si se cumple el o los criterios, se ejecutan unicamente las instrucciones2; si la comparación no se cumple la instrucciónes2 se ignoran,y se pasa a verificar la comparacion que le sigue al ELSE, si se cumple el o los criterios, se ejecutan unicamente las instrucciones3; si la comparación no se cumple la instrucciónes3 se ignoran.

Tercer caso:  Evalúa la comparación que sigue al IF, si se cumple el o los criterios, se ejecutan unicamente las instrucciones4; si la comparación no se cumple la instrucciónes4 se ignoran,y se pasa a verificar la comparacion que le sigue al ELSEIF, si se cumple el o los criterios, se ejecutan unicamente las instrucciones5; si la comparación no se cumple la instrucciónes5 se ignoran, y se pasa a verificar la comparacion que le sigue al ELSE, si se cumple el o los criterios, se ejecutan unicamente las instrucciones6; si la comparación no se cumple la instrucciónes6 se ignoran.


Ejemplo 1

     SYMBOL LED = PORTB.4
     VAR1 = 3
     LOW LED


     IF VAR1 > 4 THEN

             HIGH LED
             DELAYMS 500 
             LOW LED

     END IF

       En el ejemplo anterior, VAR1 no es superior a 4, en consecuencia, el creiterio no se cumple, por lo que  las instrucciones HIGH LED, DELAYMS 500 y LOW LED,  nunca se ejecutan. Sin embargo, si cambiamos el valor de la variable VAR1 a 5, a continuación, el LED se encenderá durante 500 ms y luego se apaga, porque VAR1 es ahora mayor que 4, por lo que cumple los criterios de comparación.


Ejemplo 2


     IF X & 1 = 0 THEN
          A = 0
          B = 1
     ELSE
         A = 1
    ENDIF


Ejemplo 3

     IF X = 10 THEN
          HIGH LED1
     ELSEIF X = 20 THEN
          HIGH LED2
     ELSE
          HIGH LED3
     ENDIF


  ; Si X es igual a 10, enciende LED1 unicamente, SINO SI X es igual a 20, enciende LED2 unicamente, SINO se cumple ninguna de la anteriores entonces se enciende LED3 unicamente.


Ejemplo 4


     IF X >10 AND  X<50 THEN
          HIGH LED1
     ENDIF

; Enciende el LED1 solo si X es mayor a 10 y X es menor a 50.

Las comparaciones se pueden plantear de manera organizada con el uso de los parentesis, por ejemplo:

   IF (  (X>10 AND X<50) Or (X>80  AND X<100)  ) THEN
        HIGH LED1
  END IF

;En este  Enciende el LED1 solo si X es mayor a 10 y X es menor a 50, ò si X es mayor a 80 y X es menor a 100.

1 comentario: