Использование логических значений в 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.

Тип данных bool генерирует логически истинное или ложное значение.

Логические/логические операторы

Скриншот описания категории «Программирование V5», содержащий обзор тем программирования, инструментов и ресурсов, доступных пользователям, с понятным макетом и организованными разделами для удобной навигации.

Логические/логические выражения
если(<boolean expressions>)
	{
	.....<block>
}

<boolean expressions> будет содержать одно или сложное выражение, которое необходимо оценить. <block> означает блок кода, который будет выполнен только в том случае, если <boolean expressions> будут оценены как истинные.

Дополнительные логические выражения:
Логическое выражение Что это значит
если (х == 10) если х равен 10
если (х <= 10) если x меньше и равно 10
если (х > 10 || у > 20) если x больше 10 или y больше 20
если (х <= 10 && у <= 20) если x<=10 и y<=20
если !(x > 10 || y > 20) если x<=10 иy<=20
если ( !( х <=10 || х >=20)) Если х>10 их<20

Будьте особенно осторожны при использовании логических выражений!

Логический тип (bool) — это простое целочисленное значение.

Давайте посмотрим, как интерпретируется , если (...):

  • , если (...) будет вычислено компилятором; оно производит значение истинного или ложного.
  • Правда в том, что когда ( ... ) выдает что-то отличное от 0 (т.е. ноль), , если ( .... ) будет означать истину.
  • Итак: следующие выражения всегда верны:
    • если (1)
    • если ( 10 )
    • if (что-нибудь дает ненулевое значение)

     

Распространенные ошибки, на которые следует обратить внимание:

Пример 1:

целое число X = 10, Y = 20;
if (X = Y)
	Brain.Screen.print("X и Y одинаковы.");   
else
	Brain.Screen.print("X и Y разные.");

Вывод: X и Y одинаковы. 

Почему?

, если (X = Y)действительно означает:

  • Присвойте Y X, чтобы X имел значение 20. 
  • Компилятор интерпретирует это так, как если бы (20) где (20) истинно, а не (0).

Пример 2:

интервал Х = 0, Y = 0;
if (X = Y)
	Brain.Screen.print("X и Y одинаковы.");   
else
	Brain.Screen.print("X и Y разные.");

Вывод: X и Y различны. 

Почему?

, если (X = Y) действительно означает:

  • Присвойте Y значению X, чтобы X имело значение 0 (ноль).
  • Компилятор интерпретирует это как: (0) как ложь.

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

Last Updated: