프로그래밍 루프 - 블록 기반
교사 팁
-
이 활동의 목적
반복적인 동작을 프로그래밍하려면 repeat 또는 forever 루프를 사용하면 됩니다. 간단히 말해서, 반복 블록을 사용하면 프로그래머가 루프 내의 블록이 반복되는 특정 횟수를 설정할 수 있습니다. forever 블록은 루프 내의 블록을 프로젝트가 중지될 때까지 영원히 반복합니다. 이 활동에서 학생들은 두 가지 모두에 대해 배웁니다.
repeat또는forever루프를 사용한 프로그래밍에 대한 자세한 내용은 VEXcode V5 내의도움말 정보참조하세요.
이 활동에서 학생들이 할 일은 다음과 같습니다.
-
루프 사용튜토리얼 영상을 시청하세요.
-
반복 동작(자이로 없음) 예제 프로젝트를 살펴보세요.
-
영원과 반복 블록을 비교하고 대조해 보세요.
-
학생들에게 클로봇을 정사각형 모양으로 움직이고, 각 턴 전에 클로와 팔을 움직이도록 요구하는 Squared Loops 챌린지를 완료하세요.
V5 클로봇이 움직일 준비가 되었습니다!
VEXcode V5 내부의 도움말 정보를 사용하여 블록에 대해 알아볼 수 있습니다. 도움말 기능 사용에 대한 지침은 도움말 사용 튜토리얼을 참조하세요.
교사 팁
학생이 VEXcode V5를 처음 사용하는 경우 도구 모음에서 튜토리얼을 보고 다른 기본 기술을 배울 수도 있습니다.
| 수량 | 필요한 재료 |
|---|---|
| 1 |
VEX V5 클래스룸 스타터 키트 (최신 펌웨어 포함) |
| 1 |
VEXcode V5 (최신 버전, Windows, MacOS, Chromebook) |
| 1 |
엔지니어링 노트 |
| 1 |
루프 사용하기(튜토리얼) |
| 1 |
반복 작업 (자이로 없음) 예시 프로젝트 |
1단계: 루프를 사용하여 프로그래밍을 시작해 보겠습니다.
- 루프 사용튜토리얼 영상을 시청하여 시작해 보세요.
-
반복 동작(자이로 없음)예제 프로젝트를 엽니다.

-
열린 예제 프로젝트를 봅니다.

엔지니어링 노트에서 다음을 수행하십시오.
-
Clawbot이 수행할 프로젝트를 예측합니다. 프로젝트가 반복된다는 사실보다 더 많은 것을 설명하십시오.
반복되는 것은 무엇입니까? Clawbot은 무엇을 하고 있나요?
- 예측을 작성하되 짧은 프로젝트를 두 부분 이상으로 나누지 마십시오.
교사 도구 상자
-
답변
-
이 프로젝트에서는 로봇이 300mm 앞으로 주행한 후 오른쪽으로 90도 회전하는 작업을 4번 반복하여 정사각형을 완성합니다. 같은 2개의 블록을 4번 사용하는 대신, 반복 블록은 8개의 블록에서 수행되는 동일한 동작을 3개의 블록으로 줄입니다. 반복 블록은 앞으로 운전한 다음 방향을 바꾸는 동작을 반복합니다.
-
예측은 간단히 "클로봇은 정사각형으로 움직인다"가 될 수도 있습니다. 이는 맥락 없이도 클로봇의 반복적인 움직임을 간결하게 포착하는 방법이 될 것입니다.
학생들의 엔지니어링 노트북은 개별적으로(Google Doc / .docx / .pdf) 또는 팀으로(Google Doc / .docx / .pdf) 관리하고 점수를 매길 수 있습니다. 이전 링크에서는 각 접근 방식에 대해 다른 기준을 제공합니다. 교육 계획에 평가 기준이 포함될 때마다 활동을 시작하기 전에 학생들에게 평가 기준을 설명하거나 최소한 사본을 제공하는 것이 좋습니다.
-
저장,다운로드, 반복 동작(자이로 없음) 예제 프로젝트를 실행합니다.

