주메뉴바로가기 본문바로가기

[스미스의 탐구생활] 함수와 조건을 이용하라!

코딩 교육이 의무화되면서 중학생과 고등학생만이 아니라 내년부터 초등 5, 6학년생도 코딩을 배워요. 학교에서 코딩을 배우기에 앞서 햄스터 모양의 코딩펫 밀키와 함께 쉽고 재미있게 코딩의 개념을 익혀 보세요!

 

 

함수코딩으로 여러 명령을 한꺼번에!


코딩펫 밀키를 주변 사물에 갖다 대면 색깔에 따라 다른 음을 내요. 여러 종이카드를 이용하면 원하는 방향으로 움직일 수도 있지요. 그런데 밀키는 앞으로 가고 왼쪽으로 도는 등 움직일 때마다 종이카드를 일일이 대야 하는 단순한 장난감이 아니에요. ‘함수’와 ‘조건’을 이용해 복잡한 명령도 수행할 수 있지요.


‘함수’는 원래 수학에서 배우는 용어예요. 어떤 값을 입력했을 때 그에 대응되는 값을 내놓는 틀을 함수라고 하지요. 예를 들어 음료수를 뽑을 수 있는 자판기에는 함수의 원리가 있어요. 자판기의 콜라 버튼을 누르면 콜라가, 사이다 버튼을 누르면 사이다가 나오지요. 여기서 어떤 버튼을 누를 때 그 버튼에 해당하는 음료가 나온다는 함수의 원리를 찾을 수 있어요.


그럼 밀키가 복잡한 명령을 수행하려면 어떻게 해야 할까요? 명령 한 번으로 연속된 동작을 하도록 함수를 만들면 돼요. 만약 함수카드를 쓰지 않고 밀키를 앞으로 한 칸, 오른쪽으로 한 칸 이동시키려면 ‘앞으로 가기’, ‘오른쪽으로 돌기’, ‘앞으로 가기’ 종이카드를 일일이 밀키에게 입력해야 해요. 그런데 이 모두를 한 장의 함수카드에 저장하면 함수카드 하나만으로 연속된 동작을 수행하도록 할 수 있답니다.

 

 

조건코딩으로 코딩펫을 태양에서 멈추게 하라!


밀키 앞에 태양계 지도가 펼쳐져 있어요. 파란 지구를 떠난 밀키가 까만 우주를 지나 빨간 태양에 닿으면 신나는 춤을 추도록 만들 수 있을까요? 조건코딩을 이용하면 어렵지 않아요.

 

 

조건코딩의 ‘조건’이라는 개념도 수학의 ‘조건문’에서 왔어요. 조건문이란 주어진 조건이 참이냐 거짓이냐에 따라 명령을 서로 다르게 처리하도록 만든 문장을 말해요. 이때 조건은 참인지 거짓인지 명확하게 판별할 수 있는 문장이나 식으로 줘야 해요. ‘1+1은 2이다’는 참인지 거짓인지 쉽게 판별할 수 있지만, ‘이 꽃은 예쁘다’는 사람마다 다르게 판단할 수 있어요. 따라서 참과 거짓을 쉽게 판별할 수 없으므로 ‘이 꽃은 예쁘다’는 조건이 될 수 없지요.


코딩에서는 이런 조건문을 이용해 컴퓨터가 주어진 환경에 따라 다르게 명령을 처리하도록 할 수 있어요. 예를 들어 ‘밀키가 빨간색을 인식하면 춤을 춘다’라는 조건문을 만든다고 생각해 봐요. 밀키가 파란색이나 초록색을 인식하면 ‘밀키가 빨간색을 인식한다’는 조건이 거짓이 되므로 밀키는 춤을 추지 않아요. 반대로 밀키가 빨간색을 인식하면 조건이 참이 되므로 밀키는 춤을 추지요.


이를 이용하면 밀키가 빨간 태양에서 신나는 춤을 추도록 만들 수 있어요. 파란 지구를 지나 까만 우주를 통과하는 동안 빨간색을 인식하지 않다가 태양에 닿으면 빨간색을 인식해 춤을 출 테니까요. 친구들도 함수코딩과 조건코딩을 이용해 밀키를 더욱 똑똑하게 만들어 보세요!

 

글 : 이다솔 기자 dasol@donga.com

어린이과학동아 2018년 14호
어린이과학동아 2018년 14호 다른추천기사