Skip to main content

수업 2: 동작 반복하기

VR 로봇이 펜을 사용하여 아트 캔버스 놀이터 에 사각형을 그렸으므로 이제 블록을 반복하고 프로젝트를 단순화하는 방법을 배우게 됩니다. 이 수업에서는 [반복] 블록을 사용하여 아트 캔버스 놀이터 에 정사각형을 그리는 단계를 안내합니다.

프로젝트 마지막에 VR 로봇이 있는 아트 캔버스 놀이터. VR 로봇의 오른쪽 위 놀이터에 검은색 선이 그려진 사각형 하나가 그려져 있습니다.

학습 성과

  • [반복] 블록을 사용하여 블록 안의 블록을 지정된 횟수만큼 반복하는 방법을 식별합니다.
  • [반복] 블록이 정수를 매개변수로 받을 수 있다는 것을 확인하세요.
  • [반복] 블록을 종료하는 데 조건이 사용된다는 것을 식별합니다.
  • 프로젝트에서 [반복] 블록을 사용하는 이유를 설명하세요.
  • [반복] 블록이 포함된 프로젝트의 흐름을 설명하세요.

프로젝트 이름 바꾸기

  • 이전 수업의 프로젝트가 아직 로드되지 않았다면 Unit3Lesson1 프로젝트를 로드하세요.
  • 프로젝트 이름 상자를 선택하여 프로젝트 이름을 변경합니다.

    상단 중앙에 빨간색 상자가 있는 VEXcode VR 코딩 환경으로, 프로젝트 이름 상자를 나타냅니다. 프로젝트 이름 상자에는 단원 3 수업 1이라고 적혀 있습니다.
  • 새 프로젝트 이름 Unit3Lesson2입력하고 "저장"을 선택합니다.

    프로젝트 이름 팝업이 열리고 새로운 제목인 Unit 3 Lesson 2가 입력되었습니다. 프로젝트 이름 팝업 하단의 저장 옵션을 나타내는 빨간색 상자가 있습니다.

반복되는 동작

