3. 거북이 로봇과 함께하는 프로젝트

거북이 로봇의 작동 방법과 기초 명령어 연습을 통해 거북이 로봇을 원하는 대로 이동하거나 소리 나게 하는 방법을 배웠다. 이번 장에서는 앞에서 배운 내용을 토대로 친구들과 협력하여 제시된 프로젝트를 수행해 보자.

프로젝트

1

거북이 로봇 그림 그리기
이미지. 거북이 로봇으로 한 변이 6cm인 정육각형 도형을 그리는 동영상의 스크린샷.

거북이 로봇으로 한 변이 6cm인 정육각형 도형을 그려보자(단, ‘사이렌’ 소리를 내며 회전하게 코딩).


가. 정육각형의 정의에 대해 적어보자.

변의 길이 모든 변의 길이가 같다.
내각의 크기 한 내각의 크기는 120도이다.

나. 도형을 그리기 위해 사용하는 명령어를 적어보자.

변의 길이 move_forward()
회전 각도 turn_left() 또는 turn_right()
‘삐’ 소리 sound(Turtle_SOUND_SIREN)

다. 거북이 로봇이 한 변이 6cm인 정육각형을 그리기 위해 첫 출발 방향과 이동해야 하는 거리, 회전 방향과 각도를 적어보자.

이미지. 거북이 로봇이 한 변이 6cm인 정육각형을 그리는 것을 12단계로 설명한 사진.
출발 방향 이동할 방향에 거북이 머리를 둔다.
이동 거리 6cm
회전 방향 왼쪽으로 회전
회전 각도 60도

라. 파이선으로 코드를 작성해서 실행시켜 보자.


from roboid import *


turtle=Turtle()


turtle.move_forward(6) # 거북이 로봇을 6cm 앞으로 이동

turtle.sound(Turtle.SOUND_SIREN) # 거북이 로봇이 '사이렌' 소리내기

turtle.turn_left(60) # 거북이 로봇이 왼쪽으로 60도 될 때까지 회전


turtle.move_forward(6) # 거북이 로봇을 6cm 앞으로 이동

turtle.sound(Turtle.SOUND_SIREN) # 거북이 로봇이 '사이렌' 소리내기

turtle.turn_left(60) # 거북이 로봇이 왼쪽으로 60도 될 때까지 회전


turtle.move_forward(6) # 거북이 로봇을 6cm 앞으로 이동

turtle.sound(Turtle.SOUND_SIREN) # 거북이 로봇이 '사이렌' 소리내기

turtle.turn_left(60) # 거북이 로봇이 왼쪽으로 60도 될 때까지 회전


turtle.move_forward(6) # 거북이 로봇을 6cm 앞으로 이동

turtle.sound(Turtle.SOUND_SIREN) # 거북이 로봇이 '사이렌' 소리내기

turtle.turn_left(60) # 거북이 로봇이 왼쪽으로 60도 될 때까지 회전


turtle.move_forward(6) # 거북이 로봇을 6cm 앞으로 이동

turtle.sound(Turtle.SOUND_SIREN) # 거북이 로봇이 '사이렌' 소리내기

turtle.turn_left(60) # 거북이 로봇이 왼쪽으로 60도 될 때까지 회전


turtle.move_forward(6) # 거북이 로봇을 6cm 앞으로 이동

turtle.sound(Turtle.SOUND_SIREN) # 거북이 로봇이 '사이렌' 소리내기

turtle.turn_left(60) # 거북이 로봇이 왼쪽으로 60도 될 때까지 회전


마. 반복문 ‘for’를 사용해서 코드를 작성한 후 실행시켜 보자.


from roboid import *


turtle=Turtle()


for i in range(6): # 아래 명령어를 6번 반복

    turtle.move_forward(6) # 거북이 로봇을 6cm 앞으로 이동

    turtle.sound(Turtle.SOUND_SIREN) # 거북이 로봇이 '사이렌' 소리내기

    turtle.turn_left(60) # 거북이 로봇이 왼쪽으로 60도 될 때까지 회전

프로젝트

2

거북이 로봇 노래하기
이미지. 거북이 로봇으로 '우리 집에 왜 왔니?' 노래를 연주하는 동영상의 스크린샷.

거북이 로봇이 ‘우리 집에 왜 왔니?’ 노래를 연주해 보자.

이미지. '우리집에 왜 왔니?' 악보. 도돌이표 악보이며 총 13개의 음이 있다. 순서대로 솔, 솔, 솔, 시, 높은 레, 시, 솔, 라, 레, 레, 솔, 솔, 솔.

가. ‘우리 집에 왜 왔니?’ 노래의 멜로디 계이름과 박자를 적어보자.

계이름(박자) 첫째마디 둘째마디
솔(0.5) 솔(0.5) 솔(0.5) 시(0.5) 높은 레(1) 시(0.5) 솔(0.5)
셋째마디 넷째마디
라(1) 레(0.5) 레(0.5) 솔(0.5) 솔(0.5) 솔(1)

나. 노래를 연주하기 위해 사용하는 명령어와 앞뒤로 이동을 위한 명령어를 적어보자.

음 연주 note()
앞으로 이동 move_forward()
뒤로 이동 move_backward()

다. 아래 pitch 값을 참고하여 파이선으로 ‘우리 집에 왜 왔니?’를 연주하기 위한 코드를 작성해 보자(picth 값은 숫자로 입력).


☞ pitch 값

음정 음 높이 숫자
4번째 옥타브의 레 음 Turtle.NOTE_D_4 42
4번째 옥타브의 솔 음 Turtle.NOTE_G_4 47
4번째 옥타브의 라 음 Turtle.NOTE_A_4 49
4번째 옥타브의 시 음 Turtle.NOTE_B_4 51
5번째 옥타브의 레 음 Turtle.NOTE_D_5 54

from roboid import *


turtle=Turtle()


for i in range(4): # 아래 명령어를 4번 반복

    turtle.note(47, 0.5) # 거북이 로봇이 '솔' 음을 0.5박자 동안 소리내기

    turtle.note(47, 0.5) # 거북이 로봇이 '솔' 음을 0.5박자 동안 소리내기

    turtle.note(47, 0.5) # 거북이 로봇이 '솔' 음을 0.5박자 동안 소리내기

    turtle.note(51, 0.5) # 거북이 로봇이 '시' 음을 0.5박자 동안 소리내기

    turtle.note(54, 1) # 거북이 로봇이 '레' 음을 1박자 동안 소리내기

    turtle.note(51, 0.5) # 거북이 로봇이 '시' 음을 0.5박자 동안 소리내기

    turtle.note(47, 0.5) # 거북이 로봇이 '솔' 음을 0.5박자 동안 소리내기

    turtle.note(49, 1) # 거북이 로봇이 '라' 음을 1박자 동안 소리내기

    turtle.note(42, 0.5) # 거북이 로봇이 '레' 음을 0.5박자 동안 소리내기

    turtle.note(42, 0.5) # 거북이 로봇이 '레' 음을 0.5박자 동안 소리내기

    turtle.note(47, 0.5) # 거북이 로봇이 '솔' 음을 0.5박자 동안 소리내기

    turtle.note(47, 0.5) # 거북이 로봇이 '솔' 음을 0.5박자 동안 소리내기

    turtle.note(47, 1) # 거북이 로봇이 '솔' 음을 1박자 동안 소리내기