Uso de booleanos en VEXcode Pro V5

The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.

VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.

El tipo de datos "bool" genera lógicamente verdadero o falso.

Operadores lógicos/booleanos

Captura de pantalla de la descripción de la categoría Programación V5, con una descripción general de los temas, herramientas y recursos de programación disponibles para los usuarios, con un diseño limpio y secciones organizadas para facilitar la navegación.

Expresiones lógicas/booleanas
if(<boolean expressions>)
	{
	.....<block>
	}

El <boolean expressions> contendrá una expresión única o compleja a evaluar. El <block> significa un bloque de código que se ejecutará solo si <boolean expressions> se evalúa que es verdadero.

Más expresiones booleanas:
Expresión booleana Qué significa
si (x == 10) si x es igual a 10
si (x <= 10) si x es menor que e igual a 10
if (x > 10 || y > 20) si x es mayor que 10 o y es mayor que 20
si (x <= 10 && y <= 20) si x<=10 e y<=20
if !(x > 10 || y > 20) si x<=10  e y<=20
if ( !( x <=10 || x >=20) ) Si x>10 y x<20

¡Tenga especial cuidado al usar expresiones booleanas!

Un tipo booleano (bool) es un valor entero simple.

Veamos cómo se interpreta si (... ):

  • si (...) será calculado por el compilador; produce un significado de verdadero o falso.
  • La verdad es: cuando ( ... ) produce cualquier cosa que no sea 0 (es decir, cero), el si ( .... ) significará verdadero.
  • Entonces: las siguientes expresiones siempre son verdaderas:
    • if (1)
    • if ( 10 )
    • if ( cualquier resultado distinto de cero)

     

Errores comunes a los que debe prestar atención:

Ejemplo 1:

int X = 10, Y=20;
if  (X = Y
	) 	brain.Screen.print ("X e Y son iguales");   
else
	brain.Screen.print("X e Y son diferentes");

Resultado: X e Y son iguales. 

¿Por qué?

si (X = Y) realmente significa:

  • Asigne Y a X, para que X tenga un valor de 20 
  • El compilador lo interpreta como si (20) donde (20) es verdadero ya que no es (0).

Ejemplo 2:

int X = 0, Y=0;
if  (X = Y
	) 	brain.Screen.print ("X e Y son iguales");   
else
	brain.Screen.print("X e Y son diferentes");

Resultado: X e Y son diferentes. 

¿Por qué?

si (X = Y) realmente significa:

  • Asigne Y a X, por lo que X tiene un valor de 0 (cero).
  • El compilador lo interpreta como: (0) como falso.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: