Play with Data 2 > Chapter 4. 해양쓰레기 데이터를 분석해보자!

[심화하기] 플라스틱 사용 줄이기 캠페인 프로그램을 만들어볼까요?

 해양쓰레기 사용 줄이기 캠페인 프로그램 만들기

1. 엔트리를 활용하여 플라스틱 사용 줄이기 캠페인 프로그램 만들기

해양쓰레기의 문제를 알게 되었나요? 여러 가지 쓰레기 중에서도 플라스틱 쓰레기 문제가 심각합니다. 엔트리를 활용해 플라스틱 사용을 줄이기 위한 캠페인 프로그램을 만들어 봅시다. 프로그램을 만들기 어렵나요? 엔트리 프로그램 예시를 보며 자신만의 프로그램을 만들어 봅시다.

* 캠페인 예시 프로그램 (해양쓰레기와 만나면 사라지는 해양 동물 프로그램)

다음 공유링크 [http://naver.me/GvkoHJks]에 접속한 후 코드보기를 클릭합니다.


[STEP 1] 배경과 오브젝트 만들기


 

 1) ‘+’ 버튼을 눌러 배경과 오브젝 트를 추가해줍니다. ‘배경’ 버튼을 누르고 ‘바닷속’ 배경을 추가합니 다. 그리고 ‘물건’ 버튼을 누르고 혹은 ‘검색창’에 ‘쓰레기’라고 검색하여 ‘쓰레기’를 추가합니다. ‘엔트리봇 친구들’에서 엔트리를 추가하고,

‘동물’ 버튼을 누르고 위쪽에 ‘물’을 눌러 물속에 사는 다양한 동물을 추가합니다. ‘추가하기’ 버튼을 눌러 오브젝트를 모두 추가합니다.

2)아래는 실습에 필요한 3가지 오브젝트의 예시입니다.

  

  

  

 1. 동물 오브젝트 예시

 2. 엔트리봇 오브젝트 예시

 3. 쓰레기 오브젝트 예시


[STEP 1]은 미리 만들어져 있으니, [STEP 2]부터 직접 만들어봅시다.



[STEP 2] 동물이 좌우로 움직이는 모습 만들기

이제 블록코딩을 할 차례입니다. 주의할 점은 해당 오브젝트를 클릭한 상태에서 블록을 만들어야 한다는 점입 니다. 해당 오브젝트(이미지)를 잘 클릭하고 따라하도록 합니다. 

 

1) 먼저 ‘동물’ 오브젝트를 클릭합니다. ‘주황색 화살표’는 이동 방향입니다. 이동 방향도 잘 확인합니다. 


‘시작’ 버튼을 누르고 ‘시작하기 버튼을 클릭했을 때’라는 초록색 블록을 추가합니다. 그리고 ‘흐름’ 버튼을 눌러 ‘계속 반복하기’, ‘2초 기다리기’ 를 추가합니다. ‘2초’는 ‘0.1초’로 수정합니다.

마지막으로 ‘움직임’ 버튼을 눌러 이동방향으로 ‘10만큼 움직이기’를 추가합니다. 동물이 이동 방향으로 계속 움직이는 것을 확인할 수 있습니다.
 

 

2) 동물이 좌우로 왔다갔다 하도록 수정해보겠습니다. 먼저 ‘흐름’에서 ‘만일 참이라면’을 추가합니다. 그리고 ‘판단’에서 ‘마우스 포인터에 닿았는가’를 추가합니다. ‘마우스 포인터’ 부분을 클릭하고 ‘왼쪽 벽’으로 변경합니다.

움직임’에서 ‘이동 방향을 90도 만큼 회전하기’를 추가하여 ‘180’으로 수정합니다.


 

3) 만일 ‘왼쪽 벽에 닿았는가?’ 블록과 ‘이동 방향을 180만큼 회전하기’블록을 복제합시다. ‘왼쪽 벽’을 ‘오른쪽 벽’으로 수정한 후 2번 블록과 합쳐줍니다.

 


 

4) 마찬가지로 ‘흐름’에서 ‘만일 참이라면’을 추가합니다. ‘판단’에서 ‘마우스 포인터에 닿았는가’를 추가합니다. ‘마우스 포인터’ 부분을 클릭하고 ‘쓰레기1’로 바꿔줍니다.

‘숨김’ 버튼을 눌러 ‘모양숨기기’를 추가합니다. 이 블록은 만약 동물이 쓰레기에 닿으면 사라지는 것을 표현한 것입니다.


  

5) 과정 4의 블록을 과정 2의 블록 아래에 조립하여, 블록을 최종 완성할 수 있습니다. 자신이 만든 것과 다른 부분이 있는지 확인해보세요! 완성한 블록 코드를 복사하여 다른 동물을 클릭하고 코드를 붙여 넣습니다. 모든 동물이 움직일 수 있도록 코드를 넣도록 합니다. 움직이는 방향(주황색 화살표)은 원하는 대로 바꿀 수 있습니다.


[STEP 3] 엔트리봇이 해양쓰레기 양을 말하는 모습 만들기

