迟呈英 王玄同 王子涵 战学刚
摘 要:在实践过程中,人们往往忽略了数学的重要性。我们通过理论分析和编程实例,对数学解题方法与程序设计过程进行对比,讨论了数学解题方法与程序设计关系,阐述了数学思维在程序设计中的重要性。
关键词:数学解题方法;程序设计;递归函数
中图分类号:TP311.1 文献标识码:A
1 引言(Introduction)
计算机程序,简称程序,是指一组指示计算机每一步动作的指令,用某种程序设计语言编写,运行于某种计算机之上。与程序相关的另一个概念是软件。软件包括程序、支撑程序运行所需的数据资源、以及与这些程序相关的文档。程序设计是给出解决特定问题程序的过程,程序设计过程通常包括分析、设计、编码、测试、排错等不同阶段。程序设计语言是人与计算机交流的工具。当然,从工程角度来看,它也是软件人员之间的交流工具。
澄清了程序、程序设计、程序设计语言等概念后,我们换一个角度考察机器,即计算机。从机器功能方面,我们可以将计算机看作是具有很大存储容量的计算机器,其计算功能是通过自然数系统、布尔代数、整数系统和有理数系统完成的。
自然数系统和布尔代数是基本的,整数系统和有理数系统可以由前两项通过编码完成(事实上,早期的计算机就是这样做的),也可以由硬件直接实现。这样,我们可以把程序看作是通过上述几个代数系统对计算过程的描述。当然,我们所使用的计算机作为具体计算过程的执行者,其本身的特性是程序设计语言和程序设计者必须考虑的。正因为如此,我们可以将程序设计语言看作是受计算机特性约束的数学语言。
4 结论(Conclusion)
数学是各门科学的基础,起初计算机科学只是数学的一个分支,随着时代的发展,人们越来越理解计算机与数学是
密不可分,计算机事实上就是一个计算工具。程序设计解决问题都是实际应用问题,涉及各种各样的科学计算,而实际问题转换为程序,要经过一个对问题抽象的过程,建立起完善的数学模型,才能设计一个问题解决的程序。这需要程序员具有良好的数学基础。软件编程的思想最重要是算法,而算法是建立在数学思维上的,其实说白了,程序只是一件衣服,算法才是它的灵魂,算法就来自于数学,没有深厚的数学思维功底,是弄不懂算法的。反过来,部分人对数学的重视程度不够,在实际工作中往往会遇到困难。作者之一在过去30多年里,问过30多名数学本科以上学历的人,一加一为什么等于二?竟然没有一人完全回答正确!数学解题方法的合理运用,可以给编程带来很大方便,现在一些软件的编写,越来越多的用到数学推导和归纳。要在如此众多的程序设计人员里面取得优异成绩,坚实的数学基础和能力是很重要的。
参考文献(References)
[1] 张金玲.关于数学问题的解法与计算机算法的讨论[J].邢台学
院学报,2006(12):105-106.
[2] Bjarne Stroustrup.Programming:Principles and Practice in
C++. Addison Wesley,2009.
[3] 马良斋.从递归算法看数学在计算机程序设计方面的作用[J].
河西学院学报,2007(5):66-67.
[4] Edmund Landau.Grundlagen der Analysis(Das Rechnen mit
Ganzen,Rationalen,Irrationalen,Komplexen Zahlen)Chelsea
Publishing Company,1960 3rd ed.
[5] C.Bohm and G.Jacopini.Flow diagrams,Turing machines and
languages with only two formation rules.Communications of the
ACM,366-371,May 1966.