VEXcode Pro V5에서 불리언 사용하기

"bool" 데이터 유형은 논리적으로 true 또는 false를 생성합니다.

논리/부울 연산자

논리/부울 표현식
if(<boolean expressions>)
	{
	.....<block>
}

<boolean expressions> 에는 평가할 단일 또는 복잡한 표현식이 포함됩니다. <block> <boolean expressions> 참으로 평가되는 경우에만 실행되는 코드 블록을 의미합니다.

더 많은 불리언 표현식:
불리언 표현식 의미
만약 (x == 10) x가 10인 경우
만약 (x <= 10) x가 보다 작고 10인 경우
if (x > 10 || y > 20) x가 10보다 큰 경우 또는 y는 20보다 큽니다.
만약 (x <= 10 && y <= 20) x<=10 이고 y<=20인 경우
만약 !(x > 10 || y > 20) x<=10 이고y<=20인 경우
if ( !( x <=10 || x >=20) ) x>10 x<20인 경우

부울 표현식을 사용할 때는 특별한 주의를 기울이십시오!

부울 유형(bool)은 단순한 정수 값입니다.

if (... ) 어떻게 해석되는지 살펴보겠습니다.

  • if (...) 컴파일러에 의해 계산됩니다. 그것은 참 또는 거짓의 의미를 만들어냅니다.
  • 진실은: ( ... )가 0(즉, 0) 이외의 값을 생성할 때 if ( .... ) true를 의미한다는 것입니다.
  • 따라서 다음 표현식은 항상 true입니다.
    • 만약 (1)
    • 만약 ( 10 )
    • if(아무것도 0이 아닌 결과를 얻음)

     

주의해야 할 일반적인 오류:

예시 1:

정수 X = 10, Y=20;
if (X = Y)
	Brain.Screen.print("X와 Y는 같습니다.”);   
else
	Brain.Screen.print("X와 Y는 다릅니다.”);

출력: X와 Y는 동일합니다. 

왜?

if (X = Y)실제로 다음을 의미합니다.

  • Y를 X에 할당하면 X의 값은 20이 됩니다. 
  • 컴파일러는 이를 (20)인 것처럼 해석합니다. 여기서 (20)은 (0)이 아니므로 참입니다.

예 2:

정수 X = 0, Y=0;
if (X = Y)
	Brain.Screen.print("X와 Y는 같습니다.”);   
else
	Brain.Screen.print("X와 Y는 다릅니다.”);

출력: X와 Y는 다릅니다. 

왜?

if (X = Y) 실제로 다음을 의미합니다.

  • Y를 X에 할당하면 X의 값은 0(영)이 됩니다.
  • 컴파일러는 이를 (0)을 false로 해석합니다.

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

Last Updated: