수업 3: 변수
이 단원의 이전 수업에서는 절대적 이동과 상대적 이동을 조합하여 정사각형을 그렸습니다. 이 수업에서는 변수에 대해 알아보고, 변수를 사용하여 프로젝트에서 값을 저장하는 방법을 알아봅니다. 변수를 사용하면 프로젝트의 효율성을 높일 수 있습니다.
이 수업을 마치면 변수를 사용하여 다양한 크기의 정사각형을 그립니다.

정사각형 그리기
이전에는 화이트보드에 사각형을 그리도록 6축 로봇팔을 코딩했습니다.
이 단원의 1과에서 배운 VEXcode EXP 프로젝트를 열고 여기에 표시된 이미지와 일치하도록 프로젝트를 편집하세요.

6축 암이 VEXcode EXP에 연결되어 있는지 확인하고 프로젝트를 실행합니다.
6축 암이 의도한 대로 사각형을 그리는 것을 주목하세요.

프로젝트를 다시 살펴보세요. 반복적으로 사용되는 매개변수(50, 50, –50, –50)가 있습니다.

사각형의 크기를 변경해야 하는 경우 어떻게 해야 할까요? 업데이트된 값을 증가 위치 블록마다 입력해야 합니다. 이로 인해 입력 오류, 블록 업데이트를 잊어버림, 매개변수 앞에 부정 기호를 추가하는 것을 잊어버림 등의 오류가 발생할 수 있습니다.
대신 변수를 사용하여 이러한 값을 저장하고 이를 빠르게 업데이트하여 다양한 크기의 정사각형을 그릴 수 있습니다.
변수 사용
변수는 나중에 프로젝트에서 사용할 값을 저장하는 방법입니다. 이제 정사각형의 한 변의 길이 값을 저장하는 변수를 프로젝트에 추가합니다.
변수를 추가하려면 도구 상자 맨 아래로 스크롤하여 변수 만들기선택하세요.

변수 이름을 "sideLength"로 지정합니다. 그런 다음 제출선택하세요.
이 변수는 정사각형의 변의 길이 값을 저장하는 데 사용됩니다.

sideLength 변수는 이제 도구 상자에 블록으로 나타납니다.

프로젝트 시작 부분에 Set variable 블록을 추가합니다.

Set variable 블록의 드롭다운 매개변수를 myVariable에서 sideLength로 변경합니다.

그려지는 사각형의 변의 길이와 일치하도록 sideLength 변수를 50으로 설정합니다.
50mm는 원래 프로젝트의 정사각형의 한 변의 길이와 같습니다.

프로젝트에 변수 설정 블록을 설명하기 위해 맨 위에댓글 블록을 추가합니다.

sideLength 변수를 첫 번째 Increment position 블록에 추가합니다. 비디오 클립에서 도구 상자에서 sideLength 변수를 선택하고 첫 번째 Increment position 블록의 x-매개변수로 끌어다 놓습니다.
sideLength 변수가 Increment position 블록 위로 이동하면 x 매개변수 주변이 노란색으로 강조 표시됩니다. 이는 블록이 해제되면 해당 매개변수에 블록이 추가됨을 나타냅니다. 이는 가변 블록이 원형 리포터 블록이기 때문입니다. 이 블록은 원형 공간이라면 어디에나 들어맞습니다.
다음 Increment position블록에 y 매개변수로 sideLength 변수를 추가합니다.

프로젝트의 다음 두 개의 증가 위치블록이 6축 암을 음의 방향으로 이동시킨다는 점에 유의하세요.
프로젝트에서 변수의 음수 값을 사용하려면 녹색 함수 블록을 선택하고 음수 매개변수를 선택하면 됩니다. 
여기에 표시된 대로 기능 블록을 세 번째 증가 위치 블록의 x 매개변수에 추가합니다.
이 비디오 클립에서는 도구 상자에서 함수 블록을 선택하고 작업 공간으로 끌어서 세 번째 증가 위치 블록의 x 매개변수에 놓습니다.
Function 블록의 드롭다운 매개변수를 negative으로 설정합니다.

sideLength 변수를 Function 블록에 추가합니다. 이제 블록이 실행되면 6축 암이 음의 x 방향으로 50mm 이동합니다.

네 번째 증가 위치블록의 y 매개변수에 대해 이것을 복제합니다.
마우스 오른쪽 버튼을 클릭하여 컨텍스트 메뉴를 열고 "블록 복제"를 선택하면 블록을 복제할 수 있습니다.

6축 암이 VEXcode EXP에 연결되어 있는지 확인하고 프로젝트를 실행합니다.

6축 암이 사각형을 완성하면 프로젝트를 중지합니다.
6축 암이 그린 사각형은 앞서 증가 위치 블록을 사용하고 각 매개변수를 설정하여 만든 사각형과 동일합니다.

