VEXcode EXP에서 블록에서 텍스트 기반 코딩으로 전환하기 위한 스위치 블록 사용

Switch는 블록 기반 프로그래밍의 친숙한 요소를 통합하고 텍스트 명령을 입력할 수 있는 텍스트 상자를 통합했습니다. 다음 비디오를 시청하면 Switch 블록에 Python 코드가 입력되는 예를 볼 수 있습니다.

Switch 블록은Python과만 호환됩니다.


Switch는 학생들에게 블록 기반 코딩에서 텍스트 기반 코딩으로 자연스럽게 이어지는 연결 고리를 제공합니다. 학생들이 명령의 논리와 순서에 익숙해지면, 한 번에 한 블록씩 프로젝트를 변환하기 시작할 수 있습니다. 

이를 통해 학생들은 블록 기반 프로그램의 논리적 흐름에 따라 작업을 계속할 수 있고, 다른 블록 주위로 루프를 감싸는 것과 같은 작업을 실제로 볼 수 있으며, 텍스트 명령 자체를 실험해 볼 수도 있습니다. 블록이 Switch로 변환되면 학생들은 매개변수를 쉽게 변경하고 텍스트 명령의 구문을 이해하기 시작할 수 있습니다. 이 섹션에서는 VEXcode 프로젝트에서 이러한 블록을 사용하는 방법을 설명하기 위해 학생이 Switch를 사용하는 과정을 안내합니다.

스위치 블록 시작하기

Switch Blocks로 코딩을 시작하려면 다음이 필요합니다.

  • 컴퓨터(모바일 기기 아님)

블록 프로젝트에 표시된 스위치 블록이 있는 VEXcode EXP 코드 뷰어 메뉴입니다. C++ 옵션은 회색으로 표시되고 비활성화로 표시됩니다. 코드 뷰어의 Python 옵션은 여전히 활성화되어 있습니다.

블록이 스위치 블록으로 변환되면 코드 뷰어의 C++가 비활성화됩니다.

블록을 스위치로 변환

단일 블록을 스위치로 변환

VEXcode EXP 작업 공간에서 블록을 구동하고 컨텍스트 메뉴를 엽니다. 메뉴에는 복제, 블록 비활성화, 블록 삭제, 블록 도움말, 블록을 스위치 블록으로 변환, 블록 읽기 등 6가지 옵션이 있습니다.

스위치 블록으로 변환하려는 블록을 마우스 오른쪽 버튼으로 클릭합니다.

VEXcode EXP 작업 공간에서 블록을 구동하고 컨텍스트 메뉴를 엽니다. 블록을 스위치 블록으로 변환 옵션이 선택되었습니다.

블록을 스위치 블록로 변환을 선택하세요.

Drive for 블록이 Switch 블록으로 변환되었으며, 이제 drivetrain.drive_for(FORWARD, 10, INCHES)를 읽는 Python 코드가 있습니다.

이제 블록은 동일한 매개변수를 가진 스위치 블록으로 전환됩니다.

VEXcode EXP 도구 모음에서 다시 실행 아이콘 왼쪽에 실행 취소 아이콘이 강조 표시되어 있습니다.

변환 후 스위치 블록을 다시 블록으로 되돌리려면실행 취소 버튼을 선택하세요.

여러 블록을 스위치로 변환

블록 스택의 맨 위에 있는 블록을 드라이브하면 상황에 맞는 메뉴가 열립니다. 이제 컨텍스트 메뉴에 '스택을 스위치 블록으로 변환'이라는 또 다른 옵션이 생겼는데, 이 옵션은 '블록을 스위치 블록으로 변환' 옵션 바로 아래에 있습니다.

스위치 블록으로 변환하려는 스택의 맨 위를 마우스 오른쪽 버튼으로 클릭합니다.

블록 스택의 맨 위에 있는 블록을 드라이브하려면 상황에 맞는 메뉴가 열리고 스택을 스위치 블록으로 변환 옵션이 선택됩니다.

스택을 스위치 블록로 변환을 선택하세요.

3개의 블록으로 구성된 전체 스택이 하나의 Switch 블록으로 변환되었으며, 각 블록 명령에 대해 한 줄의 Python이 사용되었습니다.

마우스 오른쪽 버튼을 클릭한 블록과 그 아래의 모든 블록이 스위치 블록으로 변환됩니다.

