# 4.3: Exercises

- Page ID
- 40873

\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

The following is a series of exercises using TurtleWorld. They are meant to be fun, but they have a point, too. While you are working on them, think about what the point is.

The following sections have solutions to the exercises, so don’t look until you have finished (or at least tried).

- Write a function called
`square`

that takes a parameter named`t`

, which is a turtle. It should use the turtle to draw a square.Write a function call that passes

`bob`

as an argument to`square`

, and then run the program again. - Add another parameter, named
`length`

, to`square`

. Modify the body so length of the sides is`length`

, and then modify the function call to provide a second argument. Run the program again. Test your program with a range of values for`length`

. - Make a copy of
`square`

and change the name to`polygon`

. Add another parameter named`n`

and modify the body so it draws an n-sided regular polygon. Hint: The exterior angles of an n-sided regular polygon are \( 360/n \) degrees. - Write a function called
`circle`

that takes a turtle,`t`

, and radius,`r`

, as parameters and that draws an approximate circle by calling`polygon`

with an appropriate length and number of sides. Test your function with a range of values of`r`

.Hint: figure out the circumference of the circle and make sure that

`length * n = circumference`

. - Make a more general version of circle called
`arc`

that takes an additional parameter`angle`

, which determines what fraction of a circle to draw.`angle`

is in units of degrees, so when`angle=360`

, arc should draw a complete circle.