Evaluación de operadores en múltiples

Top  Previous  Next

Sean Var1, Var2, Var3 tres variables de tipo múltiple, y consideremos que TRUE es el resultado de cumplirse la condición y FALSE es el caso contrario (no cumplirse la condición).

Operador ‘=’

Evalúa todas y cada una de las menciones y comprueba que están incluidas en otra variable.Devuelve TRUE si todas y cada una de las menciones y comprueba que están incluidas en la otra vble. En caso contrario, es decir, si alguna de las menciones ni esta en la otra variable devuelve FALSE.

Var2 = Var1

Var1 = (1;2;3;4;5)        

Si Var2=(1;2)                ->TRUE

Si Var2=(6)                ->FALSE

Si Var2=(5;6)                ->FALSE (No todas las menciones de Var2 están en Var1)

Tiene la propiedad conmutativa Var1=Var2 es equivalente a Var2=Var1. no importa la posición de la variable respeto al operador, siempre compara la más pequeña con la más grande.

Var2 = Var1

Var1:=(1;2;3;4;5)

Si Var2=(1;2;6)        ->FALSE

Si Var2=(1;2;3;4;5;6)->TRUE (El 6 no está en Var1 pero todas las menciones de Var1 sí están en Var2)

Cuando evalúa comparará la más corta (menos menciones) con la más larga. Si se quisiera controlar esto (posición de la variable respecto al operador) y que el caso anterior (Var2:=(1;2;3;4;5;6)) hubiera devuelto FALSE tendríamos que haber controlado número de menciones y añadir al control una expresión del tipo (MENCIONES(Var2)<=MENCIONES(Var1)).

Operador ‘!=’

Evalúa todas y cada una de las menciones y comprueba si alguna está incluida en la otra variable. Devuelve TRUE si alguna de las menciones de Var2 está contenida en Var1. Devuelve FALSE únicamente su ninguna de las menciones de Var2 está contenida en Var1. Tiene la propiedad conmutativa: Var1=Var2 es equivalente a Var2=Var1.

Var2 != Var1

Var1:= (1;2;3;4;5)        

Si Var2:=(1;2)        ->TRUE

Si Var2:=(6)                ->FALSE

Si Var2:=(5;6)        ->TRUE

Ejemplos de aplicación

Por ejemplo, tenemos 3 vbles Var1, Var2 i Var3, sobre las cuales queremos aplicar los siguientes controles de grabación. Los valores registrados en Var2 tienen que estar grabados en Var1. Para eso definiremos el siguiente control en la vble Var2: NO VAR2=VAR1
Los valores grabados en Var3 han de estar registrados en Var1 pero no en Var2. Definimos el siguiente control en Var3: NO (VAR3 = VAR1 Y NO VAR3 != VAR2). Apreciar que la utilización del operador ‘!=’ sin el cual no seria posible la aplicación correcta del control.