래퍼 내부의 블록을 스위치로 변환

한 번의 클릭으로 Wrapper와 그 모든 콘텐츠를 Switch로 변환할 수 있습니다.

다른 블록을 포함하는 반복 블록의 상황에 맞는 메뉴가 열립니다. 이것은 C 블록이기 때문에 스위치 블록으로 변환 옵션이 변경되었고, 이제 래퍼를 스위치 블록으로 변환 및 래퍼와 내용을 스위치 블록으로 변환으로 읽힙니다.

변환하려는 래퍼를 마우스 오른쪽 버튼으로 클릭합니다.

다른 블록을 포함하는 반복 블록의 경우 상황에 맞는 메뉴가 열리고 래퍼 및 내용을 스위치 블록으로 변환 옵션이 선택됩니다.

래퍼 및 내용을 스위치 블록로 변환을 선택하세요.

래퍼 블록과 중첩 블록이 포함된 전체 스택이 모두 하나의 Switch 블록으로 변환되었습니다. 각 블록 명령에 해당하는 Python 줄이 하나씩 있습니다.

Wrapper의 모든 내용은 단일 Switch Block으로 변환됩니다.

스위치 블록을 사용하세요

도구 상자에서 스위치 블록 추가

이 영상에서 보여지는 것처럼 도구 상자에서 스위치 블록을 클릭하고 드래그합니다.

스위치 블록을 입력하세요

스위치 블록의 텍스트 필드를 선택한 다음, 이 영상에 표시된 대로 원하는 명령을 입력합니다.

스위치 블록 내부에서 텍스트 복사 및 붙여넣기

스위치 블록에서 텍스트를 강조 표시하려면 클릭하고 드래그하세요. 마우스 오른쪽 버튼을 클릭하고 복사를 선택하세요. 다음으로, 다른 스위치 블록 내부를 클릭합니다. 마지막으로, 이 영상에서 보여지는 것처럼 마우스 오른쪽 버튼을 클릭하고 붙여넣기를 선택하여 텍스트를 전송합니다.

추가 스위치 블록

스위치 블록은 다른 블록과 동일한 모양 규칙을 따릅니다. 이 표는 블록 모양, 그 의미, 동일한 유형의 스위치 블록을 비교한 것입니다.

블록 모양 설명 블록 예제 스위치 예제
모자 블록 블록을 쌓아 놓고 아래에 블록을 부착할 모양을 만듭니다. 내 블록 정의 모자 블록. 모자 바꾸기 블록. Python 코드는 def print_name을 읽습니다.
블록을 쌓다 주요 명령을 수행합니다. 이들은 다른 스택 블록 위나 아래에 부착되도록 모양이 정해져 있습니다. 스택 블록을 위한 드라이브. 스위치 스택 블록. Python 코드는 drivetrain.drive_for(FORWARD, 200, MM)을 읽습니다.
부울 블록 조건을 참 또는 거짓으로 반환하고 다른 블록에 대한 육각형(육면체) 입력이 있는 모든 블록에 맞습니다. 범퍼 부울 블록을 누릅니다. 부울 블록을 전환합니다. Python 코드는 left_bumper.pressed()를 읽습니다.
리포터 블록 숫자 형태로 값을 보고하고, 다른 블록에 대한 타원형 입력이 있는 모든 블록 안에 들어갑니다. 타이머 값 보고자 블록. 리포터 블록을 전환합니다. Python 코드는 brain.timer_time(SECONDS)를 읽습니다.
C 블록 블록 안의 블록을 반복하거나 조건이 참인지 거짓인지 확인합니다. 이것은 위, 아래 또는 안쪽에 쌓인 블록을 부착할 수 있도록 만들어졌습니다. 포에버 C 블록. If then else C 블록. 스위치 C 블록. Python 코드는 while true를 읽습니다. 스위치 C 확장형 블록. Python 코드는 left_bumper.pressed()가 실행되면 'if left_bumper.pressed()', 그렇지 않으면 'else'를 읽습니다.

 

1Weintrop, David, Uri Wilensky. "블록 기반, 텍스트 기반 및 하이브리드 블록/텍스트 모달리티가 초보자 프로그래밍 관행에 어떤 영향을 미치는가."  국제 아동-컴퓨터 상호작용 저널 17(2018): 83-92

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

Last Updated: