변수 블록

변수 블록에서는 프로그램 내 변수를 읽거나 쓸 수 있습니다. 새 변수를 만들어 이름을 붙일 수도 있습니다.

변수는 EV3 브릭 메모리에서 데이터 값을 저장할 수 있는 위치입니다. 변수에 쓰기를 해서 데이터 값을 저장할 수 있습니다. 프로그램 후반부에 변수에서 읽기를 하여 저장된 값에 접근할 수 있습니다.
각 변수는 유형과 이름이 있습니다. 유형으로는 숫자, 논리, 텍스트, 숫자형 배열, 논리 배열이 있습니다. 변수의 이름을 선택할 수 있습니다. 이름은 변수를 나타내는 데 사용됩니다.

변수의 다양한 유형에 대한 자세한 내용은 데이터 타입을 참조하세요.

변수 값은 프로그램 실행 중에 변경될 수 있습니다. 변수에 쓰기를 할 때마다 이전 값은 지워지고 새로운 값으로 바뀝니다. 예를 들어 “Max Light”라는 이름의 변수를 사용하면, 로봇이 지금까지 컬러 센서에서 측정한 가장 높은 광 강도를 기록할 수 있습니다. 로봇은 더 높은 값을 감지할 때마다 “Max Light” 변수에 새로운 값을 쓸 수 있습니다.
새 변수 추가


모드 선택
변수 선택
값 입력

프로젝트에 새 변수를 추가하려면,
1.변수 블록을 삽입하거나 선택합니다.
2.모드 선택을 사용하여 쓰기 모드를 선택합니다.
3.변수 유형(숫자, 논리, 텍스트, 숫자형 배열, 논리 배열)을 선택합니다.
4.블록 상단의 블록 텍스트 필드를 클릭하고 “변수 추가”를 선택합니다. 아래 나온 대로 새 변수 대화 상자가 나타납니다.
5.새 변수 대화 상자에 변수 이름을 입력하고 확인을 클릭합니다. 변수 이름은 한 글자, 단어, 여러 단어 또는 일련의 문자와 숫자일 수 있습니다.
팁과 요령
짧은 변수 이름을 선택하면 프로그램에서 변수 이름을 사용할 때 변수 이름 전체를 확인하기가 더 쉽습니다.
해당 변수가 무엇을 의미하는지, 프로그램에 있는 다른 변수들과 어떻게 다른지 기억하는 데 도움이 되는 이름을 선택하세요.
일단 변수를 추가하면, 이 변수를 프로젝트의 어떤 프로그램에서든 사용할 수 있습니다.
6.변수를 추가한 후에는 쓰기 모드의 변수 블록을 사용하여 변수의 초기 을 입력할 수 있습니다.
변수에 쓰기


모드 선택
변수 이름
입력
쓰기
쓰기 모드에서는 이미 프로그램에 추가한 변수(새 변수 추가 참조)를 선택하고 변수에 값을 저장할 수 있습니다.
변수에 쓰기를 하려면,
1.모드 선택을 사용하여 쓰기 모드를 선택합니다.
2.변수의 유형을 선택합니다.
3.블록 텍스트 필드를 클릭하여 팝업 메뉴를 표시합니다.
4.사용하려는 변수의 이름을 선택합니다.
팁과 요령
팝업 메뉴에서 변수 이름을 선택하기에 전에 모드 선택에서 변수 유형을 선택해야 합니다. 팝업 메뉴에는 선택한 유형과 일치하는 변수만 나열됩니다.
5.이제 입력을 사용하여 변수에 값을 저장할 수 있습니다. 입력에 직접 값을 입력하거나 데이터 와이어를 사용할 수 있습니다.
팁과 요령
원하는 만큼 얼마든지 변수에 쓰기를 할 수 있지만, 마지막 값만 기록됩니다. 변수를 쓰면 변수의 이전 값은 지워지고 새로운 값으로 바뀝니다.
변수에서 읽기


모드 선택
변수 이름
출력
읽기
읽기 모드에서는 이미 프로그램에 추가한 변수(새 변수 추가 참조)를 선택하고 변수에 저장된 값을 얻을 수 있습니다.
변수에서 읽기를 하려면,
1.모드 선택을 사용하여 읽기 모드와 변수 유형을 선택합니다.
2. 블록 상단의 텍스트 필드를 클릭하여 팝업 메뉴를 표시하고, 사용하려는 변수 이름을 선택합니다.
팁과 요령
팝업 메뉴에서 변수 이름을 선택하기에 전에 모드 선택에서 변수 유형을 선택해야 합니다. 팝업 메뉴에는 선택한 유형과 일치하는 변수만 나열됩니다.
3.이제 출력에서 변수의 값을 얻고, 데이터 와이어를 통해 이 값을 프로그램에 사용할 수 있습니다.
팁과 요령
값이 써 있지 않은 변수에서 읽기를 하는 경우, 결과는 숫자 변수의 경우 0, 논리 변수의 경우 거짓, 텍스트 변수의 경우 빈 텍스트, 숫자형 배열이나 논리 배열 변수의 경우 빈 배열이 됩니다.
변수 사용의 예
예 1: 값을 저장하고 나중에 사용
이 프로그램은 쓰기 모드의 변수 블록을 사용하여 컬러 센서의 데이터 값을 “Light”라는 이름의 변수에 저장한 다음, 읽기 모드에서 변수 블록을 사용하여 값을 얻어 이를 프로그램 후반부에 사용합니다.

이 프로그램은 로봇이 주행하다가 돌아오도록 설계되었습니다. 돌아오는 길에 로봇은 적어도 출발 지점의 색상만큼 어두운 색상 위에서 정지합니다.
팁과 요령
위 프로그램은 변수 대신 긴 데이터 와이어를 사용할 수도 있지만, 긴 프로그램의 경우 변수를 사용하여 값을 저장하면 프로그램을 만지기가 더 간편해집니다.
예 2: 터치 센서 누름 계산
이 프로그램은 터치 센서를 누르는 횟수를 계산하여 EV3 디스플레이에 횟수를 표시합니다. “Presses”라는 이름의 숫자 변수를 사용하여 터치 센서를 누른 횟수를 기록합니다.

쓰기 모드의 변수 블록은 프로그램이 시작될 때 “Presses”의 초기 값을 0으로 설정합니다. 루프 내에서 프로그램은 터치 센서가 접촉 후 떨어질 때마다 변수에 저장된 값에 1을 더합니다. 이는 읽기 모드의 변수 블록으로 현재값을 얻고, 수학 블록과 데이터 와이어를 사용하여 1을 더하고, 쓰기 모드의 변수 블록으로 그 결과를 변수에 다시 쓰는 것으로 진행됩니다. 마지막으로, 읽기 모드의 또 다른 변수 블록은 현재값을 얻어 표시하는 데 사용됩니다.
입력 및 출력
쓰기 모드의 변수 블록은 단일 입력을 갖습니다. 블록에 직접 입력 값을 입력할 수 있습니다. 데이터 와이어를 통해 프로그래밍 블록의 출력에서 값을 제공할 수 있습니다.
입력유형비고
(블록 모드에 따라 달라짐)변수에 저장하는 값
읽기 모드의 변수 블록은 단일 출력을 갖습니다. 출력을 사용하려면, 데이터 와이어를 통해 또 다른 프로그래밍 블록에 출력을 연결하세요.
출력유형비고
(블록 모드에 따라 달라짐)선택한 변수의 값
변수
빠른 연결