4.5 练习
最后更新于:2022-04-02 00:28:24
## 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)
';