제어#

소개#

VEXcode IQ(2세대)의 제어 블록은 반복문, 조건문, 블록 실행 지연 등을 처리하여 프로젝트의 흐름을 관리합니다.

루프란 컴퓨터가 명령을 받을 때까지 동일한 단계 또는 일련의 단계를 반복하는 것을 말합니다. 조건이란 컴퓨터가 다음에 수행할 작업을 결정하기 위해 확인하는 규칙입니다. 예를 들어, 센서가 물체를 감지하면 로봇은 앞으로 이동할 수 있습니다.

아래는 사용 가능한 블록 목록입니다.

  • wait – 특정 시간 동안 블록 실행을 일시 중지합니다.

  • wait until – 지정된 조건이 충족될 때까지 블록 실행을 일시 중지합니다.

  • 반복 – 블록 세트를 지정된 횟수만큼 반복합니다.

  • 영원히 – 블록 세트를 무한히 반복합니다.

  • 반복할 때까지 – 조건이 충족될 때까지 블록 세트를 반복합니다.

  • while – 조건이 참인 동안 블록 세트를 반복합니다.

  • if – 조건이 참이면 블록 세트를 실행합니다.

  • if / else – 조건이 참이면 한 세트의 블록을 실행하고, 그렇지 않으면 다른 세트를 실행합니다.

  • if / else if / else – 여러 조건에 따라 다른 블록 세트를 실행합니다.

  • break – repeat, forever, repeat until, 또는 while 루프를 즉시 종료합니다.

  • 프로젝트 중지 – 프로젝트를 종료합니다.

기다리다#

대기 스택 블록은 다음 블록으로 넘어가기 전에 특정 시간 동안 블록 실행을 일시 중지합니다.

대기 스택 블록#
(1)초 기다리기

매개변수

설명

시간

기다려야 하는 시간을 양의 정수 또는 소수(초)로 나타냅니다.

예

작동을 시작하면 1초 동안 앞으로 움직인 후 모든 움직임을 멈춥니다.#
시작 시
[Move forward for one second, then stop.]
[앞으로 v] 방향으로 주행
(1)초 기다리기
주행 정지

~까지 기다리세요#

wait until 스택 블록은 지정된 조건이 충족될 때까지 블록 실행을 일시 중지한 후 다음 블록으로 이동합니다.

스택 블록이 될 때까지 기다리세요#
<>까지 기다리기

매개변수

설명

상태

다음 단계로 넘어가기 전에 충족해야 하는 조건입니다.

예

작동을 시작하면 브레인 체크 버튼을 누를 때까지 앞으로 이동하다가 버튼을 누르면 모든 움직임이 멈춥니다.#
시작 시
[Move forward until a button is pressed, then stop.]
[앞으로 v] 방향으로 주행
<Brain [확인 v] 버튼 눌림?>까지 기다리기
주행 정지

반복하다#

반복 C 블록은 그 안에 있는 블록들을 정해진 횟수만큼 실행합니다.

c 블록 반복#
[10]번 반복
끝

매개변수

설명

타임스

반복 블록이 실행되는 횟수를 설정하는 정수입니다.

예

시작 시
[Move in a square path.]
[4]번 반복
[앞으로 v] 방향으로 [150] [mm v] 주행 ▶
[오른쪽 v] 방향으로 [90]도 회전 ▶
끝

영원히#

영원한 C 블록은 멈추지 않고 그 안에 있는 블록들을 계속해서 반복 실행합니다.

포에버 C 블록#
무한 반복
끝

매개변수

설명

이 블록에는 매개변수가 없습니다.

예

작동을 시작하면 50mm 앞으로 이동하고 오른쪽으로 90도 회전하는 정사각형 경로를 따라 무한히 움직입니다.#
시작 시
[Move in a square path forever.]
무한 반복
[앞으로 v] 방향으로 [150] [mm v] 주행 ▶
[오른쪽 v] 방향으로 [90]도 회전 ▶
끝

반복할 때까지#

반복 실행 C 블록은 지정된 조건이 충족될 때까지 그 안에 있는 블록들을 반복적으로 실행합니다.

블록될 때까지 반복#
<>까지 반복
끝

매개변수

설명

상태

각 반복문 실행 전에 확인하는 표현식 또는 변수입니다. 이 변수가 False이면 반복문이 계속 실행되고, True이면 반복문이 종료됩니다.

예

전원을 켜면 브레인 체크 버튼을 누를 때까지 사이렌 소리가 나고, 버튼을 누르면 전원 차단음이 납니다.#
시작 시
[Play a sound until a button is pressed.]
<Brain [확인 v] 버튼 눌림?>까지 반복
소리 [사이렌 v] 재생
(0.5)초 기다리기
끝
(0.5)초 기다리기
소리 [전원 꺼짐 v] 재생

~하는 동안#

C 블록의 while 구문은 지정된 조건이 충족되는 동안 내부 블록을 반복적으로 실행합니다.

c 블록 동안#
<> 동안
끝

매개변수

설명

상태

각 반복문 실행 전에 확인하는 표현식 또는 변수입니다. 이 변수가 참이면 반복문이 계속 실행되고, 거짓이면 반복문이 종료됩니다.