연도를 입력하면 엔트리봇이 해당 연도의 해양쓰레기 추정량을 대답하도록 조립해봅시다. 이에 따라, 그 해의 쓰레기양만큼 해양쓰레기 이미지의 크기가 바뀌도록 만들어봅시다.

1) 먼저 엔트리봇 오브젝트를 클릭합니다. 그리고 ‘시작’ 버튼을 누르고 ‘시작하기 버튼을 클릭했을 때’ 블록을 추가합니다. ‘자료’ 버튼을 눌러 ‘안녕!을 묻고 대답 기다리기’ 블록을 추가합니다. 그리고 ‘연도를 입력하면 그 해의 해양쓰레기 추정량을 알려줄게’라는 문장을 입력합니다.  


 

2) 신호를 ‘쓰레기 오브젝트’에 보내 쓰레기 이미지의 크기를 바꿀 계획입니다. 그렇게 하기 위해 ‘속성’에서 ‘신호’를 추가합니다. ‘입력’이라는 글자를 입력합니다. 여기서 ‘입력’은 신호의 이름으로 중요한 부분은 아니며, 다른 글자를 입력해도 상관은 없습니다. 

 


3) ‘판단’에서 등호 블록(파란색)을 추가합니다, ‘시작’에서 ‘입력 신호 보내기’를 추가합니다. 그리고 ‘흐름’에서 ‘2초 기다리기’를 추가한 후 1로 수정합니다. 


 

4) 여러 글자를 넣기 위해 ‘계산’에서 ‘안녕!과 엔트리를 합치기’ 블록을 2개 추가해줍니다. 그리고 ‘데이터 분석’에서 ‘구분 값’을 추가합니다. 이 값은 ‘추정량(ton)’으로 변경해줍니다. ‘생김새’에서 말하기 블록도 추가합니다.

 ‘계산’에 ‘-’식을 추가하고 ‘자료’에서 ‘대답’을 추가하여 왼쪽 그림과 같이 만들어 줍니다. 그리고 2006을 입력합니다. 이 의미는 연도를 입력했을 때 행으로 바꾸는 것을 의미합니다. 예를 들어 2008을 입력하면 여기에 2006을 빼면 2가 되고, 2행의 숫자와 같습니다. 2011에 2006을 빼면 5인데 5행과 숫자가 같습니다. 즉 연도를 입력했을 때 행에 해당하는 숫자로 바꾸기 위해 2006을 빼도록 한 것입니다.


5) 위 4개의 블록을 조합하여 아래의 모습이 나오도록 조립합니다.


6) 그리고 아래 그림과 같이 1초 기다리기 블록 아래에 조립해 완성합니다.



[STEP 4] 쓰레기양에 따라 크기가 변하여 움직이는 모습 만들기

1) 쓰레기 오브젝트를 클릭한 후 ‘시작’ 버튼을 눌러 ‘입력 신호를 받았을 때’ 블록을 추가합니다. 그리고 다른 블록도 추가하여 위의 그림과 같이 만듭니다. 추정량에 나누기 100을 한 이유는 추정량(ton) 숫자가 너무 크기 때문에 임의로 100정도 나눈 것입니다.


 

2) ‘흐름’, ‘움직임’ 에서 블록을 추가하여 완성합니다.

 
 

3) 완성한 블록은 아래와 같습니다. 프로그램을 테스트 해봅시다.

 


 


2. 엔트리 프로그램 공유하고 평가하기


 ★ 오늘의 MVP

우리 반 친구들은 어떤 캠페인 프로그램을 만들었나요? 친구들이 만든 프로그램의 장점은 무엇인가요?


 

 심화 - 해양쓰레기 추정량을 읽어주는 인공지능 프로그램 만들기

지금까지 분석한 해양쓰레기 데이터를 바탕으로 엔트리를 활용해 프로그램을 만들어보겠습니다. 연도를 입력하면 그 해의 해양쓰레기 추정량에 대해 소리를 내어 대답하는(읽어주는) 인공지능 프로그램입니다. 이 프로그램을 구현하기 위해서는 ‘해양쓰레기 연도별 통계’ 데이터와 ‘오브젝트’, 여러 가지 블록이 필요합니다. 조금 어려울 수도 있지만 순서에 따라 차근차근히 따라해 보세요.


[STEP 1] 테이블 추가하기

 

1) 활용하는 데이터는 ‘해양쓰레기 연도별 통계’ 데이터입니다. 테이블에서 데이터 값을 확인해주세요. 행은 1부터 13까지이며, 2008년부터 2019년까지 해양쓰레기 추정량(톤) 값이 입력되어 있는 것을 확인할 수 있습니다.

 

 

 


2) ‘+’ 버튼을 눌러서 오브젝트를 추가해줍니다. ‘엔트리봇’을 추가해주고 여러분이 추가하고 싶은 ‘오브젝트’를 더 추가해도 됩니다. 


 

