ThinkSSL🔒 一键申购 5分钟快速签发 30天无理由退款 购买更放心 广告
## 4.5 练习 1\. 什么是模块化设计? 2\. 模块有哪些特点? 3\. 什么是分离关注点原则? 4\. 子程序的创建和调用涉及哪些内容? 5\. 程序中为什么引入函数? 6\. 什么是形式参数和实际参数?参数传递的过程是怎样的? 7\. 什么是变量的作用域?什么是全局变量与局部变量? 8\. 函数的参数与局部变量的异同是什么? 9\. 函数调用时的控制流是如何转移的? 10\. 什么是自顶向下设计?主要分为哪几个步骤? 11\. 为具有下列主函数的程序画出结构图的顶层。 ``` def main(): printIntro() length, width = getDimensions() amtNeeded = computeAmount(length,width) printReport(length, width, amtNeeded) ``` 12\. 请写出五个 Python 标准库中的模块名称及其主要功能。 13\. 考虑函数: ``` def cube(x): answer = x * x * x return answer ``` (1)这个函数的功能是什么? (2)设 y 是一个变量,如何用 cube 函数去计算 y3? (3)考虑下面这个程序片段: ``` answer = 4 result = cube(3) print answer, result ``` 由于 cube 将 answer 赋值成了 27,所以输出应该是 27 27,对不对?为什么? 14\. 设计程序:在屏幕上打印歌曲《歌唱祖国》的歌词①。 15\. 设计程序:给定两个平面上的点 p1 和 p2(用元组表示),函数 slope(p1, p2)返回 通过 p1 和 p2 的直线的斜率,函数 intercept(p1, p2)返回该直线在 y 轴上的截距。 16 改写本章中的 calendar 程序,使输出更美观(例如让每三个月的日历输出在同一排上)。 17\. 采用自顶向下设计方法编写程序:在屏幕上打印三角函数 y = sin(x)的图像。 18\. 重做第 3 章的程序设计练习题,尽量使用函数来封装计算。 > ① 歌词参见 [http://baike.baidu.com/view/252108.htm](http://baike.baidu.com/view/252108.htm)