[반복] 블록은 블록 내의 블록을 지정된 횟수만큼 반복하는 데 사용됩니다. [반복] 블록은 블록이 반복되는 프로젝트를 만들 때 시간과 노력을 절약해줍니다. 작업 공간에 추가 블록을 끌어다 놓거나 기존 블록을 복제하는 데 시간을 들이는 대신 [반복] 블록을 사용하면 공간과 시간을 절약할 수 있습니다.

  • 이전 프로젝트를 수정하거나 이 기본 프로젝트와 일치하도록 새 프로젝트를 만듭니다. 기존 블록, 스위치 블록을 사용하거나 두 가지를 조합하여 프로젝트를 만들 수 있습니다. 

    시작 블록과 9개의 블록이 연결된 VEXcode VR 프로젝트입니다. 블록은 위에서 아래로 다음과 같이 읽습니다. 로봇 펜을 아래로 이동, 600mm 전진, 90도 우회전, 600mm 전진, 90도 우회전, 600mm 전진, 90도 우회전, 600mm 전진, 90도 우회전.
  • 이 프로젝트에서 반복되는 블록은 [Drive for]와 [Turn for] 블록입니다. 프로젝트의 아래쪽 6개 블록을 제거하여 [로봇 펜 이동] 블록 아래에 [운전] 블록 1개와 [회전] 블록 1개만 남도록 합니다.

    위의 프로젝트는 하단 6개 블록 주위에 빨간색 상자가 있습니다. 빨간색 화살표는 오른쪽을 가리키며, 6개 블록이 삭제되면 프로젝트가 어떻게 보일지 보여줍니다. 새로운 프로젝트에는 아래에 세 개의 블록이 첨부된 시작 블록이 있습니다. 로봇 펜을 아래로 움직이고, 600밀리미터 앞으로 이동하고, 90도 오른쪽으로 회전하라는 내용이 적혀 있습니다.
  • [반복] 블록을 드래그하세요. [반복] 블록은 작업 공간에 블록을 배치할 때 내부에 있을 블록 주위에 회색 그림자를 생성합니다.

    이전에 시작한 프로젝트는 시작 시 아래에 3개의 블록이 있었습니다. 앞으로 주행하고 오른쪽으로 회전하는 블록 주위에 반복 루프가 추가되는 과정이 표시되며, 블록이 어디로 갈지 미리 보여주는 그림자로 표시됩니다. 빨간색 화살표는 반복 루프가 추가된 후의 프로젝트를 보여주기 위해 오른쪽을 가리킵니다. 프로젝트가 시작되면 로봇 펜을 아래로 옮기고 10번을 반복합니다. 반복 10 안에는 두 개의 블록이 있습니다. 600mm만큼 앞으로 주행하고 90도만큼 오른쪽으로 회전합니다.
  • [반복] 블록의 매개변수를 “4”로 설정하면 VR 로봇이 정사각형의 네 변을 모두 그립니다.

    이전과 동일한 프로젝트이지만 반복 루프의 숫자 매개변수 주위에 빨간색 상자가 있습니다. 숫자가 10에서 4로 바뀌었습니다.

    스위치 블록 사용

    [반복] 블록은 정수를 허용합니다. [반복] 블록의 매개변수로 소수점 이하 자릿수는 작동하지 않습니다.

    VEXcode VR에서 루프를 반복합니다.

    이것은 스위치[반복] 블록입니다. 이 예에서 [반복] 블록은 동작을 10번 반복하도록 설정되었습니다. 명령,for repeat_count in range(10)10번 반복되는 루프를 시작하는 코드입니다. 

    반복 루프의 스위치 블록 버전입니다. 이 블록은 오른쪽 면이 열려 있는 정사각형 모양입니다. 블록 안의 텍스트는 범위 내에서 밑줄을 반복하라는 내용이며, 괄호 안에 숫자 10이 있고 끝에 콜론이 있습니다.

    아래 이미지는 Switch [Repeat] C-블록 내부에 중첩된 Switch [Drive for] 및 [Turn for] 명령을 보여줍니다. Switch [Repeat] 블록의 매개변수는 "4"로 설정되어 C 블록 내에 중첩된 [Drive for] 및 [Turn for] 명령이 4번 반복됩니다.

    이전과 동일한 스위치 반복 루프를 실행하고 괄호 안의 숫자를 4로 설정합니다. 블록의 열린 공간 안에는 두 개의 다른 스위치 블록이 있습니다. 첫 번째 블록은 드라이브트레인 도트 드라이브 언더스코어를 읽으며, 앞쪽 쉼표 600과 괄호 안에 쉼표 MM을 넣습니다. 두 번째 블록에는 드라이브트레인 점을 오른쪽으로 90도 돌려 밑줄을 괄호 안에 적었습니다.

    아래 이미지는 동일한 스위치 블록 스택을 하나의 스위치 블록으로 변환한 것을 보여줍니다.

     for repeat_count in range(4): 은 이 명령 아래에 들여쓰기된 코드 줄을4 번 반복하도록 로봇에 지시하는 반복 루프를 만드는 Python 명령입니다.

    다음 코드 줄은 반복될 동작이기 때문에 반복 명령 아래에 들여쓰기되어 있습니다. 들여쓰기는 기본적으로 4칸으로 설정됩니다. Python 명령어를 입력할 때는 들여쓰기할 때 항상 같은 수의 공백을 사용해야 합니다. 들여쓰기가 일관되지 않으면 프로젝트가 제대로 실행되지 않습니다. 

    명령 drivetrain.drive_for(FORWARD, 600, MM) 로봇에게 600mm 전진하라고 지시하고, 명령drivetrain.turn_for(RIGHT, 90, DEGREES)로봇에게 90도 오른쪽으로 회전하라고 지시합니다. 이러한 명령은 반복 명령 아래에 들여쓰기되어 있으므로 이러한 동작은 반복 루프의 일부이며 4번 반복됩니다.  

    다중 라인 스위치 블록은 이전의 두 구동계 명령을 for 명령 아래에 들여쓰기하여 로봇에서 동일한 동작을 수행할 수 있음을 보여줍니다.

  • 아직 열려 있지 않으면 "놀이터 열기" 버튼을 선택하여 아트 캔버스 놀이터 을 엽니다.

    도구 모음 오른쪽 상단에 Open Playground 아이콘과 텍스트를 나타내는 빨간색 상자가 있는 VEXcode VR 코딩 환경입니다.
  • 프로젝트를 테스트하려면 "시작" 버튼을 선택하세요.

    빨간색 상자 안에 시작 아이콘과 도구 모음 오른쪽 위에 텍스트가 있는 VEXcode VR 코딩 환경입니다.
  • VR 로봇이 앞으로 주행하고 아트 캔버스 놀이터 에서 오른쪽으로 4번 돌아 펜으로 정사각형을 그리는 모습을 지켜보세요.

    프로젝트 마지막에 VR 로봇이 있는 아트 캔버스 놀이터. VR 로봇의 오른쪽 위 놀이터에 검은색 선이 그려진 사각형 하나가 그려져 있습니다.

이 강의의 나머지 부분을 계속하려면 다음 버튼을 선택하세요.