변수 값 변경
이제 변수를 만들었으므로 다른 값으로 쉽게 변경할 수 있습니다. 이는 각 값을 별도로 입력하는 대신 프로젝트에서 변수를 사용하는 이점 중 하나입니다. 이제 Set variable 블록에서 변수 값을 변경하는 연습을 한 다음, 프로젝트를 실행하여 6축 암이 다양한 크기의 사각형을 그리는 것을 확인합니다.
Set 변수 블록을 50에서 90으로 변경합니다.
이 프로젝트가 실행되면 무슨 일이 일어날 것이라고 생각하시나요? 엔지니어링 노트에 예측 내용을 기록하세요.

프로젝트를 실행합니다.
6축 암의 동작이 프로젝트에 대한 예측과 일치합니까?
6축 암은 변의 길이가 90mm인 정사각형을 그립니다. 이는 sideLength 변수가 90으로 설정되었기 때문입니다. 변수 때문에 증가 위치 블록의 모든 값은 90 또는 -90으로 업데이트됩니다.
6축 암이 그리기를 멈추면 프로젝트를 중지합니다.

Set 변수 블록을 100에서 30으로 변경합니다.
이 프로젝트가 실행되면 무슨 일이 일어날 것이라고 생각하시나요? 엔지니어링 노트에 예측 내용을 기록하세요.

프로젝트를 실행합니다.
6축 암의 동작이 프로젝트에 대한 예측과 일치합니까?
6축 암은 변의 길이가 30mm인 정사각형을 그립니다. 이는 sideLength 변수가 30으로 설정되었기 때문입니다. 변수 때문에 증가 위치블록의 모든 값은 30 또는 -30으로 업데이트됩니다.
6축 암이 그리기를 멈추면 프로젝트를 중지합니다.

프로젝트의 이름을 바꾸고 저장하세요.

활동
이번 수업에서는 변수에 대해 알아보고, 사각형을 그리는 프로젝트에서 변수를 효과적으로 사용하는 방법을 배웠습니다. 이제 이 개념을 연습해서 다양한 크기의 정사각형을 여러 개 그려보세요. 
활동:이 수업에서 배운 프로젝트를 편집하여 다양한 사각형을 그려보세요.
- 첫 번째 사각형의 시작 좌표는 (75, 125, 0)입니다.
- 두 번째 정사각형의 시작 좌표는 (125, 25, 0)입니다.
- 모든 변의 길이는 35mm여야 합니다.
1부:프로젝트를 확장하여 35mm 정사각형 두 개를 그립니다.
- 그룹과 함께 정사각형을 그리는 프로젝트를 어떻게 발전시킬지 계획하세요. 프로젝트 편집을 시작하기 전에 모두가 접근 방식에 동의했는지 확인하세요.
- VEXcode에서 프로젝트를 편집하여 35mm 정사각형 두 개를 그립니다.
- 프로젝트를 실행하여 테스트해 보세요. 의도한 대로 사각형이 그려지나요? 그렇지 않은 경우 두 개의 별도 사각형을 성공적으로 그릴 때까지 프로젝트를 계속 편집하세요.
2부:프로젝트를 편집하여 70mm 정사각형 두 개를 그립니다.
- 그룹과 함께 정사각형을 그리는 프로젝트를 어떻게 발전시킬지 계획하세요. 프로젝트 편집을 시작하기 전에 모두가 접근 방식에 동의했는지 확인하세요.
- VEXcode에서 프로젝트를 편집하여 70mm 정사각형 두 개를 그립니다.
- 프로젝트를 실행하여 테스트해 보세요. 의도한 대로 사각형이 그려지나요? 그렇지 않은 경우 두 개의 별도 사각형을 성공적으로 그릴 때까지 프로젝트를 계속 편집하세요.
이 활동에 대한 전문가 팁:
- 프로젝트를 실행할 때마다 화이트보드를 지우면 프로젝트를 테스트할 때마다 펜이 무엇을 그리는지 명확하게 볼 수 있습니다.
- 코드 읽기 기술을 연습하세요. 프로젝트를 실행하기 전에 그룹에서 누군가에게 코드를 읽어달라고 하세요. 이는 코드를 실행하기 전에 코드의 실수를 찾아내는 데 도움이 되며, 프로젝트가 무엇을 하려는 것인지 그룹이 명확하게 이해하고 있는지 확인하는 데 도움이 됩니다.
이해도 확인
다음 수업으로 넘어가기 전에 엔지니어링 노트에 있는 다음 질문에 답하여 이 수업의 개념을 이해했는지 확인하세요.
이해도 확인 질문 >(Google Doc / .docx / .pdf)
다음 >선택하여 4과로 넘어가세요.