4.3 练习
下面是一系列使用TurtleWorld的练习。它们力求有趣,但也包含着某些寓意。当你做这些练习时,可以猜想一下其寓意。
在接下来的章节中有这些练习的解答,所以在完成(或着至少尝试过)之前,请先别继续阅读。
1.写一个函数square,接受一个形参t,用来表示一只乌龟。利用乌龟来画一个正方形。写一个函数调用传入bob作为实参来调用square函数,并再运行一遍程序。
2.给square函数再添加一个形参length。修改函数内容,保证正方形的长度是length,并修改函数调用以提供这第二个实参。再运行一遍程序。使用不同的length值测试你的程序。
3.函数lt和rt默认会进行90度的拐弯。但也可以提供第二个形参指定转弯的角度。比如,lt(bob, 45)会让bob左拐45度。
复制square函数,并命名为polygon。再添加一个形参n并修改函数体以绘制一个正n边形。提示:正n边形的拐角是360/n度。
4.写一个函数circle接受代表乌龟的形参t,以及表示半径的形参r,并使用合适的长度和边数调用polygon画一个近似的圆。使用不同的r值来测试你的函数。
提示:
思考圆的周长(circumference),并保证length * n =circumference。
另一个提示:如果你感觉bob太慢了,可以修改bob.delay来加速。bob.delay代表每次行动之间的停顿,单位是秒。bob.delay = 0.01应该能让它跑得足够快。
5.给circle函数写一个更通用的版本,称为arc。增加一个形参angle,用来表示画的圆弧的大小。这里angle的单位是度数,所以当arc=360时,则会画一个整圆。
时间: 2024-12-31 20:05:25