거북쌓기나무 - javamath.com · 쌓기나무준비 ㄱ do vuuuu ㄴ 2장: MATH LAND에...

12
거북레고 거북쌓기나무 거북명령 거북문자로 레고놀이를 하는 창의컨테스트에서는 초 등학교 6학년 학생들이 배우는 쌓기나무 수학으로 다 양한 창의체험 수학활동을 하게 됩니다. 거북명령은 미국 MIT 대학 수학교수 패펄트(Papert)가 개발한 컴퓨 터 언어 로고(LOGO)에서 발전하였으며, 거북명령은 학 생들이 친숙한 거북이 아바타를 통해 같이 레고 놀이를 하며 수학을 만들 수 있도록 개발되었습니다. 거북이 그린 Papert MIT 대학의 패펄트 교수는 프랑스어를 배우려면 프랑스에 가는 것이 좋은 것처럼 의사소통과 생각의 언어인 수학을 체험하려면 수학 언어가 쓰이는 수학나라 (MathLAND) 에 보내야된다고 주장하며 거북명령 LOGO를 통해 수 학나라를 만들려고 했습니다. 저희 서울대학교 SMART 수학교육연구팀도 쌓 기나무 기반 수학문자로 의사소통과 생각을 체험할 수 있는 MathLAND를 www.javamath.com 과 mentoring.snu.ac.kr 주소에 만들었습니다. 이제 학생 들은 이곳에서 다음과 같은 수학문자로 Learning by Design 활동을 하면서 창의적 체험활동을 하고, 이를 바탕으로 수학적 역량을 확장시킬 것입니다. 쌓기나무 거북명령으로 면 m, 정육면체 s, 육각기둥 v 등을 만들며 레고 놀이를 하자! ▶▶ www.javamath.com/class 서울대학교 SMART 수학교육 : 거북수학 창의컨테스트 어린왕자 MATHLAND 만들기 www.javamath.com/class 스트 컨테스트 www.javamath.com 의 [거북수학 수학실험실] 안에 들어가면, [수학실험실] 게시판이 나온다. [수학실험실] 게시판의 내용인 [SMART 창의체험 수학학습] 과 [MATH_TREE 수학나무 디자인] 내용을 기반으로 어린 왕자가 사는 지구 모양의 별 위에 MATH LAND를 (린덴마이어) 거북문자로 만들어보자. MCY (Mathematics Created by You) 거북수학 창의컨테스트는 Learning by Design 전략으로 수리과학을 만들며 수학적 창의학습을 경험하는 것입니다.

Transcript of 거북쌓기나무 - javamath.com · 쌓기나무준비 ㄱ do vuuuu ㄴ 2장: MATH LAND에...

거 북 레 고 와 거 북 쌓 기 나 무거북명령

거북문자로 레고놀이를 하는 창의컨테스트에서는 초

등학교 6학년 학생들이 배우는 쌓기나무 수학으로 다

양한 창의체험 수학활동을 하게 됩니다. 거북명령은

미국 MIT 대학 수학교수 패펄트(Papert)가 개발한 컴퓨

터 언어 로고(LOGO)에서 발전하였으며, 거북명령은 학

생들이 친숙한 거북이 아바타를 통해 같이 레고

놀이를 하며 수학을 만들 수 있도록 개발되었습니다. 거북이 그린 Papert

MIT 대학의 패펄트 교수는 프랑스어를 배우려면 프랑스에 가는 것이 좋은

것처럼 의사소통과 생각의 언어인 수학을 체험하려면 수학 언어가 쓰이는

수학나라 (MathLAND) 에 보내야된다고 주장하며 거북명령 LOGO를 통해 수

학나라를 만들려고 했습니다. 저희 서울대학교 SMART 수학교육연구팀도 쌓

기나무 기반 수학문자로 의사소통과 생각을 체험할 수 있는 MathLAND를

www.javamath.com 과 mentoring.snu.ac.kr 주소에 만들었습니다. 이제 학생

들은 이곳에서 다음과 같은 수학문자로 Learning by Design 활동을 하면서

창의적 체험활동을 하고, 이를 바탕으로 수학적 역량을 확장시킬 것입니다.

쌓기나무 거북명령으로 면 m, 정육면체 s, 육각기둥 v 등을 만들며 레고 놀이를 하자!

▶▶ www.javamath.com/class 서울대학교 SMART 수학교육 : 거북수학 창의컨테스트

어 린 왕 자 MATHLAND 만 들 기 www.javamath.com/class 창 의 컨 테 스 트컨테스트

www.javamath.com 의 [거북수학 수학실험실] 안에 들어가면, [수학실험실]

게시판이 나온다. [수학실험실] 게시판의 내용인 [SMART 창의체험 수학학습]

과 [MATH_TREE 수학나무 디자인] 내용을 기반으로 어린 왕자가 사는 지구

모양의 별 위에 MATH LAND를 (린덴마이어) 거북문자로 만들어보자.

MCY (Mathematics Created by You) 거북수학 창의컨테스트는 Learning by

Design 전략으로 수리과학을 만들며 수학적 창의학습을 경험하는 것입니다.

쌓기나무 거북명령 s , U , D , d , u

(1) (2) (3) (4)

