01编程要求
阿萌要开发一个面积计算器程序,用于帮助学生理解平面几何图形的边长与面积的关系。程序可以计算长方形、正方形、平行四边形、三角形的面积。
阿萌这次编写的程序有点复杂,程序要计算四个几何图形的面积,而且计算每个几何图形面积的输入也不尽相同。阿萌该如何编写这个程序呢?
02问题分解
平时我们在解决一些复杂问题时,会把一个复杂的问题分解成多个子问题,先逐个解决这些子问题,当这些子问题解决后,复杂的问题自然就得到了解决。
例如:假如你要在家做一顿丰盛的晚餐,你可能会安排人去采购食材、安排另外的人备菜,你负责掌勺。我们如果把做一顿丰盛的晚餐作为一个复杂问题,那么采购食材、备菜、掌勺就是这个复杂问题的子问题,当采购食材、备菜、掌勺这些问题得到解决后,做一顿丰盛的晚餐这个大问题自然就得到了解决。
把复杂的问题分解成多个子问题就是分而治之的思想,分而治之的思想同样也可以使用到编程过程中。对于复杂的程序,可以对程序的功能进行分解,将程序的功能分解成多个子功能,从而达到将复杂问题进行简化的目的。
03划分模块
面积计算器可以分解为计算长方形的面积、计算正方形的面积、计算平行四边形的面积、计算三角形的面积四个子功能,每个子功能是一个独立的模块文件。
模块文件就是我们创建的代码文件。前面我们说过,一个Python程序由一个模块或多个模块组成,每个模块就是一个代码文件。在这些模块中,只有一个是主模块,该主模块将被python解释器直接执行模块中的代码,其它模块为功能模块,功能模块只有被主模块的代码调用后才会执行。
按照功能划分,面积计算器程序共有五个模块文件,主模块文件main.py,计算长方形面积的模块文件rectangle.py,计算正方形面积的模块文件square.py,计算平行四边形面积的模块文件paraller.py,计算三角形面积的模块文件triangle.py,还有主模块文件main.py。
模块划分完成后,就可以开始编写每个模块代码了。
04计算长方形的面积
长方形的面积公式为:S=a*b
S表示长方形的面积,a表示长方形的长,b表示长方形的宽。程序的输入是长方形的长和宽,程序的输出是长方形的面积。
计算长方形的面积用函数来实现,方便主模块的调用,阿萌绘制了计算长方形面积的流程图。
在流程图中,当学生输入的a和b不是整数或小数时,需要提示用户重新输入长方形的长和宽,用代码实现时,可以使用while循环来实现。
rectangle.py代码如下:
购买专栏解锁剩余48%