3) ‘시작’에서 시작하기 버튼 블록과 ‘자료’에서 안녕!을 묻고 대답 기다리기 블록을 추가해줍니다.그리고 ‘안녕!’ 대신에 ‘연도를 입력하면 그 해의해양쓰레기 추정량을 알려줄게’ 문장을 입력합니다. 그리고 대답 블록도 추가합니다.

 

 

4) ‘데이터분석’에서 값 블록(하늘색)을 추가합니다.

 

5) ‘판단’에서 등호 블록(파란색)을 추가합니다.


[STEP 2] 대답 확인에 필요한 블록 추가하기

 

1) 현재 만들려고 하는 것은 연도를 입력하면 그 해의 해양쓰레기 추정량을 대답하는 프로그램입니다. 엔트리가 질문한 후의 대답 값(입력값)이 해양쓰레기 행의 구분값(연도)와 같을 때 그 구분값(연도)에 해당되는 해양쓰레기 추정량을 대답해주어야 합니다. 등호 블록에 두 가지 블록을 넣어줍니다.


 

2) ‘흐름’에서 반복 블록을 넣어줍니다.

 


3) 앞에서 만든 블록(파란색)을 반복 블록의 ‘참’에 추가해줍니다. 그리고 블록들을 연결해줍니다.




[STEP 3] 변수 블록 추가하기


 

1) 변수 블록을 추가해줍니다. ‘자료’에서 ‘변수 만들기’를 클릭해줍니다. 변수 이름은 ‘행’으로 적고 확인을 클릭해줍니다.







2) ‘자료’에서 행 값 블록을, ‘계산’에서 덧셈 블록을 가져와 ‘행 값 + 1’블록을 만들어줍니다.  


 

3) ‘자료’에서 행에 10만큼 더하기 블록을 추가하고 1로 숫자를 수정합니다. ‘생김새’에서 말하기 블록을 추가합니다.

 

 

4) 말하기 블록(빨간색)에 ‘데이터분석’의 해양쓰레기 값 블록을 추가합니다. 그리고 ‘구분’을 눌러 ‘추정량’으로 변경합니다.

 

5) ‘자료’에서 행을 10으로 정하기 블록을 맨 위쪽에 추가하고 숫자를 1로 변경합니다. 또한 빨간색 블록 안에 ‘2번째 행’ 안에 위에서 사용했던 ‘행 값 + 1’ 블록을 복사하여 넣어줍니다.

 


  

  

6) 프로그램을 실행해봅시다. 2010을 입력하면 6993으로 대답하는 것을 확인할 수 있습니다. 숫자에 다른 대답도 추가해보겠습니다.

 


7) 대답을 추가로 할 때는 합치기 블록을 활용하면 됩니다. ‘계산’에서 합치기 블록을 2개 추가해주세요. 저희가 만들고 싶은 문장은 ‘해양쓰레기 추정량은 ~ 톤입니다.’입니다. 앞 뒤로 2개의 문장이 필요하기 때문에 합치기 블록 2개를 준비합니다.


8) 첫번째 합치기 블록의 '안녕!' 대신, '해양쓰레기 추정량은'이라고 입력하고, '엔트리' 대신에, 앞선 과정에서 조립했던 '테이블 해양쓰레기 연도별 통계 추정량 값' 블록을 넣어줍니다. 그 다음, 첫번째 합치기 블록 전체를 두번째 합치기 블록의 '안녕!' 문구 대신 넣어줍니다. 그리고 두번째 합치기 블록의 '엔트리' 대신에, '톤 입니다'라고 입력해줍니다.



9) 앞선 8) 과정에서 만든 블록을 아래와 같이 붙여서 완성합니다. 

 

 

10) 실행해서 연도를 입력하면 다음과 같이 문장으로 대답하는 것을 확인할 수 있습니다. 


[STEP 4] 인공지능 블록 추가하기

 

1) 이번에는 입력한 문장을 인공지능이 읽어주도록 블록을 추가해보겠습니다. ‘인공지능’에서 ‘인공지능 블록 불러오기’를 클릭해주세요. 

 

2) ‘읽어주기’를 클릭합니다.


 

3) ‘인공지능’에서 엔트리 읽어주기 블록 (보라색)을 추가합니다.

 

4) 위쪽에 있는 값을 복사해서 엔트리 읽어주기 블록에 붙여 넣어 다음과 같이 최종적으로 프로그램을 완성해 줍니다. 



5) 프로그램이 제대로 작동하는지 확인해보세요! 연도를 입력하면 그 해의 해양쓰레기 추정량에 대해 소리를내어 대답하는(읽어주는) 인공지능 프로그램을 만들었습니다. 

 


 ★ 스스로 평가해볼까요?

 이번 주제에서 배운 내용을 생각하며, 스스로 평가해봅시다.

 엔트리에서 해양쓰레기 데이터를 불러올 수 있다.

 ☆ ☆ ☆ ☆ ☆

 엔트리에서 해양쓰레기 데이터를 탐색하고 분석할 수 있다.

 ☆ ☆ ☆ ☆ ☆

 해양쓰레기 줄이기 캠페인 프로그램을 만들 수 있다.

 ☆ ☆ ☆ ☆ ☆