(1) do sss ( do 3s ) (3) do sss Usss Dsss (do 3s U3s D3s)

(2) do sss Usss (do 3s U3s) (4) do sss Usss Dsss ddd

do sss 명령은 간단히 do 3s 로 쓸 수 있디 (3s 는 sss와 같다). s 는

step의 첫자로 거북이가 정육면체를 만들어준다. U 는 Upwad의 첫 자로 정육면

체 s 안에서 앞면에 붙어서 위를 향하게 되고, D는 Downward의 첫 자로 뒷면

에 붙어서 아래를 향하게 된다. 위 그림에서 거북이 방향을 살펴보며 이해한다.

u (up), d (down), l (left), r (right) :: 푸쉬푸쉬 게임 나누기

푸쉬푸쉬 게임이라는 것이 있는데, 자바말에도 푸

쉬푸쉬 게임이 들어있다. 자바말에서 푸쉬푸쉬 게

임을 하려면 자바말 화면 아래에 있는 입력창 M>

다음에 게임 번호를 쓰고 엔터키를 누르면 된다.

M> 자바말( 1 ) [엔터]

자바말(0) 부터 자바말(104) 까지 105 가지

게임이 가능하다. 푸쉬푸쉬 게임을 마친 후,

M> 명령 자바말 [엔터]

하면 왼쪽과 같이 편집기에 u,d,l,r, 문자로

하자 dudr .. 과 같은 푸쉬푸쉬 거북명령이

쓰여지며, 이 것을 게임 번호와 같이 게시

판에 저장하고 또한 실행시킬 수 있다.

▶▶ www.javamath.com/class 서울대학교 SMART 수학교육 : 거북수학 창의컨테스트

(1) (2)

(3) (4)

(1) do 6s [uuu] ss us (3) do 6s [uuu [c3s] L [c3s] ] ss us

(2) do 6s [uuu [c3s] ] ss us(4) do 6s [ uuu [c3s] L [c3s] L [c3s]

do L [c3s] ] ss us

쌓기나무준비

do sss

do R ss

도돌이표 기호 [ 와 ] 사용하기

