제어#

소개#

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

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

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

  • 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 the screen is pressed, then stop.]
[앞으로 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이면 반복문이 종료됩니다.

예

처음 작동 시에는 화면을 누를 때까지 모든 LED가 빨간색으로 켜져 있다가 화면을 누르면 꺼집니다.#
시작 시
[Turn until the screen is pressed.]
<화면 눌림?>까지 반복
[오른쪽 v] 방향으로 회전
끝
주행 정지

~하는 동안#

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

c 블록 동안#
<> 동안
끝

매개변수

설명

상태

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

예

시작 블록으로 시작하고, 그 뒤에 “2초가 지나면 시간을 표시합니다”라는 주석 블록이 이어집니다. 대기 블록은 타이머가 2초에 도달하거나 초과할 때까지 실행을 일시 중지합니다. 이 조건이 충족되면 출력 블록이 타이머 값을 화면에 표시합니다.#
시작 시
[Display the time for one minute.]
<(타이머(초)) [math_less_than v] [60]> 동안
화면 지우기
화면에서 커서를 [1]행 [1]열로 이동
화면에 (타이머(초)) 출력 ▶

만약에#

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

블록인 경우#
<>이면
끝

매개변수

설명

상태

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

예

작동을 시작하면 화면이 눌렸는지 지속적으로 확인합니다. 화면이 눌리면 로봇은 중간 정도의 힘으로 물체를 찹니다.#
시작 시
[Turn in a circle if the screen is pressed.]
무한 반복
<화면 눌림?>이면
[오른쪽 v] 방향으로 [360]도 회전 ▶
끝
주행 정지
끝

만약 / 그렇지 않다면#

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

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

매개변수

설명

상태

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

예

만약 그렇다면 그렇지 않으면 블록#
시작 시
[Display a message if the screen is being pressed.]
무한 반복
화면 지우기
화면에서 커서를 [1]행 [1]열로 이동
<화면 눌림?>이면
화면에 [Pressed!] 출력 ▶
아니면
화면에 [Not pressed!] 출력 ▶
끝

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

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

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

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

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

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

매개변수

설명

상태

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

예

만약 그렇다면 그렇지 않으면 블록#
시작 시
[Move the robot based on the Controller button is being pressed.]
무한 반복
<[Controller1 v] [▶ v] 눌림?>이면
[오른쪽 v] 방향으로 회전
아니면 <[Controller1 v] [◀ v] 눌림?>이면
[왼쪽 v] 방향으로 회전
아니면
주행 정지
끝

부서지다#

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 the screen is pressed.]
무한 반복
[오른쪽 v] 방향으로 회전
<화면 눌림?>이면
중단
끝
끝
주행 정지

프로젝트 중단#

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

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

매개변수

설명

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

예

시작 시 화면을 누를 때까지 오른쪽으로 회전하다가 화면을 누르면 프로젝트가 중지됩니다.#
시작 시
[Stop the project entirely after the screen is pressed.]
무한 반복
[오른쪽 v] 방향으로 회전
<화면 눌림?>이면
프로젝트 정지
끝
끝