编程珠玑:第7章(初略估算)的阅读体会
(2013.8写在CSDN的文章)
近期在看Bentley的《编程珠玑》(第2版),看过一半就能断定这是一本学算法学编程必看的一本书。
书的前面几章不需要参考很多背景资料,勤动笔演算就能有不错的理解。但是第7章强调了不少常识和判断方面的素质,因此需要一些背景知识作为参考。
第7章开头举了计算密西西比河径流量的估算(一天之内密西西比河流出多少水)。作为国人,当然可以用长江的数据做类似的演算估计啦。
水文资料的查找引用一篇科学网的博客:
http://blog.sciencenet.cn/blog-76293-307141.html
www.hydroinfo.gov.cn中国水文信息网,包括全国水雨情信息和地下水信息、水质信息、专题水情、年报公报月报等。
http://www.hydroinfo.gov.cn/gb/sqyb/ 历年来水资源质量年报、水文情况年报、水情年报、水资源公报、河流泥沙公报、地下水通报、地下水动态月报、水情月报和水资源质量月报等。
http://xxfb.hydroinfo.gov.cn/ 全国水雨情信息网
http://www.mwr.gov.cn/ 中国人民共和国水利部
长江水文网 http://www.cjh.com.cn/ 有一些实时的水雨情数据
http://www.chinawater.net.cn/books/2003water/ 中国水利科技网1998-2003水情年报
其中长江水文网的实时数据显示汉口水位在20m左右,自己估计汉口江宽1.5km,由流量为30000m^3/s可以求出平均流速:
30000m^3/s / (1.5km * 20m) = 1m/s。
30000m^3/s = 30000m^3/s * 3600*24s/d = 2.6 km^3/d
= 2.6 km^3/d * 360d/y = 936 km^3/y
“年径流量”百度百科(http://baike.baidu.com/view/281891.htm)上显示长江的年径流量是9513亿立方米,可见通过估算可以相信这个百科上的数据不会有数量级的偏差。
长江全长6300公里,是中国第一大河,也是亚洲最长的河流,世界第三大河,流域面积180多万平方公里。这些是公认的数据。
2011年长江流域及西南诸河水资源公报(http://www.cjh.com.cn/pages/2012-11-01/156244.html)数据显示年平均降水量1000mm。因为径流量肯定要小于降水量,所以可以计算年径流量的上限。
年径流量的上限 = 1.8*10^6 km^2 * 1000mm = 1800 km^3/y > 936 km^3/y,可见估算结果是合理的。
《编程珠玑》的第7章提到“粗略估算”是工程院校的标准课程,多数从业工程师的必备技能。所以需要好好锻炼这方面的素质,不仅仅关注书本上的内容。