do 3s [ :: s를 세 개 만든

후, [ 기호에 의해 현재의 위

치(빨간 원)를 기억시킨다.

do 3s [4u] :: ] 기호가 나타나면 [ 기호

에 의해 기억된 위치와 방향으로 거북

이가 돌아오게 된다.

do 3s [ 4u :: [ 기호로 현재

의 위치를 기억시킨 후, 위

로 그리는 4u 가 그려진다.

do 3s [4u] ss :: ] 기호에 의해 기억된

위치(빨간 원)로 돌아온 후, ss 두 개를

만든다. 최종적으로 마지막 s에 있다.

L (left) 와 R (righr) 명령은

거북의 진행 방향을 바꾸

어준다. 왼쪽 명령과 그림

에서 R 명령으로 방향을

바꾼다. 육각기둥 v에서 L

은 72도를 도는 것이다.

[ 와 ] 기호를 중복하여 사용하기

(참고) 거북이의 모습이 나타난 곳은 [ 와 ] 안에서만 생각한 경우임.

쌓기나무준비 ㄱ do s[u]s[2u] s[u]s[2u] s[u]s[2u] s[u] ㄴ

1장 : 어린왕자 별에 MATH LAND 치환성 만들기

: 어린왕자 MATH LAND에 들어갈 치환성을 만들어보자.

놀이공원에 가면 멋진 성을 볼 수 있지요. 우리도 거북이와 쌓기나무를 이

용해서 멋진 성을 만들 수 있습니다. 성을 만드는 방법에 우리는 치환문자

를 사용하는“치환”이란 수학적 방법을 사용합니다. 그래서 우리는 “치환

성 만들기”라고 한답니다. 간단한 성을 만드는 준비를 시작해볼까요?

치환성 만들기 (수학적 치환문자와 치환방법 익히기)

간단한 치환성을 만들어봅시다. 기본명령을 잘 기억하고 아래 명령어

와 똑같이 입력해보세요. 어떤 모양이 나올까요? 이 때, s[u] 라는 문자가 계

속해서 반복적으로 나옵니다. 간단하게 쓰는 방법이 없을까 ? 우리는 수학

적 방법으로 치환문자를 사용하여 반복되는 내용을 치환할 것입니다.

▶▶ www.javamath.com/class 서울대학교 SMART 수학교육 : 거북수학 창의컨테스트

X = ' s[u]s[2u] '

do 3X

쌓기나무준비 ㄱ X = ' s[u]s[2u] ' do 2X s[u] ㄴ

쌓기나무준비 ㄱ X= ' s[u]s[2u] ' do 8X s[u] ㄴ

또는 { } 반복명령으로 do 3 { s[u]s[2u] }

어떻게 하면 좋을까요? 그래서 우리는 “똑같은 것을 하나로 묶는 치환!!”

을 사용해보려고 해요. 거북명령에서 반복되는 것을 묶어봅시다.

우리는 이렇게 s[u]s[2u] 를 문자 X로 간단하게 치환할 수 있답니다.

거북이는 do 3X 를 하라고 하면, 문자 X에 담겨있는 s[u]s[2u]를 세 번 반복

해서 실행합니다. 이제 다음 명령을 살펴보세요. ( ' 와 ‘ 기호로 치환).

이제 성벽을 크게 만드는 방법도 아주 쉽답니다. X앞의 숫자계수만 바꿔주

면 되겠지요? 이와 같이 여러 번 똑같이 쓰지 않아도 치환을 사용하면 간단

하게 큰 성벽을 만들 수 있습니다 ( ' 와 ‘ 기호로 치환합니다). `

{ 과 } 기호로 반복명령 내리기

(1) (2)

X = ' s[u]s[2u] '

do 3X s[u] X = ' s[u]s[2u] '

do 3X L 3X L 3X L X를 {와 } 로 풀어서

do { 3 {s[u]s[2u]} s[u] } do 3 { 3X L } 또는 X를 {와 } 로 풀어서

do 3 { 3{s[u]s[2u]} L }

{ 와 }를 쓰는 반복명령은 반드시 끝이 } 으로 끝나야한다. 따라서

do ss 3{ s[u] } 는 되지만, do 3{ s[u] } ss 는 안된다. 마지막을 } 으로

끝나게 하려면 do 3{ s[u] } ss 을 do { 3{ s[u] } ss } 와 같이 쓰면 된다.

*** do { s[u] } 는 do 1 { s[u] } 와 같다 (한번만 반복하는 경우 1을 생략)

(n=n+1) 같은 수학표현으로 계단 모양은 어떻게 만들지 ?

쌓기나무준비 ㄱ n=0; do s[(n)u] (n=n+1) s [(n)u] ㄴ

쌓기나무준비 ㄱ n=0 ; X = 's[(n)u] (n=n+1)' do 4 X ㄴ문자 n에 값을 넣고 (n) 으로 그 값을 사용하기 문자 n에 숫자 0을 넣으면, (n)u 는 0u 이며, (n=n+1) 하면 n의 값을 하나 증가시키게 되어 1이 되므로, (n)u 는 1u 와 같게 됩니다.

문자 X에 's[(n)u] (n=n+1)'을 저장합니다. 이후, do 4X 를 하면 do XXXX 가 되고, 이것은 's[(n)u] (n=n+1)'를 네 번 연결하여 실행시키는 것입니다.

▶▶ www.javamath.com/class 서울대학교 SMART 수학교육 : 거북수학 창의컨테스트

o 와 O 로 삼각형 만들기 면을 위와 아래로 접기

Mmmomm MmmOmm Mmm(30###)omm Mmm(60#)mm Mmm(-60#)mm

디폴트로 rrv=60 , ddv=90 로 정해져 있다. 이 값에 의해 do mo 할

경우에 사잇각을 60도로, do m<m 할 경우에 면과 면 사이의 이면각을 90도로

한다. rrv와 ddv 값을 바꾸면 do mo 와 do m>m<m 의 접는 각도가 달라진다.

만일 rrv와 ddv 각을 사용하지 않을 경우, do m(45###)0 와 do m(45#)m 같이

각도를 주면서 조절한다. <은 +방향 즉 위로 접고 >은 아래쪽으로 접는다.

면으로 도형 만들기 (면을 위로 아래로 접어 만들기)

m은 사각형 면을, M은 거북의 방향이 표시된 면을, o와 O는 각각 왼

쪽과 오른쪽으로 도는 삼각형을, p와 P는 각각 6각형과 5각형을, n과 N은

각각 반투명한 면과 투명한 면을 만든다. 삼각형의 사잇각은 다음과 같이

(각도###) 표현으로 결정하며, 면과 면 사이의 접는 각도인 이면각은 (각도#)

으로 결정한다.

쌓기나무준비 ㄱ ddv=72 do M L >m >m >m >m ㄴ

쌓기나무준비 ㄱ ddv=72 do M [ L >m>m>m>m ] do MM L <m<m<m<m ㄴ

M은 거북의 방향이 그려진 면이다. L 후에, >m을 4번 반복하면 면이 72도씩 접히면서 아래쪽으로 정5각형이 그려진다.

M을 만들고 [ L >m>m>m>m ] 으로 아래쪽으로 72도씩 접어서 정5각형을 만든 후, MM 으로 면을 2개 더 만들고, 다음 번에는 <m<m<m<m 으로 72도씩 위로 접어 위쪽으로 정5각형을 만든다.

쌓기나무준비

ddv=15

do M [ L

do 23 {c >m }

do ] C MMM

쌓기나무준비

ddv=15

반복 12 { do M [ L

do 23 {>m} ; do ] > }

쌓기나무준비

ddv=15

do 12 { M [L 23 {>m} ] > }

do cM L>M>M duuu (FF=5)u

어린왕자 별 만들기 (지구모양 만들기)

어린왕자가 사는 별의 모양을 만들어보자.

do 23 {c>m} 은 c>m을 23번 반복하여 실행하는 반복 23 { do c>m } 명령을

간단히 표현한 것이다. ddv=15 값에 의해, <m 기호는 면을 15도 위로 접어

만들고, >m 기호는 아래로 15도 만큼 경사지도록 만든다. 소문자 c는 하늘

색, 대문자 C는 노란색으로 면을 만들라는 명령이다.

위의 명령은 do 12 { M [ L 23 { >m } ] > } 으로 간단하게 쓸 수도 있다.

위의 명령은 지구 모양을 만든 후, 마지막에 cM 하고 L>M>M 하여 원하는

지구 위의 위치로 먼저 간 후에, duuu (FF=5) u 로 탑을 쌓은 모습이다.

▶▶ www.javamath.com/class 서울대학교 SMART 수학교육 : 거북수학 창의컨테스트

쌓기나무준비

do m (FFF=15)m (FF=20)m (hhh=15)s [(FF=15)u]

do n (ffv=20)(hhh=5)s [(FF=10)(hhh=15)u]

do n (hhh=10)v [(FF=10)(hhh=15)u]

do n (FFF=15)o (ffv=10)m (FFF=15)O m

쌓기나무준비

do M m [Hd cu (FF=8)(hhh=6) u(FF=6)uu ] M

do M p [Hd cu (FF=8)(hhh=6) u(FF=6)uu] M

s, v의 폭 (fff : FF , FFF), 길이 (ffv), 높이 (hhh)

아래 명령은 오른쪽 그림을 만든다

(FFF=15)m 는 A를, (FF=20)m는 B를 만든다. FF와 FFF는 폭을 만드는 명령이다. FFF와 FF의 차이는 무엇일까? (그림을 보세요)

위 명령에서, n 은 반투명 면을 만든다. 다음 질문에 답을 쓰라.

(질문) (hhh=15)s [(FF=15) u] 는 C를 만든다. 명령을 설명하여라.(질문) (ffv=20)(hhh=5)s [(FF=10)(hhh=15)u] 는 D를 만드는 이유?(질문) (hhh=10)v [(FF=10)(hhh=15)u] 가 E를 만드는 이유는 ?(질문) (FFF=15)o (ffv=10)m (FFF=15)Om 가 F와 G를 만드는 이유?

(질문) 아래 명령이 오른쪽 그림을 만든다.Hd 는 아래층에 만든 d를 감추는 명령이다명령 cu (FF=8)(hhh=6) u 의 뜻은 ?

쌓기나무준비 ㄱ do vuuuu ㄴ

2장: MATH LAND에 바오밥 확률나무 만들기

어린왕자가 사는 별의 바오밥 나무를 만드는 활동에 확률과 경우의 수 개

념과 함께 살펴봅시다.

놀이공원에서는 항상 장미축제, 튤립축제같은 아름다운 축제가 열립니다.

MATH LAND에서도 멋진 나무를 만들어 아름답게 꾸밀 수 있습니다. 여기서

는 확률과 경우의 수를 이용하여 자연스러운 나무의 모습을 만들어봅시다.

나무 만들기

간단한 나무를 먼저 만들어보도록 하겠습니다. 아래 명령어와 똑같이 명령

창에 입력해보세요. 나무의 기둥을 만들어봅시다. 아래 명령에서는 거북이

가 v (육각기둥)를 만들고 그 안에 있기에 그 다음에 uuuu에 의해 육각기둥

4개가 v 위에 만들어집니다.

나무에 나뭇잎도 있어야겠지요? 앞에서 익힌 사각형 면 m과 육각형 면 p,

그리고 면들을 접어서 각도를 만드는 방법으로 나뭇잎을 만들어봅시다.

▶▶ www.javamath.com/class 서울대학교 SMART 수학교육 : 거북수학 창의컨테스트

쌓기나무준비 ㄱ do vuu [mp]u [mp]u [mp] ㄴ

쌓기나무준비 ㄱ do vuu [Lmp]u[2Lmp]u[3Lmp] ㄴ

rnd(6) : 0, 1, 2, 3, 4, 5 중 하나를 고르세요

rand(6) : 1, 2, 3, 4, 5, 6 중 하나를 고르세요

나뭇잎이 한 쪽으로만 나니까 조금 이상하네요. 우리가 배운 왼쪽 방향의

거북문자 L을 이용해서 나뭇잎이 여러 쪽으로 나도록 해볼까요?

우리가 방향 L이나 2L이라고 알려주지 않아도 나뭇잎이 저절로 자라게 할

수 있는 방법이 있습니다! 바로 확률을 이용하는 방법입니다. 이 방법은 거

북이가 주사위를 던지면서 1이 나오면 L, 2가 나오면 2L, 5가 나오면 5L로

가도록 하는 확률을 이용해서 하는 방법입니다. 이 내용은 확률변수 사용

하기 부분을 공부하고 응용하는 것입니다. 거북이가 나뭇잎을 만들기 전에

주사위를 던집니다. 주사위를 던져서 나온 숫자만큼 L을 움직여서 나뭇잎을

자연스럽게 만들 수 있습니다. 거북이는 rnd(6) 또는 rand(6)를 사용합니다.

( rand(6) ) L 사용법 do vu[ (rand(6))L mp]

쌓기나무준비 ㄱ do vu[ (rand(6))L mp]

쌓기나무준비 ㄱ do vu [(rnd(6))Lmp]u [(rnd(6))Lmp]u [(rnd(6))Lmp]

쌓기나무준비 ㄱ X= ' u[(rnd(6))Lmp] ' do v 3X

거북이에게 주사위를 던져서 나오는 수에

따라 L을 쓰세요라는 명령은 다음과 같이

만들면 됩니다.

( rand(6) ) L 은 rand(6) 의 값 즉 주사위를 던져서 나온 수만큼 L을 하라

는 것 (즉 왼쪽으로 돌라는 뜻)입니다. rand 는 임의로라는 뜻의 랜덤

(random)을 줄인 말입니다. 이제 주사위를 던지며 나뭇잎을 만들어봅시다.

이제 rand 대신에 rnd를 사용하여 아까처럼 여러 번 쌓아볼까요?

이번에는 u [ (rnd(6)) L mp ] 가 반복되네요. 치환성에서 배웠던 치환을 사용

해서 X로 치환해봅시다. do v 3 { u[ (rnd(6))L mp] } 같이 표현해도 됩니다.

▶▶ www.javamath.com/class 서울대학교 SMART 수학교육 : 거북수학 창의컨테스트

ttblockX='Lo,LLo,3Lo,4Lo' do Msu[cX]u[cX]u[cX]u[cX] ttnet

ttblock X='Lo+, LLo+, 3Lo+, 4Lo+' do Msu[cX]u[cX]u[cX]u[cX] ttnet

자판기 메타퍼 (은유)로 경우의 수와 순열을 탐구하자 !

( 1 ) (2) (3) (4)

[탐구 문제] 홍길동이 눈을 감고, 자판기 버튼을 임의로 눌렀다. 이 때,

나올 수 있는 네 자리수는 모두 몇 가지인가 ? 7353 이 나올 확률은 얼마인가?

ttblockX= '(#3#)m++, (#5#)m+, (#7#)m+'do XXXXttnet

자판기에 버튼이 3개있고, 3이 두개, 5가 한개, 7이 한개 들어있다

[ X='s+, v+' ; do XX 명령 설명 ] X='s, v' 일 때, do X 를 하면 s 또는 v가

50% 확률로 만들어진다 (만일 X='s' 일 때, do X 는 100% s이다). X='s, v' 일 때, do

XXX 를 하면 sss 가 나올 확률은 8분의 1이다 (이유는 무엇인가?). X='s+, v+' 의 뜻은

자판기 버튼이 2개 인데, 한쪽에 s가 한 개, 다른쪽에 v가 한 개 들어있는 것이다. 따라

서 do X 하면 s 또는 v가 50% 확률로 만들어지지만, 만일 s가 나왔다면 자판기에 v만

남기에 다음에는 v 밖에 나올 수가 없다. 따라서 do XX 하면 sv 와 vs 가 나올 확률이

각각 50% 이다.

[ X='(#3#)m++, (#5#)m+' ; do XXX 명령 설명 ] (#3#)m 명령은 3이 쓰여진

면 m을 만들라는 것이다. 따라서, X='(#3#)m++, (#5#)m+' 을 자판기 은유로 설명하면,

두 개의 버튼이 있는 자판기가 있는데 첫 번째 버튼에는 3이 쓰여진 면이 2개, 두 번째

버튼에는 5가 쓰여진 면이 1개 들어있다는 것이다. 따라서 do XXX 에 의해 335,

353, 533 같이 세 가지의 경우가 만들어진다.

[설명하기] 다음 두 명령의 차이를 설명하여라.

프로이덴탈의 유명한 MIC 5학년 수학교과

서에 왼쪽과 같이 방울뱀의 무늬가 변화하는 문제

를 문자로 푸는 것이 있다. 거북이와 풀어본다.

[문제] 처음에 R (red) 무늬 하나가 있었다. 이 무

늬는 다음에 R→RBR 규칙에 의해 RBR무늬로 바뀐

다 (B는 black). 그 다음은 B→B 에 의해 B는 그냥

있고, R→RBR 규칙으로 R 무늬만 계속적으로 RBR

로 바뀐다. 왼쪽 교과서에 의하면 처음엔 R, 두 번

째엔 RBR, 그리고 세 번째엔 RBRBRBR 무늬이다.

네 번째와 다섯 번째의 무늬는 어떤 것인가 ?

린덴마이어 표현식 기반 거북명령

(n=0)

(n=1) (n=2) (n=3)

쌓기나무준비

s → ' sSs '

S → ' S '

n=3 ; do_n s

n=0

초기상태 s (s를 R로 본다)

n=1 sS s (s를 R로 보고, S를 B로 본다)

n=2 sS sS sS s

n=3 sS sS sS sS sS sS sS s

[ s를 R로 보고, S를 B로 본다 ] 쌓기나무 명령에서 S→'S' 는 S는

다음에 S가 된다는 것이고, s→'sSs' 는 s가 다음에 sSs 로 바뀐다는 표현.

(n=0) do_0 s 는 s의 바꾸지 않은 상태, 즉 초기상태로 s 자신이다.

(n=1) do_1 s 는 s가 규칙으로 한번 바뀌는 것으로 sSs (do s 는 do_1 s 이다).

(n=2) do_2 s ▶▶ do_1 sSs ▶▶ do_0 sSs S sSs 가 된다

(n=3) do_3 s ▶ do_2 sSs ▶ do_1 sSs S sSs ▶ do_0 sSsSsSs S sSsSsSs

▶▶ www.javamath.com/class 서울대학교 SMART 수학교육 : 거북수학 창의컨테스트

do_7 S L (90#)N (##red) X 명령으로 X

를 7번 변화시킨 후 그림을 그리게 된다. X는 아래

명령과 같이 m을 만든 후, 피타고라스 정리의 그림

과 같이 왼쪽 오른쪽에 삼각형을 그린 후, 두 삼각

형에 각각 X를 놓는다. 이 X는 다음 단계에서 또

다시 피타고라스 정리의 그림을 그리며 자란다.

ttblock (쌓기나무준비 ; ㄱ 을 ttblock 으로 대신 쓸 수 있습니다)

rrv=30 ( X → 'a' 표현을 X = 'a' 와 같이 표현할 수 있습니다)

X=' m [ (FFF=fff/sqr(3))o (ffv=fff)X ] [ (FFF=fff/sqr(3))O (ffv=fff)X ] '

do_7 S L (90#)N (##red) X

ttnet ( ㄴ 대신으로 ttnet 과 같이 영어로 쓸 수 있습니다)

피보나치 나무 쌓기나무 명령

ttblock

ddv=15

b = ' cma ' ; a → ' [<<Cmb] > cma '

do_9 m(90#)m b

ttnet

피타고라스 나무와 피보나치 나무

n=0 s (어린 토끼 한 쌍) n=1 S (어른 토끼 한 쌍) n=2 Ss (어른 토끼가 새끼 한 쌍을 낳음) n=3 SsS n=4 Ss S Ss n=5 SsS Ss SsS n=6 SsSSs SsS SsSSs n=7 Ss S Ss Ss S Ss S Ss Ss S Ss Ss S

[ baby 토끼 한 쌍을 s로, adult 토끼 한 쌍을 S로 본다 ]

쌓기나무준비

s→ ' S '

S= ' Ss '

n=1

do_n s

위 명령을 n=2 와 같이 n의 값을 바꾸면서 실행시켜보자

n 달 후에 토끼 쌍의 수를 f(n) 으로 하면, f(n+2) = f(n+1) + f(n)

코흐 눈꽃송이 곡선과 시어핀스키 삼각형

(n=0)

(n=1) (n=2) (n=3)

쌓기나무준비

ddv=60 ; n=1

M='M<M>>M<M'

do_n M>>M>>M

n=0

초기상태 M>>M>>M

n=1 M<M>>M<M >> M<M>>M<M >> M<M>>M<M

n=2 M 은 다음에 4개가 되기에, n=2 이면 3 x (4x4)

n=3 M 이 4개로 자라기에, n=3 이면 3 x (4x4x4)

[ 프랙탈 수열과 수열의 극한 ] do_0 , do_1 , do_2 ... do_n 으로

그려지는 그림으로 수학적 수열을 만들 수 있고, 수열의 극한과 성질 등에 대한

여러 탐구를 할 수 있다. 여기서 소개하는 코흐 눈꽃송이 곡선과 시어핀스키 삼

각형은 프랙탈 곡선으로, 프랙탈 도형은 전체와 부분이 닮은 도형을 말한다.

(n=0)

(n=1) (n=2) (n=3)

ttblock

ddv=120 ; n=1

M='M<m>M>m<M'

m='mm'

do_n M<m<m

ttnet

n=0

초기상태 M<m<m

n=1 9개: M은 5개를 만들고, m은 2개를 만든다.

n=2 27개: 전단계의 선분 갯수의 3배가 된다.

n=3 n 단계의 선분 개수는 3의 (n+1) 승이 된다.

▶▶ www.javamath.com/class 서울대학교 SMART 수학교육 : 거북수학 창의컨테스트

do_2 X do_3 X do_4 X do_5 X

린덴마이어 : X=‘ m [ > X ] m [ < X ] > X‘ ; m =‘ mm‘

m='m[<m]m[>m][m]' 규칙에 의해 m 이

자라나면 왼쪽과 같은 나무의 모습이 나타난다. 다

음 명령에서 m='m[<m]m[>m][m]' 부분을 고쳐서

쌓기나무준비 실행시켜 그림을 그리자.

ddv=30

m=' m[<m]m[>m][m] '

do_4 M(90#) m

린덴마이어 표현식 기반 거북나무 만들기

(n=0)

(n=1) (n=2) (n=3)

쌓기나무준비

ddv=30 ; n=1

M='M[<M][M][>M]'

do_n m (90#)M

n=0

초기상태 m (90#)M (m은 기준면, M은 자랄 면)

n=1 m (90#)M[<M][M][>M] 으로 자라 실행 됨

n=2 M 이 16개 : m 이 한 개 총 17개 (겹친것도 셈)

n=3 M 이 64개, m이 한 개, 총 65개 (겹친것도 셈)

나무줄기에 나뭇잎을 어떻게 비스듬하게 달지 ?

쌓기나무준비 ㄱ X= 'u[ (rnd(6))L (30#)m (10#) cp]' do v 3X

쌓기나무준비 ㄱ X= ' u[ (rnd(6))L (30#)m [(20#)cp] ' X = X + ' (-20#)m c p] ' do v 3X ㄴ

X에 치환된 내용 중 (30#)m 은 면 m을 바로 앞의 기준면과 30도 경사를 이루며 비스듬히 만들라는 것입니다. 또한 (10#) cp 는 10도 경사를 만들며 cp 즉 하늘색 육각형 p 를 만들라는 것입니다. 참고로 (30##) m을 하면 m의 길이가 30 인 면이 만들어집니다.

X에 ' u[ (rnd(6))L (30#)m [(20#)cp] '을 넣은 후, X = X + ' (-20#)m c p] '을 하면 X의 끝에 ' (-20#)m c p] ' 이 첨가되면서 확장됩니다. (-20#)m cp 는 –20도 (아래로 20도) 경사로 m을 만든 후, 하늘색 cp를 만들라는 것입니다.

육각기둥에 사각기둥 모양의 줄기를 달고 싶어요 !

쌓기나무준비 ㄱ X = ' [LL(45###) Sss] u ' do vu [ (45###)S ] u X ㄴ

쌓기나무준비 ㄱ X= ' (45###) Ss [(-45#) mcp] (30###) Sss ' do v uu [ X] LL [ X ] LL [X] uu ㄴ

(45###) S 명령은 vu 가 만든 기둥과 45도의 각도를 만들며 비스듬히 뿔기둥 모양이 만들어지고, 다음에 s로 정육면체가 붙을 곳이 하늘색으로 나타난다.

(45###) Ss 에 의해 먼저 거북이가 45도 각도로 비스듬히 S로 사각 뿔기둥 모양을 만들고, 그 다음 s 로 정육면체를 만들며 사각기둥을 연결시킨 후, 다시 (30###) Sss 로 사각 기둥을 휘게 만들 수 있다. (-45#) mcp 는 아래로 45도 경사인 mcp를 만든다.

▶▶ www.javamath.com/class 서울대학교 SMART 수학교육 : 거북수학 창의컨테스트

쌓기나무준비

ddv=15 ; n=10

Y= ' (n=n*0.9)(FF=n)u L [ cp ] '

do 12 { M [L 23 {>m} ] > }

do cM>M>M L>M>v du 8Y

쌓기나무준비

ddv=15 ; n=10 ; m= ' m[<m]m[>m][m] '

Y= ' (n=n*0.9)(FF=n)u (rnd(6)) L [ NL(90#)MRm] '

do 12 { M [L 23 {>M} ] > }

do_3 cM>M>M L>M>v du (ddv=30)(ffv=4) 8Y

어린왕자 별의 바오밥 나무를 어떻게 만들지 ?

다음 명령을 설명하고 실습하여 만들어보자.

Y= ' (n=n*0.9)(FF=n)u L [ cp ] ' 는 한번 실행될 때 마다 n의 값이 0.9 배로 점점 작아지며, 그 값이 FF=n 되어 u가 되며, 점점 폭이 작아지는 탑 모양의 육각기둥을 만들게 된다. 다음 실습문제를 보자.

(실습문제) 다음을 실행시키면 아래 그림이 나온다. 이유를 설명하자.

(실습문제) m = ' m[<m]m[>m][m] ' 을m = 'm[<m][>m][m]' 과 같이 여러 형태로 고치며 다시 실행시켜 보자.m = ' m[<m][>m][m] ' 으로 고치면 ?m = ' m[<m]m[>m] ' 으로 고치면 ?(실습문제) (rnd(6)) L [ NL(90#)MRm] 부분을 어떻게 고쳐야 좀 더 멋있는 나무를만들 수 있을까?

쌓기나무준비 ㄱ do s U ㅅㅅㅅ s

3장 : MATH LAND에 움직이는 놀이기구 만들기

MATH LAND에 들어갈 놀이기구에 엔진과 스프링을 이용하여 곡선운동과 직

선운동을 하도록 만들어 봅시다.

놀이공원에서 가장 많이 볼 수 있는 것은 놀이기구들이죠. 아슬아슬하고 재

미있는 놀이기구들을 MATH LAND에서도 만들 수 있습니다. 그렇다면 움직

이게 하는 스프링명령 과 엔진명령 사용하기를 살펴보도록 합시다.

스프링과 엔진으로 놀이기구 만들기

스프링으로 직선운동을 하는 놀이기구를 만들어봅시다. 아래 명령을 명령창

에 입력하여 실행시킨 후, Shift키와 마우스 오른쪽 드래그를 하면 스프링

으로 직선운동 (위 아래로 운동) 으로 움직이는 것을 볼 수 있습니다.

▶▶ www.javamath.com/class 서울대학교 SMART 수학교육 : 거북수학 창의컨테스트

쌓기나무준비 ㄱ do s U ㅅㅅㅅ s D mp

쌓기나무준비 ㄱ do s U ㅅㅅㅅ s D E mp

한글 ㅅ 명령 (영어로는 소문자 e)을 하면 거북이가 나아가는 방향으로 반

투명한 면 2개로 스프링이 만들어진다. 따라서 정육면체 s 안에서 U를 하고

스프링을 만들면 위로 스프링이 만들어진다. 마지막에 s를 만들고 사람이

탈 수 있도록 평평하게 만들려고 대문자 D를 사용하여 Dmp처럼 명령했다.

여기서 타는 곳이 오르락 내리락만 하는 것이 아니라 빙글빙글 돌면 재밌

겠지요? 아래와 같이 사람들이 타는 곳인 mp 앞에 엔진명령인 E를 적으면

그 곳에 보이지 않는 엔진이 생기며 360 회전할 수 있는 면 (엔진 면)이 생

깁니다. 아래와 같이 입력하고 쉬프트키 + 마우스 오른쪽 드래그 해봅시다.

엔진과 스프링을 사용하여 만든 놀이기구가 엔진으로 곡선운동을, 스프링으

로 직선운동을 하는 것을 살펴볼 수 있습니다. Shift 키를 누른 상태에서

마우스 오른쪽을 드래그하면 스프링과 엔진이 작동하면서 놀이기구가 위

아래로 움직이면서 또한 뱅글뱅글 도는 모습을 관찰할 수 있습니다. 아래

오른쪽과 같이 프로펠러가 도는 비행체는 어떻게 만들까?

쌓기나무준비

ddv=15 ; n=10

do 12 { M [L 23 {>m} ] > }

do M duuuuu

do cu 5E [3m] L[3m] L[3m] L[3m]

전개도(289, 12, 100)

mouse 4000, 1000

어린왕자 별에 어떻게 인공위성을 띄울 수 있을까 ?

다음 명령을 설명하고 실습하여 만들어보자.

(실습문제1) do M duuuuu 를 do M Hduuuuu 로 바꾸어 duuuuu 부분을 H (hide) 시키면 어떤 모양이 나타나는가? 이 부분만 투명하면 공중에 뜬 것으로 보인다.(실습문제2) do M duuuuu 에서 M 의 면 번호는 얼마인가? do %M duuuuu 같이 % 기호를 첨가하여 실행시키면 알림창에 289 라고 나온다. 이 말은 % 뒤에 만들어지는 M은 289번째로 만들어지는 면이라는 것이다. 그 이유를 설명하자. (실습문제3) 전개도(289, 12, 100) 명령은 289번 면 이후에 만들어진 것을 잘라서 12번 면에 붙이고, 그 다음 13번에, 14번에 ... 이렇게 100번 만큼 연속해서 다른 면에 붙이며 이동시키라는 것이다. mouse 4000, 1000 명령은 Shift 키를 누른 상태에서 마우스 오른쪽을 드래그해서 만드는 전개도(4000)에서 전개도(1000) 까지의 변화를 자동으로 만들어준다 (mouse 4000, 1000, 5 같이 속도 5 조절). (실습문제4) do cu 5E [3m]L[3m]L[3m]L[3m] 명령은 하늘색으로 u를 만든 후, 만들어진 u 아랫면에 엔진의 면 E를 다섯 개 중첩해서 만들라는 것이다 (엔진 하나가 360도 돌기에, 5E는 1800도 도는 엔진과 엔진 면을 만든다). 그리고 엔진 면에 연결된 십자가 모양의 [3m]L[3m]L[3m]L[3m]을 만들면 이것이 돌아간다.

do cu 5E [3m]L[3m]L[3m]L[3m] 부분을 고쳐 비행기를 만들거나,

헬리콥터, 또는 우주선이나 비행접시를 만들어서 돌릴 수도 있다. 각자의

창의력으로 이 부분을 다양하게 고쳐 다양한 비행물체를 만들어 보자.

▶▶ www.javamath.com/class 서울대학교 SMART 수학교육 : 거북수학 창의컨테스트

소래 포구에서, 밀물과 썰물 때 해수면의 높이가 어떻게 변화하는가 ?

오른쪽과 그림과 같이 스프링에 연결된 LEGO 배의 높이를 그래프로 나타내어

수학 실험을 한다. 그림에서 밀물과 썰물 때의 배의 높이를 볼 수 있는데, 이 것

을 그래프로 그리면 삼각함수의 그래프가 나타난다. (프로이덴탈 MIC 교과서)

ttblock

do M [ (ffv=1) 100m ] s U ㅅㅅㅅ s

ttnet

전개도(102, 1, 100) ; trace net, 235 ; mouse 4000, 1000

M [(ffv=1) 100m] 으로 M과 길이가 1인 면 100

개를 먼저 만들고 (따라서, 다음번에 만들어지는

면의 번호는 102), sUㅅㅅㅅs 하였다. 전개도

(102, 1, 100) 으로 102번 이후의 그림을 잘라 1

번 면부터 100번 면까지 차례로 붙이며 애니메

이션을 만든다. trace net, 235 는 쌓기나무를 구

성하는 면의 235번 점에게 자취를 남기라는 명

령이다 (마우스 오른쪽 클릭으로 면의 점 확인).

시흥 소래포구에서 삼각함수의 그래프를 만들어보자 !

(관찰) mouse 4000, 1000 으로 애니메이션을 작동시켜서 스프링에 의한 높이의 변화 그래프를 만듦.

ttblockdo SE 4m V 3EnnTttnettrace net, 116mouse 4000, 1000

(프톨레마이오스의 천동설) 뒤로 가는 화성의 운동과 사이클로이드

왼쪽에서 S는 지구,

사면체 (T)는 화성이

다. mouse 명령으로

애니메이션을 만들어

T의 116번 점이 자

취 곡선을 만든다.