본문 바로가기
공부이야기/카카오토

[기초] 카카오토 가이드 #5 (판단과 연산 기능)

by 헝탱 2018. 5. 19.
반응형

안녕하세요. 헝탱입니다.

이번 강좌에서는 판단과 연산 기능을 알려드릴려고 합니다. 판단과 연산 기능은 반복이나 무언가를 분기할 때 많이 사용되는 스크립트로 마우스 클릭 및 스샷과 사용되는 보조 스크립트랑 같다고 생각하시면 될것 같습니다. 


판단 스크립트 사용법

판단은 말그대로 무언가를 판단해서 진행하는 스크립트 입니다. 그래서 판단을 하게 되면 분기라는걸 하게 됩니다. 분기는 판단의 특성에 따라 2개/3개/N개로 여러가지로 분기를 할 수 있습니다. 


(그림1)


우선 판단 스크립트에 대해서 알아보면 스크립트분기,대소비교, 좌표비교, =, >, >=, <, <=, <>, 범위분기 여러가지 방법으로 분기를 하는것을 볼 수 있습니다. 좌표비교와 범위분기를 제외하고는 전부 많이 쓰이는것이므로 꼭 이해하고 넘어가셔야 합니다.


1. 스크립트분기

일반적인 분기로 선택한 그룹이나 그룹요소의 값으로 분기 번호를 정합니다. 값이 0이면 0분기로 값이 1이면 1분기로 이동합니다.


2. 대소비교

(그림2)


그림2를 보고 앞에 있는 변수 설정을 A라고하고 뒤에 있는 변수 설정을 B라고 했을 때 작성된 스크립트처럼 0분기에는 " A가 B보다 클때 ", 1분기에는 " A와 B가 같을 때 ", 2분기에는 " A가 B보다 작을 때 "에 맞춰서 분기가 이루어집니다.  비교하는 내용은 변수의 값에 분기가 되고 변수의 값은 그룹목록창에서 그룹이나 그룹요소에 체크된 부분이 값이 입력되고 확인이 되는 부분입니다.


3. 좌표비교

(그림3)


그림3을 보면 좌표비교는 내가 변수에 입력된 좌표가 서로 같은지와 다른지에 대한 부분을 확인해서 2개의 분기로 이루어 집니다. 0분기에는 " 좌표가 같다 ", 1분기에는 " 좌표가 다르다 "로 분기가 됩니다.


4. 비교연산자

수학시간에 많이 배웠던 연산자 입니다. 수학과 같은 방식으로 진행이 되구요. 0분기에는 " 맞다 ", 1분기에는 " 아니다 "로 분기가 됩니다. 그리고 다들 아시겠지만 그래도 기호에 대한 부분을 한번 정리하고 가도록 하겠습니다.


A [ = ] B : A 와 B가 같은지 확인

A [ > ] B : A 가 B 초과인지 확인

A [ >= ] B : A 가 B 이상인지 확인

A [ < ] B : A 가 B 미만인지 확인

A [ <= ] B : A 가 B 이하인지 확인

A [ <> ] B : A 와 B가 다른지 확인


5. 범위분기

(그림4)


그림4에 보시면 범위분기는 지정한 숫자에 맞춰 범위분기를 하게 됩니다. B부분에 1,3,5라고 적어놨는데 긴 라인에 3개의 숫자에 라인을 그리면 4개의 구간이 생깁니다. 그기준으로 4개의 분기를 하게 됩니다. 1,3,5라는 입력을 했다는 기준으로 A가 0,1일 경우에는 0분기, 2,3일 경우에는 1분기, 4,5일 경우에는 2분기, 6이상일 경우에는 3분기로 분기를 하게 됩니다. 분기 범위를 지정해서 여러가지로 분기를 할 수 있는 기능으로 종종 사용하긴 합니다.


6. 분기개념설명

(그림5)