예

시동을 걸면 구동계가 움직이는 동안 알람이 울립니다.#
시작 시
[Play an alarm while the robot is moving.]
[앞으로 v] 방향으로 [300] [mm v] 주행 ◀ 및 기다리지 않음
<주행 중?> 동안
소리 [알람 v] 재생
(0.3)초 기다리기
끝

만약에#

C 블록의 if 조건문은 조건이 참일 경우 내부 블록들을 실행합니다.

블록인 경우#
<>이면
끝

매개변수

설명

상태

조건문이 실행될 때 검사되는 표현식 또는 변수입니다. 이 값이 참이면 if 블록 안의 블록들이 실행되고, 거짓이면 해당 블록들은 건너뛰어집니다.

예

작동을 시작하면 브레인 체크 버튼이 눌렸는지 지속적으로 확인합니다. 버튼이 눌렸으면 로봇은 오른쪽으로 회전합니다.#
시작 시
[Turn in a circle if a button is pressed.]
무한 반복
<Brain [확인 v] 버튼 눌림?>이면
[오른쪽 v] 방향으로 (360)도 회전 ▶
끝
주행 정지
끝

만약 / 그렇지 않다면#

C 블록의 if / else 구문은 조건이 참인지 거짓인지에 따라 어떤 블록들이 실행될지 결정합니다.

만약 그렇다면 그렇지 않으면 블록#
<>이면
아니면
끝

매개변수

설명

상태

문장이 실행될 때 검사되는 표현식 또는 변수입니다. 이 변수가 참이면 if 블록 안의 블록들이 실행되고, 거짓이면 else 블록 안의 블록들이 실행됩니다.

예

시동을 걸면 브레인 체크 버튼을 누를 때마다 오른쪽으로 반복해서 회전하고, 그렇지 않으면 사이렌이 울립니다.#
시작 시
[Repeatedly play a sound if a button is not pressed.]
무한 반복
<Brain [확인 v] 버튼 눌림?>이면
[오른쪽 v] 방향으로 (360)도 회전 ▶
아니면
소리 [사이렌 v] 재생
(0.5)초 기다리기
끝

만약 / 그렇지 않다면 / 그렇지 않다면#

if / else if / else 확장형 C 블록은 조건에 따라 어떤 블록 집합이 실행될지 선택합니다.

  • if 문은 조건이 True로 평가되면 해당 코드 블록을 실행합니다.

  • else if 문은 이전의 모든 조건이 False로 평가된 경우에만 추가 조건을 확인합니다. 여러 개의 else if 문을 사용할 수 있습니다.

  • else는 이전 조건 중 어느 것도 True로 평가되지 않은 경우에만 해당 코드 블록을 실행합니다.

if else if else 블록#
<>이면
아니면 <>이면
아니면
끝

매개변수

설명

상태

문장이 실행될 때 검사되는 표현식 또는 변수입니다. 첫 번째 조건이 참이면 해당 블록 집합이 실행됩니다. 모든 조건이 거짓으로 평가되면 else 블록 안의 블록들이 실행됩니다.

예

작동을 시작하면 ‘브레인 라이트’ 버튼을 누르면 오른쪽으로 회전하고, ‘브레인 레프트’ 버튼을 누르면 왼쪽으로 회전하며, 그렇지 않으면 멈춥니다.#
시작 시
[Turn right if the right button on the brain is pressed, left if the left is pressed, and stop if anything else is pressed.]
무한 반복
<Brain [Right v] 버튼 눌림?>이면
[오른쪽 v] 방향으로 (90)도 회전 ▶
아니면 <Brain [Left v] 버튼 눌림?>이면
[왼쪽 v] 방향으로 (90)도 회전 ▶
아니면
주행 정지
끝
끝

부서지다#

The break stack block exits a loop immediately. This block can be used inside repeat, repeat until, while, and forever blocks. Break is useful when a loop needs to stop early based on something that happens during the project, like a button being pressed or a sensor detecting an object.

스택 블록을 깨뜨리다#
중단

매개변수

설명

이 블록에는 매개변수가 없습니다.

예

시동을 걸면 브레인 체크 버튼을 누를 때까지 회전하다가, 버튼을 누르면 주행이 멈추고 전원 차단음이 재생됩니다.#
시작 시
[Stop turning after a button is pressed.]
무한 반복
[오른쪽 v] 방향으로 회전
<Brain [확인 v] 버튼 눌림?>이면
중단
끝
끝
주행 정지
소리 [전원 꺼짐 v] 재생

프로젝트 중단#

프로젝트 중지 스택 블록은 실행 중인 프로젝트를 종료합니다.

프로젝트 블록 중지#
프로젝트 정지

매개변수

설명

이 블록에는 매개변수가 없습니다.

예

시작 시, 브레인 체크 버튼을 누를 때까지 회전하다가 버튼을 누르면 프로젝트가 중지됩니다.#
시작 시
[Stop the project entirely after a button is pressed.]
무한 반복
[오른쪽 v] 방향으로 회전
<Brain [확인 v] 버튼 눌림?>이면
프로젝트 정지
끝
끝
소리 [전원 꺼짐 v] 재생