조건문을 사용한 프로그래밍 - 블록 기반
교사 도구 상자
-
이 활동의 목적
조건문을 사용한 프로그래밍은 프로젝트 내에서 [If then]또는[If then else] 블록을 사용하여 수행할 수 있습니다. 이 활동에서는 학생들에게 [If then] 블록을 사용하여 화면을 누르지 않는 한 로봇이 앞으로 주행하도록 하는 방법을 소개합니다. 활동의 후반부에서는 [If then] 블록 대신 [If then else] 블록을 사용하여 프로젝트를 개선하도록 요구합니다.

이 활동에서 사용되는 [If then]및[If then else] 블록이나 기타 블록에 대한 자세한 내용은 VEXcode V5 내의 도움말 정보를 참조하세요. 이 내장된 도움말 도구에 대한 자세한 내용을 보려면 여기를 클릭하세요..
다음은 이 활동에서 학생들이 할 일의 개요입니다.
- If Then Else Blocks튜토리얼 영상을 시청한 다음 Clawbot(구동계 2-모터, 자이로 없음) 템플릿을 사용하여 표시된정지 버튼 만들기프로젝트를 만들고 프로젝트가 무엇을 할지 예측해 보세요.
- [If then else] 블록의 "else" 동작을 전진으로 설정하여정지 버튼 만들기예제 프로젝트를 세부적으로 조정합니다.
- 학습 확장:로봇의 주행을 멈추기 위해 누르는 버튼을 뇌 화면에 추가합니다.
| 수량 | 필요한 재료 |
|---|---|
| 1 |
VEX V5 교실 스타터 키트(최신 펌웨어 포함) |
| 1 |
VEXcode V5(최신 버전, Windows, macOS, Chromebook) |
| 1 |
엔지니어링 노트 |
| 1 |
Clawbot (Drivetrain 2-motor, No Gyro) 템플릿 |
클로봇이 결정을 내릴 준비가 되었습니다!
이 활동에서는 로봇에 조건부 동작을 프로그래밍하는 도구를 제공합니다.
[만약 ~라면]및[만약 ~라면 ~라면 그렇지 않다] 블록이 이 활동의 주요 초점이지만, 운영자 및 감지 블록도 사용됩니다.
VEXcode V5 내부의 도움말 정보를 사용하여 블록에 대해 알아볼 수 있습니다. 도움말 기능 사용에 대한 지침은 도움말 사용 튜토리얼을 참조하세요.
교사 팁
학생이 VEXcode V5를 처음 사용하는 경우 도구 모음에서 튜토리얼을 보고 다른 기본 기술을 배울 수도 있습니다.

1단계: 조건문에 대한 이해부터 시작해 보겠습니다.
조건부 프로그래밍을 시작하기 전에 먼저 아래의 If-Then-Else 튜토리얼 비디오를 시청하십시오. 또한 VEXcode V5에서 튜토리얼 비디오로 찾을 수 있습니다.
2단계: 조건문으로 프로그래밍을 시작해 보겠습니다.
Clawbot (Drivetrain 2-motor, No Gyro) 템플릿 예시 프로젝트를 엽니다.
아래에서 프로젝트를 빌드하세요.
엔지니어링 노트에서 다음을 수행합니다.
- Clawbot이 수행하는 프로젝트에 대해 설명합니다. 정지 버튼을 만든다는 사실보다 더 많은 것을 설명해야 합니다. 어떤 블록이 Clawbot이 무엇을 하도록 하는지 설명합니다.
- 프로젝트가 수행하는 작업을 한 문장으로 요약하여 작성하세요.
- Clawbot이 수행하는 프로젝트에 대한 예측이 올바른지 테스트합니다.
- 프로젝트를으로 저장하고 다운로드한 후 Clawbot의 슬롯 1에 정지 버튼만든 다음 실행합니다.
- 프로젝트를 다운로드하는 데 도움이 필요하면 VEXcode V5의 튜토리얼을 참조하세요.튜토리얼에서는프로젝트 다운로드 및 실행 방법을 설명합니다.
- 프로젝트에 대한 설명을 확인하고 필요에 따라 수정할 수 있도록 메모를 추가하십시오.
교사 도구 상자
-
답변