제가 편하게 하기 위해서 분기에 대해서 딱 맞춰서 했는데요. 실수로 분기를 더 만들거나 한다면 어떻게 생기는지에 대해서 그림5가 설명을 해줍니다. 그림을 보시면 대소비교는 제가 3개의 분기를 가진다고 했는데요. 4개의 분기를 가질 경우에 2분기에는 " 분기X "라고 적은걸 볼 수 있습니다. 그 말인 즉 " 모든 분기는 앞에서부터 순서대로 하며 마지막은 순서대로가 아닌 마지막 분기로 간다 "입니다. 5개의 분기를 가지는 판단을 만들었는데 분기를 100개를 만들어두었다면 0~3분기까지 하고 마지막 분기는 99분기로 간다는 내용을 이해하시고 하셔야 오류를 찾는데 문제가 안 생깁니다. 종종 알 수 없는 오류가 생기는 경우나 스킵되는 경우는 이런것도 생각하고 하시면 됩니다.  


판단의 분기와 변수의 S

(그림6)


변수에 S라는 문자를 이용하면 그룹이 가지고 있는 값으로 요소를 찾고 그 요소의 값으로 분기가 가능합니다. S를 이용하지 않으면 어떻게 구현되는지 그림6의 왼쪽을 참고하시면 됩니다. 하지만 S를 이용하면 그림6의 오른쪽을 보면 S를 이용했을 뿐인데 확 줄어드는것을 볼 수 있습니다.


(그림7)


S는 요소를 선택하는 번호에 S를 넣는 방식으로 선언이되고 기억이 잘 안나는 분들은 그림7을 보시면 그룹을 선택하는 창을 눌러서 보게되면 Sel이라는게 보입니다. 저것을 누르면 " [그룹명, S] "로 선언이 되는걸 보실 수 있습니다. 개념은 S가 그룹의 값으로 변경되고 그룹의 값이 2일 경우에 " [그룹명, 2] "와 같은 형식으로 변하는 개념으로 생각하시면 그룹의 3번째 그룹 요소의 값을 가져오게 되며 판단에 넣게 되면 3번째 그룹요소의 값으로 분기를 하게 됩니다. 이렇게 복합적으로 사용되는게 PRO버전의 핵심기능입니다. 이 부분에 대한건 더 많이 사용하는 예제가 있는데 중급 강좌나 실전 스크립트 리뷰에서 한번 예제를 통해서 더 심화된 내용으로 알려드리도록 하겠습니다.  


연산 스크립트 사용법

사칙연산을 비롯한 여러가지 계산을 할 수 있는 스크립트로 기본적으로 계산에 많이 사용됩니다. 숫자와 숫자간의 계산, 숫자와 글자간의 결합, 내장함수를 이용한 결과 도출등 다양한 계산을 특정 변수에 저장하는 기능을 주로 사용합니다.


(그림8)


연산의 기본적인 방법은 " A에서 계산된 내용을 B에 저장을 한다 "입니다. B에는 넣을 변수 하나를 지정해야하며 A에는 변수가 아닌 변수를 이용한 값을 도출해내면 됩니다. 많은 방법이 있지만 기초에서는 사칙연산과 글자 숫자 합치기만 해보도록 하겠습니다. 내장함수는 따로 정리해서 만들 예정입니다.


1. 사칙연산

사칙연산은 다들 초등학교때 배웠을 텐데 그게 전부 다 입니다. 하지만 다른점이 있다면 함수의 선언 방법을 계속해서 강조해가면서 적었는데 그걸 이용하게 됩니다. 우선 기초적인 방법으로는 A에 " 1 + 1 "을 직접 입력하고 B에는 저 수치를 저장할 변수를 지정하면 됩니다.


(그림9)


그림9처럼 하면 더한 값을 B에 저장하게되며 계산기 모양을 누르면 해당 계산의 값이 보이는걸 볼 수 있습니다. 테스트 하실 때 최종 계산이 어떻게 되는지 미리 확인 할 수 있는 창이니 나중에 하실 일이 있다면 꼭 이걸로 확인해보시고 문제가 없는지 확인해가면서 작업하시기 바랍니다.


(그림10)


변수에 그룹요소 2개를 만들고 하나에는 계산에 쓰일 값이 있는 변수로 만들고 한곳은 값을 저장할 변수로 지정해서 계산을 하면 그림10처럼 선언해서 계산을 할 수 있는걸 보실 수 있습니다. 그림10을 확인하면서 하나씩 순서대로 살펴보도록 하겠습니다.


