[SW로 수업하자]소금물 농도 구하기

소금물 농도를 매번 계산하지 않고 간단히 측정할 순 없을까요? 소금과 물 양을 입력해 소금물 농도를 계산하는 프로그램이 있다면 좋겠죠. 이 프로그램 만들기는 어려운 과정이 아닙니다. 수업 시간에 활용 가능한 `소금물 농도 구하기` 프로그램을 엔트리로 간단히 만들어 보겠습니다.

Photo Image
소금 농도구하기 완성 이미지

우선 주소창에 링크(http://goo.gl/jJK2f9)를 입력하고 접속합니다. `강의 학습하기` 버튼을 클릭하면 프로그래밍 환경이 구성돼 있습니다. 화면 왼쪽에 `시작하기`를 클릭해 보겠습니다. 시작하기 버튼을 클릭하고 실행화면에서 `물 붓기` `소금 넣기` 글상자를 클릭해도 아무런 반응이 일어나지 않는 것을 알 수 있습니다. 왜냐하면 오브젝트만 놓여 있을 뿐 각 오브젝트마다 어떻게 동작하라는 명령어를 주지 않았기 때문입니다.

이제 물 붓기 글상자 오브젝트를 클릭해 프로그래밍을 시작해보겠습니다.

Photo Image
오브젝트 클릭했을 때 이미지

프로그램이 시작되고 `물 붓기` 글상자 오브젝트를 클릭하면 물을 몇 ㎖ 붓겠냐고 묻고 대답을 얻도록 만들어 볼게요. `시작`에 `오브젝트를 클릭했을 때` 블록을 가져옵니다. `자료`에 `안녕을(를) 묻고 대답 기다리기` 블록을 가져온 다음 `물의 양(㎖)에 10만큼 더하기` 블록을 가져와 조립해주고 10이라는 자리에 `대답` 블록을 끼워줍니다. 그리고 코드 끝에 `물 붓기` 신호를 보내줍니다. `소금 넣기` 글상자 오브젝트도 이와 같은 원리로 코드를 조립해줍니다.

물통 오브젝트를 클릭해 보겠습니다.

물을 부을 때 얼마큼 부을 것인지 입력한 다음 물통이 비커에 물을 따르는 애니메이션이 나오도록 만들어 보겠습니다.

Photo Image
물 붓기 농도 계산하기 과정 이미지

프로그램이 시작하고 나서 처음엔 모습이 나타나지 않도록 만들어줍시다. `물 붓기` 신호를 받았을 때 현재 물 양과 소금 양을 고려해 농도를 구하도록 `농도 계산하기` 신호를 보내줍니다.

이후 물통 모양이 보이고 물통에서 비커에 물을 따르는 애니메이션이 나오도록 3번 반복해 물통을 왔다갔다 움직여줍니다. 애니메이션이 끝나면 물통은 다시 사라지도록 만들어줍니다. 소금 오브젝트도 이와 같은 원리로 코드를 조립해줍니다.

마지막으로 농도를 구해보겠습니다. 비커 오브젝트를 선택합니다.

`농도 계산하기` 신호를 받았을 때 `자료`에서 `농도(%)를 10으로 정하기` 블록을 가져옵니다. 그리고 `계산`에 있는 덧셈, 곱셈, 나눗셈 연산 블록을 중첩해 조립한 후 위치에 알맞게 `자료`에 있는 변수값을 넣어줍니다.

이제 시작하기를 클릭해 볼까요. 실행화면에서 `물 붓기` 또는 `소금 넣기` 오브젝트를 클릭해 각각에 대한 물질의 양을 키보드로 입력해주고 이 내용을 바탕으로 컴퓨터가 자동으로 농도를 계산해줘 표시된다는 것을 알 수 있습니다. 소금뿐만 아니라 설탕 농도도 같은 원리로 구할 수 있습니다.

김지선기자 river@etnews.com