- 이 프로젝트에서는 로봇이 계속해서 앞으로 주행하지만 화면을 누르면 멈춥니다. [Forever] 블록을 사용하여 지속적으로 운전하고 확인함으로써 이를 수행합니다. 화면이 눌려지면(TRUE) 클로봇이 운전을 멈춥니다.
학생들은 [기다릴 때까지] 블록이 사용되는 이유를 이해할 필요가 없습니다. 로봇의 프로그램 흐름 속도 때문에 [대기] 블록이 필요하다고 설명합니다. 만약 없었다면, 클로봇의 모터는 마치 사용자가 프로젝트를 반복하면서 화면을 계속해서 누르는 것처럼 동작했을 것입니다. 대신 [Wait until] 블록은 프로그램 흐름을 중지하고 사용자가 화면을 누르는 것을 멈출 때까지 프로젝트가 [Forever] 루프를 다시 시작하지 않도록 합니다. - 의사코드 줄은 다음과 같이 간단할 수 있습니다. 화면이 눌릴 때까지 앞으로 이동합니다.
학생들의 엔지니어링 노트북은 개별적으로(Google Doc / .docx / .pdf) 또는 팀으로(Google Doc / .docx / .pdf) 관리하고 점수를 매길 수 있습니다. 이전 링크에서는 각 접근 방식에 대해 다른 기준을 제공합니다. 교육 계획에 평가 기준이 포함될 때마다 활동을 시작하기 전에 학생들에게 평가 기준을 설명하거나 최소한 사본을 제공하는 것이 좋습니다.
3단계: 블록까지 대기 이해하기
Brain의 화면을 누르면 프로젝트의 흐름이 너무 빨리 이동하여 프로젝트가 [운전 중지] 블록인 다음 블록으로 이동합니다.
따라서 이 프로젝트에는 로봇이 Brain의 화면이 해제될 때까지 정지 상태를 유지하도록 지시하는 [대기] 블록이 필요합니다. 그렇지 않으면 [Forever] 블록으로 인해 프로젝트가 [Drive] 블록으로 다시 시작됩니다.
프로젝트 흐름의 속도 때문에 [Wait until] 블록이 필요합니다. 프로젝트가 없으면 로봇이 응답할 시간을 갖기 전에 다음 블록으로 이동합니다.
4단계: 프로젝트 변경
다음 단계는 [If then] 블록을 [If then else] 블록으로 변경하는 것입니다.
- Stop Button새 프로젝트로 저장하고,StopOrDrive새 프로젝트로 저장합니다.
- 프로젝트를 저장하는 데 도움이 필요한 경우 VEXcode V5에서 프로젝트 이름 지정 및 저장 튜토리얼을 참조하십시오.
- 그런 다음 아래에 표시된StopOrDrive프로젝트를 빌드합니다.
- Clawbot의 슬롯 2에StopOrDrive다운로드하세요.
- 프로젝트 다운로드에 대한 도움말은 VEXcode V5의 튜토리얼을 참조하세요.튜토리얼에서는 프로젝트 다운로드 및 실행을 설명합니다.
- 테스트정지 버튼(슬롯 1)을 만든 다음 테스트정지 또는 드라이브(슬롯 2)을 만들어 로봇의 동작에 차이가 있는지 비교합니다. 엔지니어링 노트의 차이점에 주목하십시오.
교사 팁
이 지침에서는 학생들에게 프로젝트를 저장하고 다운로드하는 데 필요한 VEXcode V5 내의 튜토리얼 비디오를 안내합니다. 추가 지원이 필요한 경우, 보충 도움말 문서인VEX 로봇 기술 자료참조하세요.
교사 도구 상자
-
답변
로봇의 동작과 관련하여정지 버튼 만들기과StopOrDrive프로젝트 사이에는 차이합니다.
두 프로젝트는 Clawbot이 동일한 방식으로 작동하도록 합니다. 유일한 차이점은StopOrDrive프로젝트에서 [If then else] 블록을 사용한다는 것입니다.
[If then else] 블록을 사용하면 향후 활동의 화면에 추가 버튼을 추가할 수 있습니다.
학습을 확장하세요
STEM 랩이 진행됨에 따라 학생들은 Clawbot의 화면을 사용자 인터페이스로 기능시키는 프로젝트를 개발하게 됩니다. 그에 대비하여 학생들에게 버튼처럼 기능하는 색깔 있는 사각형을 화면에 그리는 방법을 알아내도록 과제를 주세요. 현재는 화면의 어느 곳이든 누르는 것이 조건이므로, 버튼은 화면 전체를 차지해야 합니다. 학생들은 프로젝트가 시작될 때 버튼을 그리는 이벤트를 방송해야 합니다.
학생들이 VEXcode V5의 도움말 기능을 사용하여 이벤트 및 모양 블록에 대한 정보를 얻도록 하세요. 학생들에게 먼저 [사각형 그리기] 블록의 정보에서 뇌의 화면이 좌표계로 어떻게 구성되어 있는지 배우도록 지시합니다. 해당 블록 내에서 매개변수를 설정하려면 이를 이해해야 합니다. 사용된 좌표는 열이나 행의 숫자가 아닌 픽셀의 숫자에 해당합니다. 화면의 레이아웃은 다음과 같습니다.

학생들은 엔지니어링 노트북에 이를 기록하면서 프로젝트에 대한 이러한 변경 사항을 계획, 테스트하고 개선해야 합니다. 개별 엔지니어링 노트북 평가 기준에 대해 다음 링크 중 하나를 클릭하세요(Google 문서 / .docx / .pdf). 또는 팀 노트북에 대해 다음 링크 중 하나를 클릭하세요(Google 문서 / .docx / .pdf).
다음은 예시 솔루션입니다.

보시다시피, 버튼은 원점(0, 0)에서 시작하여 전체 화면을 차지하도록 그려지고 480개의 수평(x축) 픽셀과 240개의 수직(y축) 픽셀을 모두 채웁니다.