-
도움이 필요한 경우 VEXcode V5의 프로젝트 다운로드 및 실행 방법을 설명하는 튜토리얼을 참조하십시오.

- 엔지니어링 전자 필기장에서 프로젝트에 대한 설명을 확인하고 필요에 따라 수정할 메모를 추가하십시오.
2단계: 프로젝트를 실행하고 로봇을 관찰합니다.

반복 작업 (자이로 없음) 프로젝트 (오른쪽) 를 다시 살펴보십시오. 이 프로젝트는 앞으로 반복한 다음 동작을 네 번 돌립니다. 반복블록은 특정 횟수만큼 동작 세트를 사용하고 싶을 때 사용됩니다. 반복블록을영원히블록으로 바꾸면 로봇은 앞으로 가는 동작과 돌아서는 동작
영원히 반복합니다.
프로젝트에서는 센서 입력을 사용하여 언제 회전을 시작할지 결정합니다. 오른쪽 프로젝트는 고정된 드라이브트레인 거리를 사용하여 회전을 시작할 시점을 결정합니다.
센서의 입력을 지속적으로 확인하기 위해if/else블록과forever블록을 함께 사용합니다. 왼쪽 프로젝트에서 로봇은BumperH센서를 누르면 오른쪽으로 회전하고,BumperH센서를 누르지 않으면 로봇은 영원히 앞으로 주행합니다. BumperH센서의 값을 지속적으로 확인하려면if/then블록이forever블록 내에 있어야 합니다.
왼쪽에 있는 위 프로젝트는 영원히 반복되는 구조의 실제 사용 사례로,forever블록과if/then블록을 함께 사용합니다. 자율 주행 스위퍼가 벽이나 물체에 부딪힐 때까지 계속 앞으로 운전하다가 방향을 바꾸고 계속 운전한다고 상상해 보세요.
학습을 확장하세요
조건문과 함께 루프를 사용하는 방법을 더 자세히 알아보려면 VEXcode V5에서 Floor Sweeper 예제 프로젝트를 빌드하세요.

- 먼저 학생들에게 범퍼 스위치를하고 배선하도록 합니다.
-
학생들에게 클로봇(구동계 2모터, 자이로 없음) 예제 프로젝트를 열어보라고 합니다.

- 학생들에게 위의 프로젝트를 만들어 보라고 하세요.
-
학생들에게 프로젝트를 Floor Sweeper로 저장하게 하세요.

-
학생들이 프로젝트를 저장하는 데 도움이 필요하면 명명 및 저장 튜토리얼을 참조하세요.

학생들이 블록대한 도움이 필요하면도움말정보나 튜토리얼을 참조하세요.
학생들에게 프로젝트를 다운로드하고 실행하여 로봇어떻게 움직이는지 관찰하도록 요청하세요. 그런 다음 수업 토론을 시작하고 학생들에게 반복 블록 대신 영원 블록을 사용한 이유를 설명하도록 요청합니다.
학생들은 이 프로젝트에서 범퍼 스위치가 눌렸는지 지속적으로 확인하기 때문에 영원 블록이 사용되었다는 점에 유의해야 합니다.
3단계: 제곱 루프 챌린지!

- Clawbot을 정사각형으로 운전하세요.
- 각 턴 전에 발톱을 열고 닫아야 하며, 팔을 올리고 내려야 합니다.
- Clawbot은 광장의 한 쪽을 따라 두 번 이상 운전할 수 없습니다.
- 반복 동작(자이로 없음) 예제 프로젝트를 시작점으로 사용할 수 있지만 변경하기 전에SquaredLoops로 저장하세요.

엔지니어링 노트에서 다음을 계획하십시오.
- 솔루션을 계획하고 프로젝트의 각 블록에서 Clawbot이 수행할 작업을 예측합니다.
- 제출하기 전에 프로젝트다운로드하고 실행하여 테스트해 보세요.
- 필요에 따라 프로젝트를 변경하고 테스트 중에 변경된 내용을 기록합니다.
