Condiciones lógicas
Las condiciones son expresiones que normalmente son como las siguientes:
x < 320 (size == 100) AND (graph > 10) (y == 0) OR ((x >= 100) AND (x <= 200)) ...
En general, cualquier expresión es válida como condición. Cualquier valor
distinto de 0 sera cierto y 0 falso.
MAIN_PROGRAM_CDIV BEGIN_PROGRAM if (20*2+1) x=x+1; END_PROGRAM
En este ejemplo la sentencia x=x+1; se ejecutará siempre, pues la expresión 20*2+1 vale 41, que es un número mayor que 0. Todos los operadores disponibles son válidos dentro de una condición.
Todos los códigos identificadores de procesos son números mayores que 0, es decir, todos son ciertos. Es posible, por tanto, implementar condiciones como la siguiente (suponiendo que id2 se haya declarado como variable, y disparo es un tipo de proceso del programa).
id2=get_id("disparo"); while (id2){ id2->size = id2->size - 1; id2 = get_id("disparo"); }
En la condición (id2) se comprueba si la función get_id() ha devuelto un código identificador, pues éste será siempre un número mayor que 0 y la condición será evaluada como cierta (si get_id() no encuentra (más) identificadores de procesos "disparo", entonces devolverá 0 interpretándose la condición como falsa, y terminando la sentencia while.
Las sentencias anteriores decrementarían la variable size (tamaño) de todos los procesos de tipo disparo que hubiera en el programa.