더북(TheBook)

4.3 연습문제

다음 연습문제는 TurtleWorld를 사용한다. 재미를 위한 것이지만, 동시에 의미도 있다. 연습문제를 풀어보는 동안 무슨 의미가 있는지 생각해보자.

이어지는 절은 연습문제에 대한 해법을 갖고 있으므로 연습문제를 완료하기 전에는 쳐다보지 말자(아니면 최소한 풀이라도 시도한 다음에 보자).

1. 거북이를 인자 t로 받는 square 함수를 작성하라. square 함수는 인자로 받은 거북이를 사용해 사각형을 그려야 한다.

square에 인수로 bob을 전달하는 함수 호출을 작성하고, 작성한 프로그램을 다시 실행해라.

2. square 함수에 length 인자를 추가하라. 함수 바디를 수정해 length를 변의 길이가 되게 하고, 함수 호출도 length 인수를 받도록 고쳐라. 프로그램을 다시 실행하자. length에 다양한 값을 넣어서 프로그램을 테스트해보자.

3. square를 복사해서 이름을 polygon으로 바꾸자. 인자 n을 추가하고 바디를 수정해 변이 n개인 정다각형을 그려라.

힌트: 변이 n개인 정다각형의 외각은 360/n으로 구할 수 있다.

4. 거북이 t, 반지름 r을 인자로 받아 적절한 길이와 변의 개수로 polygon을 호출해 원을 근사해 그리는 circle 함수를 작성하라. r에 다양한 값을 넣어 작성한 함수를 테스트해보자.

힌트: 원의 둘레(원주)를 알아야 하며, 길이 * n = 원주여야 한다.

5. circle 함수를 더 일반화한 arc 함수를 만들어보자. arc 함수는 추가로 angle 인자를 받아 원에서 그릴 부분을 결정한다. angle은 각도 단위를 사용하므로 angle=360일 때 arc 함수는 원 전체를 그려야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.