1. 그룹요소의 0번에 있는 인덱스의 값을 가져오기 위해서 A에 " [그룹명 , 0] "을 적습니다. 

2. 그룹요소의 0번의 있는 값에 10을 더하기 위해 또 A에 " + 10 "을 그룹값 뒤에 적습니다.

3. 목록에 있는 사칙연산을 계산해보면 20이 나오고 값을 그룹 인덱스 1번에 저장하기 위해 B에 " [그룹명 , 1] "을 적습니다.

4. 적용을 하고 난뒤 해당 스크립트를 한번 실행해보면 20이 되어 있는걸 볼 수 있습니다. ( 0번 인덱스의 값이 10으로 이미 설정이 되어있다고 가정되었을 때 )


2. 글자와 숫자 합치기

(그림11)


그리고 그림11를 보시면 글자의 입력도 숫자와 같이 할 수 있지만 조금 다른점이 있다면 숫자는 연산을 해서 내가 원하는 값을 얻지만 글자는 숫자로 바뀌는게 아니기 때문에 합친다는 개념으로 보시면 됩니다. 먼저 합치는 방법을 알려주면 " "헝탱"&[그룹명, 0] "이라고 적으시게 되면 값으로 " 헝탱10 "이라는 값을 얻는걸 보실 수 있습니다. 


여기서 조금 더 응용을 해서 고급 기능을 살짝 알려드리면 저렇게 글자에 숫자를 조합하는 방식으로 숫자가 올라가면서 이름이 특정되어 있는 그룹의 값들을 선택할 수 있습니다. 간단하게 한번 그림으로 알아보도록 하겠습니다.


(그림12)


그룹을 총 4개 만들었고 그룹의 값을 전부 다르게 지정했습니다. 그 중 메인이 될 " 그룹선택 "이라는 이름을 가진 그룹의 값은 0으로 만들어졌고 위의 함수 규칙으로 서로 다른 그룹들의 값을 접근하는걸 볼 수 있습니다. 이런식으로 그룹의 네임에 숫자를 변경하는 방법으로 접근 할 수 있다는 것도 이해는 못 하더라도 알고는 넘어가시면 됩니다.


연산과 판단의 복합 사용 예제

연산과 판단은 반복에서는 빼놓을 수 없는 찰떡 궁합 관계입니다. 반복이라는 스크립트가 있지만 단순 반복이 아닌 판단을 통한 반복을 원하는 경우에는 2개의 스크립트를 이용해 어려운 반복도 가능합니다. 하지만 기초에서는 반복 스크립트를 보여드리도록 하겠습니다. 조금 센쓰가 넘치는 분들은 바로 응용이 가능했을 텐데요. 판단으로 특정 번호를 확인하고 아니면 숫자를 올려가면서 하면 됩니다. 


(그림13)


그림13를 확인해보시면 판단으로 내가 계속 증가하는 변수가 10을 넘었는지 확인하고 안넘었으면 무언가 실행을 하고 다시 1을 증가하여 다시확인하고 이런 방식으로 반복을 구현하면 10번을 직접 스크립트를 짜는것보다 더 짧게 스크립트를 사용하면서 반복을 진행 할 수 있습니다.


동영상강의 및 마치면서

생각보다 판단과 연산을 많이 설명하게 되었는데요. 판단과 연산에서 어려운 부분은 고급기능과 연결이 되어 있기 때문에 잘 모르겠다고 너무 자책하지마세요. 처음에는 어렵지만 스크립트를 많이 사용해보시면 기초가 쌓이고 기초가 쌓이다 보면서 자연스럽게 이런 부분을 터득 하실 수 있습니다. 그냥 나중에 하고 싶어서 생각나면 제 글을 한번 다시 보실 땐 전부 이해가 되실꺼라 생각이 듭니다.



구독을 하시면 이후에 나오는 카카오토 강의도 알림을 받을 수 있으니 구독해주시고 영상 추천및 아래에 좋아요 해주시면 감사하구요. 댓글을 적어주시면 내용을 반영해서 강의하도록 하겠습니다.

반응형

댓글