Lesson4 Case Structure(케이스 구조)

안녕하세요. 알렉스 입니다. 오늘은 케이스 구조에 대해서 설명을 드리도록 하겠습니다.


사진1) 케이스 구조 순서
케이스 구조는 위 사진1 과 같은 순서로 진행되게 되어 있습니다. 조건문이 참이면 참에 해당되는 코드를 진행하고 거짓이면 거짓에 해당되는 코드를 진행하게 됩니다.


사진2) 케이스 구문 구조


케이스 구문의 구조를 보면 3가지로 나눌수 있다. 선택지 라벨, 서브 다이어그램, 케이스 선택자 이다. 케이스 선택자는 사진1의 순서도에서 if문에 해당된다. 그리고 선택지 라벨은 어떤 코드를 쓸것인지 표시 하는 것이고 서브 다이어 그램은 사진1의 코드에 해당되는 것이다.

 따라서 프로그래머는 상황에 따라 코드를 바꿔 쓸수 있다는 것이다. 일단 지금은 참, 거짓 문으로 프로그램을 진행하겠습니다.


사진3) 케이스 구문 선택

블록다이어 그램에서 케이스 구조를 선택합니다.



사진4) 케이스 구문 생성 

사진4에서 보면 알겠지만 케이스 구문을 생성했다고 바로 실행을 할수가 없습니다. 케이스 선택자가 설정이 안되어 있기 때문에 실행 버튼이 깨져 있습니다.


사진5) 누름버튼 생성
 누름 버튼을 생성합니다. 이전에 사용한 버튼과 같고 참 또는 거짓을 출력하는 버튼 입니다. 




사진6) 불리언 및 문자열 컨트롤
이제 누름 버튼을 케이스 선택자에 연결을 합니다. 그리고 문자열 컨트롤을 2개 생성합니다.  


사진7) 문자열 컨트롤,인디게이터를 케이스에 연결

이제 2개의 문자열 컨트롤은 왼쪽에서 연결하고 오른쪽에는 문자열 인디게이터를 연결합니다. 하지만 사진7과 같이 선을 연결할수 없다고 나옵니다. 이유는 케이스의 참과 거짓에 아무것도 문자열3 인디게이터에 연결되지 않았기 때문입니다.


사진8) 참 케이스에 문자열 컨트롤 연결

사진9) 거짓 케이스에 문자열2 컨트롤 연결
사진 8,9와 같이 연결을 모두 마치면 이제 실제 실행해서 문자열3 인디게이터에 값을 읽을수가 있습니다.

사진10) 거짓일시 문자열3 출력값

사진11) 참 일시 문자열3 출력값
사진10,11에서는 불리언이 참 또는 거짓에 따라서 문자열3의 출력이 바뀌는 것을 알수 있습니다. 하지만 매번 실행을 눌러야 하기때문에 불편합니다. 이때 While 루프를 추가하면 매번 실행버튼을 누를 필요가 없습니다.


사진12) While루프 추가

사진13) While 루프가 있는 케이스 구조
이제 While루프가 추가 되서 한번 실행을 하고 불리언으로 케이스 문에 따라 출력되는 문자열이 달라지는 것을 볼수 있습니다. 이제 참,거짓만 있는 케이스가 아니라 여러 케이스를 선택할수 있는 케이스 문을 만들도록 하겠습니다.


사진14) 케이스 선택 순서도
사진14는 케이스 선택 순서도 입니다. 현재는 3개만 있는데 원하는 프로그래밍에 따라서 다양하게 바뀔수가 있습니다. 참과 거짓은 Case가 2개만 있는 경우라고 할수 있습니다.


사진15) 배열 선택

일단 빈배열을 선택을 합니다. 그리고 컨트롤 패널에 넣습니다.

사진16) 숫자형 컨트롤을 빈 배열에 삽입
숫자형 컨트롤을 사진15에서 만든 빈 배열 안에 넣습니다.



사진17) 배열 연결 안됨
바로 연결하면 오류가 생깁니다. 그 이유는 일단 배열 자체로 케이스 선택자에 입력을 할수 없습니다. 두번째는 케이스 구문이 현재 참,거짓으로 되어 있다는 것입니다. 먼저 참,거짓을 숫자 1,2,3으로 변경하도록 하겠습니다.
사진18) 선택자 라벨 변경
선택자 라벨을 사진18과 같이 선택하시고 선택자 라벨을 바꾸면서 숫자 1,2,3을 입력합니다.


사진19) 케이스 추가
현재 참,거짓만 있기 때문에 2까지 밖에 입력을 할수 없습니다. 따라서 선택자 라벨에 마우스를 대고 오른쪽 버튼을 클릭해서 케이스를 추가합니다.


사진20) 배열 인덱스 선택
배열에서 배열 인덱스를 선택합니다. 배열 인덱스는 배열의 특정한 원소를 출력해 주는 함수 입니다. 따라서 배열중 원하는 것만 케이스 선택자에 넣을수 있습니다.



사진21) 배열을 케이스에 연결(에러 없음)
이제 사진21 처럼 만들었으면 이제 케이스문 내부의 코딩을 해야 합니다. 1,2,3 케이스에 따라 어떻한 출력을 할 것인지 결정을 해야 하는지 지금은 문자열 출력을 하도록 하겠습니다.



사진22) 문자열 상수 생성
일단 문자열 상수를 케이스1,2,3에 넣고 연결을 합니다. 
사진23) 케이스 구문 안에 문자 입력
사진23은 케이스1번에 '1번을 누르셨습니다' 구문이 출력되도록 코딩했습니다. 2,3번 또한 숫자만 바꿔서 출력하도록 하면 됩니다.



사진24) 에러 구문
하지만 그 후에 실행할려고 하면 에러가 발생합니다. 그 이유는 케이스에 기본 문구가 없기 때문입니다. 일종의 default 값입니다. 만약 케이스 선택자에 1,2,3 외의 숫자가 들어온다면 무슨 케이스를 기본적으로 실행할 것인지 정하는 것입니다.


사진25) 기본 케이스 만들기
원하는 번호의 선택자 라벨을 선택합니다.(사진25는 1번) 그리고 우클릭 후에 기본케이스를 만들면 됩니다.



사진26) 프로그램 완성

사진27) 실행결과
실행 결과 사진27처럼 정상적으로 동작되는 것을 확인할수 있습니다. 물론 아래 동영상을 보고 동작되는 것을 확인할수 있습니다. 


사진28) 연습문제














댓글

이 블로그의 인기 게시물

DAQ로 전압 측정하기-2

Nest JS URL에 있는 쿼리(Query) 읽기

appendChild를 이용하여
  • 늘리기_JavaScript_2번