거북 수학으로 변수 개념 이해하기
수학이야기 2020. 9. 20. 18:52예전에 올린 글 <파이썬으로 거북 수학>을 참고하여 파이썬을 설치한 다음 단계를 위한 글이다. 중학교 2학년에 알맞은 내용이지만 초등 고학년이어도 쉽게 이해할 수 있을 것으로 생각한다.
거북 수학으로 함수에서 변수가 하는 일을 이해해 보기로 하자.
아래와 같은 그림을 그리려고 한다.
>>>def tri():
for i in range(3):
t.fd(200)
t.rt(120)
이때 120도는 정삼각형의 외각임을 쉽게 알 수 있다.
이제 정 n각형을 그리는 함수를 만들자. 정 n각형을 그리는 절차는 아래와 같다.
1. 한 변의 길이만큼 움직인다.
2. 한 외각만큼 회전한다.
3. 같은 일을 n번 되풀이한다.
>>>def poly(n): #함수 이름(변수 이름)
for i in range(n): #for ~ in range~ 0부터 시작해서 n-1까지 n번 아래 명령을 실행
t.fd(100)
t.rt(360/n) #모든 다각형은 외각의 합이 360
이제 정삼각형부터 정 12 각형까지 그려 보기로 하자. 단순한 프로그램은 바로 짤 수 있으나 복잡하면 순서도를 그린 다음 코딩하는 편이 낫다.
정 3 각형부터 정 12 각형까지 10번 되풀이해야 한다. 따라서 아래와 같이 for~in range 구문을 써서 함수 poly(n)을 되풀이해서 실행하면 된다.
>>>for i in range(9):
poly(i+3)
참고 파이선 거북 그래픽이지만 기분은 화살촉 모양이 나온다. 그림처럼 거북이가 나타나게 하려면 아래와 같이 입력하여 모양을 바꾸면 된다.>>>t.shape("turtle")또한 앞에 붙이는 't.' 없이 명령을 내리려면 아래처럼 입력하면 된다.>>>from turtle import as *
함수는 변수에 따라 함숫값이 결정되므로 변수만 잘 이해하면 쉽게 다룰 수 있게 된다. (참고: 수학에서 쓰는 함수의 정의) 학교에서 배우는 함수는 변수가 하나다. 하지만 거북에게는 함수에 변수가 하나가 아니라 둘 이상이라도 문제없다. 다변수 함수는 대학에서나 배우지만 그렇다고 중등과정에서 전혀 이해할 수 없는 것은 아니다. 예를 들어 위에 있는 함수 poly(n)은 한 변이 100인 정다각형만 그릴 수 있다. 아래와 같이 정의하여 변의 길이가 len인 정 n각형을 그리는 함수 poly2(n,len)를 만들 수 있다.
>>>def poly2(n,len): #함수 이름(변의 개수, 한 변의 길이)
for i in range(n):
t.fd(len)
t.rt(360/n)