1.3.6 应用实例

程序中的选择结构和循环结构开启了全新的计算世界。为了强调这个事实,接下来我们介绍若干不同的实例。这些实例基于1.2节中讨论的数据类型。实例表明使用相同计算机制可实现不同的计算程序。本节的应用实例经过了精心挑选,相信读者通过学习和体会,一定会掌握编写包含循环结构程序的能力。

本节应用实例主要用于数值计算,其中一些例子基于过去若干世纪以来数学家和科学家一直思考的难题。虽然计算机的历史只有大约50年,但我们所使用的许多计算方法都基于自古以来积累的丰富数学知识。

1. 有限和(Finite sum)

程序powersoftwo.py中使用的计算范式是常用的计算模式之一。程序使用两个变量:一个变量作为控制循环的索引,另一个变量用于计算结果的累计值。

程序1.3.5(harmonic.py)使用相同的计算范式求解有限和:Hn = 1 + 1/2 + 1/3 + … + 1/n,如图1-3-7所示。这种数称为调和数,是离散数学中常用的数值之一。调和数是对数的离散近似值。其结果也近似于曲线y=1/x与坐标轴的面积。程序1.3.5也可作为计算模型,用于计算其他累计和(具体参见本节的习题第16题)。

图1-3-7 求解有限和

程序1.3.5 调和数(harmonic.py)

程序1.3.5接收一个整数命令行参数n,并输出第n个调和数。如果n取值很大,则基于数学分析可知结果值近似于ln(n) + 0.577 21。注:ln(10000)≈9.210 34。程序1.3.5的运行过程和结果如下: ...

Get 程序设计导论:Python语言实践 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.