3. 거북이 로봇과 함께하는 프로젝트
거북이 로봇의 작동 방법과 기초 명령어 연습을 통해 거북이 로봇을 원하는 대로 이동하거나 소리 나게 하는 방법을 배웠다. 이번 장에서는 앞에서 배운 내용을 토대로 친구들과 협력하여 제시된 프로젝트를 수행해 보자.
1
거북이 로봇 그림 그리기거북이 로봇으로 한 변이 6cm인 정육각형 도형을 그려보자(단, ‘사이렌’ 소리를 내며 회전하게 코딩).
가. 정육각형의 정의에 대해 적어보자.
변의 길이 | 모든 변의 길이가 같다. |
내각의 크기 | 한 내각의 크기는 120도이다. |
나. 도형을 그리기 위해 사용하는 명령어를 적어보자.
변의 길이 | move_forward() |
회전 각도 | turn_left() 또는 turn_right() |
‘삐’ 소리 | sound(Turtle_SOUND_SIREN) |
다. 거북이 로봇이 한 변이 6cm인 정육각형을 그리기 위해 첫 출발 방향과 이동해야 하는 거리, 회전 방향과 각도를 적어보자.
출발 방향 | 이동할 방향에 거북이 머리를 둔다. |
이동 거리 | 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
거북이 로봇 노래하기거북이 로봇이 ‘우리 집에 왜 왔니?’ 노래를 연주해 보자.
가. ‘우리 집에 왜 왔니?’ 노래의 멜로디 계이름과 박자를 적어보자.
계이름(박자) | 첫째마디 | 둘째마디 |
---|---|---|
솔(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박자 동안 소리내기