앱인벤터 공통블록-제어블록
앱인벤터의 코딩블록에 대해 살펴보고자 한다. 그중에 공통블록에서 제공하는 블록중 제어블록에 대해 살펴보고자 한다.
제어 블록에는 총 17개의 제어블록이 있다.
큰 분류로 나누어보면 조건블록, 반복블록, 실행관련 블록, 스크린제어블록, 앱종료 및 반복멈추기 등의 블록이 있다.
조건블록
조건블록에는만약이라면 실행, 만약이라면 실행 아니라면, 만약이라면 실행 아니고 만약 이라면 실행 아니라면 등의 블록이 있다.
이미 알겠지만, 조건 등을 추가하고 싶으면 아래의 그림처럼 파란 설정아이콘을 클릭하여 '아니고 만약' 혹은 '아니면' 블록을 드래그 & 드롭하면 조건 등을 추가할 수 있다.
. 만약이라면 실행
주어진 조건을 테스트한다. 만약 조건이 참이라면 블록들의 주어진 순서대로 실행한다. 그밖의 경우에는(조건이 거짓이라면) 해당 블록은 아무것도 실행되지 않는다.
. 만약이라면 실행 아니라면
주어진 조건을 테스트한다. 만약 조건이 참이라면 블록들의 주어진 순서대로 실행한다. 그밖의 경우에는(조건이 거짓이라면) 아니라면의 블록들을 순서대로 실행한다.
. 만약이라면 실행 아니고 만약 이라면 실행 아니라면(if & else if)
주어진 조건을 테스트한다. 만약 조건이 참이라면 블록들의 주어진 순서대로 실행한다. 또다른 주어진 조건이 참이면 주어진 순서의 블록들을 실행한다. 그밖의 경우에는(조건이 거짓이라면) 아니라면의 블록들을 순서대로 실행한다.
반복블록
반복블록은 특정한 구간을 회수 혹은 조건에 맞추어서 블록을 반복 실행한다.
반복블록 종류로는 4가지 종류가 있다.
. 반복(인덱스) 블록(for each nnumber from to)
특정 블록들을 반복 실행하는데 반복 횟수만큼 반복한다.
인자값으로는 시작, 끝, 증가 값을 입력해주어야 한다.
예로 시작값 1, 끝값 5, 증가 1로 설정하면 인덱스 값은 1,2,3,4,5로 증가하며 5회 반복 실행된다.
. 반복(리스트) 블록(for each item in list)
특정 블록들을 반복하는데, 리스트 항목 개수만큼 실행이 된다.
인자값으로는 리스트변수를 지정해주어야 한다.
항목 변수는 한번 실행될 때마다 리스트의 항목값을 받는다.
. 반복(사전) 블록(for each key with value in dictionary)
특정 블록들을 반복하는데, 사전 항목 개수만큼 실행이 된다.
인자값으로는 사전 변수를 지정해주어야 한다.
key, value 변수는 한번 실행될 때마다 사전의 key와 value 값을 받는다.
. 반복(조건) 블록(while)
특정 블록들을 반복하는데, 조건이 참일 경우에는 아래 실행 블록을 반복 실행한다.
만일 조건이 거짓일 경우에는 반복을 중단하고 반복블록을 빠져나온다.
조건블록
. 만약이라면 아니면 블록(if then else)
주어진 조건을 테스트합니다. 조건이 참이면 블록의 반환 순서에서 작업을 수행하고 반환값을 반환한다. 조건이 거짓이면 그렇지 않으면 블록의 반환 순서에서 작업을 수행하고 반환값을 반환한다.
이 블록은 일부 언어에서 발견되는 삼항 연산자(?:)와 유사하다.
. 실행후 결과값 반환 블록(do with result)
코드를 작성할 때, 어떤 경우에는 무언가를 실행하고 결과값을 반환하는 경우가 필요하다.
그러나 다양한 이유로 새로운 절차(함수)를 만드는 것 대신에 이 블록을 사용할 수도 있다.
기타블록
. 결과값 무시하고 실행하기 블록(evaluate but ignore result)
반환되는 결과값을 무시하고 실행하기 위해서 사용되는 블록이다.
보통 함수의 do part난 if 블록들 중 하나와 같이 소켓이 없는 곳에 "dummy socket"을 제공한다.
프로시저의 do part 또는 if block의 sequence 중 하나와 같이 소켓이 없는 곳에 왼쪽에 플러그가 있는 블록을 장착하기 위한 "더미 소켓"을 제공합니다. 사용자가 입력한 블록은 실행되지만 반환된 결과는 무시됩니다. 이것은 결과를 반환하는 프로시저를 정의하지만 결과를 수락하지 않는 컨텍스트에서 호출하려는 경우에 유용할 수 있습니다.
. 다른 스크린 열기 블록(open another screen)
입력되는 스크린이름의 스크린을 연다. 스크린 이름은 디자이너에서 생성된 스크린들 중의 하나여야만 한다. 스크린이름은 제공되는 'Screen1'의 목록에서 선택해야 한다.
만약 다른 스크린을 열고자 한다면, 시스템 메모리를 확보하기 위해 기본 화면으로 돌아갈 때 화면을 닫아야 한다. 화면을 종료할 때 화면을 닫지 않으면 결국 메모리 문제가 발생한다.
앱 개발자는 Screen1을 닫거나 Screen1으로 돌아가기 위해 이 블록을 사용해서는 안된다. 대신에 '스크린 닫기' 블록을 사용하라.
. 시작 값을 전달하며 다른 스크린 열기 블록(open another screenn with start value)
입력되는 '시작 값'을 스크린에 전달하며 다른 스크린을 연다.
시작값은 '시작값 가져오기' 블록을 통해 가져올 수 있다.
. 시작 값 가져오기 블록(get start value)
현재 화면에 주어진 시작 값을 반환한다.
이 값은 시작 값을 다른 화면을 열거나 값을 값으로 화면을 닫는 것을 지정된다.
. 스크린 닫기 블록(close screen)
현재의 스크린을 닫는다.
. 값을 반환하며 스크린 닫기 블록(close screen with value)
현재 화면을 닫고 이 화면을 연 화면에 값을 반환한다.
. 앱 종료 블록(close application)
앱을 종료하는 블록이다.
. 시작 텍스트 가져오기 블록(get start value)
다른 앱에서 시작할 때, 이 화면으로 전달된 일반 텍스트를 반환한다. 값이 전달되지 않은 경우 빈 텍스트를 반환한다.
여화면 앱의 경우 일반 시작 텍스트를 가져오는 대신 시작 값 가져오기를 사용하기를 권장한다.
. 텍스트를 반환하여 스크린 닫기 블록(close screen with plain text)
현재 화면을 닫고 이 화면을 연 앱에 텍스트를 전달한다. 이 명령은 텍스트를 앱인벤터 화면이 아닌 다른 앱인벤터 활동으로 반환하기 위한 것이다. 앱인벤터 스크린의 경우 여러 화면 앱에서처럼 일반 텍스트로 화면을 닫지 말고 값을 사용하여 화면을 닫기를 권장한다.
. 반복 멈추기 블록 (break)
반복문(for) 범위를 사용하여 반보실행할 때, 각 범위에 대해 또는 블록 중에 루프를 일찍 종료할 수 있는 기능을 제공한다.
휴식 시간을 통해 루프를 벗어날 수 있다. 실행되면, 이것은 루프를 종료하고 블록에서 루프 후의 블록(명령들)을 사용하여 앱을 계속 진행한다.
이상으로 앱인벤터 공통블록 중 제어블록에 대해 간략히 살펴보았다. 좀더 자세히 확인하기 싶으면, 각 블록을 활용한 간단한 예제들을 익히는 것을 추천한다. 눈으로 보는 것보다 직접 해보는게 여러모로 코딩하는데 이해하고 코딩 실력이 향상되는데 도움이 된다.
Just Do it!!!
Just Drag&Drop!!!
'앱인벤터 > 앱인벤터 컴포넌트' 카테고리의 다른 글
앱인벤터 공통블록-수학블록 (0) | 2022.09.22 |
---|---|
앱인벤터 공통블록-논리블록 (1) | 2022.09.21 |
앱인벤터 웹 컴포넌트 (0) | 2022.06.15 |
앱인벤터 블루투스서버 컴포넌트 (0) | 2022.06.15 |
앱인벤터 블루투스클라이언트 컴포넌트 (0) | 2022.06.14 |
댓글