数学与编程.docx
《数学与编程.docx》由会员分享,可在线阅读,更多相关《数学与编程.docx(7页珍藏版)》请在冰豆网上搜索。
数学与编程
数学文化课程报告
论文题目:
数学与编程算法
____________
数学与编程算法
摘要
数学是人类文化的重要组成部分。
对人类文明的发展起着举足轻重的作用,具有极其重要的文化价值,数学可以帮助我们更好的认识自然,了解世界,适应生活,它可以促使我们有条理地思考,有限的表达交流,运用数学去分析问题和解决问题。
在计算机时代的今天,数学的发展在一定程度上推动了计算机学科的发展,我们可以利用数学知识对程序进行全面的优化,使之效率更高,占用系统内存最少,从而使得程序更加的高效。
算法是数学计算的一种特殊的表达形式,本论文将会从计算机学科的发展以及数学在计算机学科发展中所起到的重要推动作用等方面进一步探讨数学这一基础学科的重要性。
关键词:
算法效率计算机编程优化数学算法
Mathematicsandprogrammingalgorithm
Abstract
Mathematicsisanimportantpartofhumanculture.Itplaysanimportantroleinthedevelopmentofhumancivilization,andithasextremelyimportantculturalvalueofmathematicsandcanhelpusunderstandbetterofthenatureandtheworld,adapttolife,itcanmakeusthinkstraight,expresslimited,andusemathematicstoanalyzeandsolveproblems.Inthecomputerage,thedevelopmentofmathematicstopromotethedevelopmentofComputerScienceinacertainextent.wecanconductacomprehensiveoptimizationofproceduresfortheuseofmathematicalknowledge,thehigherefficiency,thelessmemory,whichmakestheprogrammoreefficient.Thealgorithmisaspecialformofexpressionofmathematicalcalculation.Thispaperwillfurtherexploretheimportanceofmathematicsfromthedevelopmentofcomputerscienceandmathematicswhichplaysanimportantroleinthedevelopmentofcomputerisabasicdisciplines.
Keywords:
algorithm;efficiency;mathematicalalgorithm;optimizationofcomputerprogramming
目录
一.数学的价值:
4
二.计算机学科趋势与现状5
三.数学在编程算法中的应用5
四.总结7
参考文献8
正文
一.数学的价值:
数学的概念,在数学课程标准中的最新定义:
“数学是人们对客观世界定性把握和定量刻画、逐渐抽象概括、形成方法和理论,并进行广泛应用的过程。
”这就是说。
“数学的对象绝非物质世界的自然的真实存在,而是人类抽象思维的产物”。
由此可知数学也是人类文化的一部分。
然而当前大学生的文化素质教育往往只偏重人文知识番方面的教育,忽视了自然科学方面的影响。
在素质教育中,科技是灵魂,创新是核心,因此作为所有学科的重要基础,数学文化素养培养的数学素养就非常重要。
一位教育学家说,不管人们从事什么工作,深深铭刻在头脑中的数学的思想精神,数学的思维方法和看问题的着眼点等,都会随时随大发生作用,使人们终生受益。
我们学习数学不仅是为了获取知识,更能通过数学学习接受数学精神,数学思想和数学方法的熏陶,提高思维能力,锻炼思维品质。
前苏联数学家辛钦指出:
数学教育不仅可以培养人正直与诚实的品质,也能锻炼人顽强的意志与勇气,这对大学生的文化素质教育起着积极的作用,因此研究数学文化对大学生文化素质教育的促进作用,有着十分的作用。
[1]
数学是人类文化的重要组成部分。
对人类文明的发展起着举足轻重的作用,具有极其重要的文化价值。
数学的文化性体现在:
它可以帮助我们更好的认识自然,了解世界,适应生活,它可以促使我们有条理的思考,有限的表达与交流,运用数学去分析问题和解决问题,它可以发展我们的主动性,责任感和自信心。
培养我们实事求是的科学态度和勇于探索的创新精神,从哲学上看,任何事物都是质和量的统一体,要获得对事物的本质的清晰认识,就必须对事物的量进行分析,而数学正式一门研究量的学科,因而必然成为人们认识世界的有力工具,在古希腊,数学总是与哲学紧密相联,更接近于世界观,更接近于人性。
数学被作为人类思想的产品,因此它更靠近于人文科学,具有独特的地位。
[2]
二.计算机学科趋势与现状
数学是计算机的鼻祖,计算机学科就是一门脱胎于数学学科的学科,在计算机专业中也普遍采用了数学的基本概念、基本思想以及相应的数学基本方法。
数学理论是计算机的基础,而学习学计算机专业,编程又是必须学习的,而编程思想却又是数学思想在计算机应用中的最直接的体现。
随着计算机技术的快速发展,数学知识在计算机技术发展中,尤其是在计算机应用程序设计中处于极其
重要的地位。
同时,用数学思维解决各种程序设计方面的难题也是一个十分重要的步骤。
在程序设计当中所解决的相当一部分问题都会涉及到各种各样的科学计算,这需要程序员将实际问题转换为程序,要经过对问题抽象的过程,建立起完善的数学模型,才能设计出好的软件。
数学在编程中的体验不光是算法过程的书写还有逻辑思维方面的能力。
而软件编程的思维定式决定了一个人编程的水平,在编程过程中,数学思维清晰,编写出来的程序让人耳目一新。
计算机科学从诞生的那一天起就和其他学科有着密不可分的关系,尤其是数学。
它近来发展极其迅速,说是异彩纷呈并不为过。
在国际上,计算机与数学的交叉正在成为数学研究新的增长点,美国一位计算机数学大师说,计算机数学即是算法的数学。
从计算机角度来看,理论计算机科学目前主要的研究领域包括:
可计算性理论,算法设计与复杂性分析,密码学与信息安全,分布式计算理论,并行计算理论,网络理论,生物信息计算,计算几何学,程序语言理论等等。
这些领域互相交叉,而且新的课题在不断提出。
虽然计算机软硬件的发展速度很快,但始终没有超越冯,诺依曼的计算机体系结构,因此我们运用计算机解决实际问题的基本方法是相似的。
三.数学在编程算法中的应用
数学是一门基础学科,是一门工具学科,它的应用十分广泛。
数学之所以有如此广泛的应用,就是因为数学总是要求人们不断寻求使问题获得解决的捷径,在众多复杂的问题中,不断寻找最优、最简捷的解决问题的方法;就是因为在每门学科的研究中,应用了数学方法后,其研究过程得到优化,提高了研究的效率和质量。
计算是数学的主要内容,算法的优化当然也不例外。
所以数学的广泛应用全得益于优化,优化是数学的灵魂。
因此,数学的发展过程就是一个不断优化的过程,它的每一个成果都是后人不断优化前人研究成果的结果。
优化是数学的精髓,是数学发展不竭的动力,数学就是在不断优化的过程中得到发展的。
用计算机解决一个具体问题时,一般需要经过以下几个步骤:
首先要从具体问题抽象出一个合适的数学模型,然后设计一个解决此数学模型的算法,最后编出程序,进行测试,调整直至得到最终解答,完成实际问题到具体计算机内部运行的过渡。
与算法有关的一个公式:
程序=算法+数据结构,它表达了算法与程序的密切相关性。
编程过程中建立的数学模型是用数学去解决各类实际向题的,建立数学模型的过程,是把错综复杂的实际问题简化、抽象为合理的数学结构的过程。
通过调查、收集数据资料,观察和研究实际对象的固有特征和内在规律,抓住问题的主要矛盾,建立起反映实际问题的数量关系,然后利用数学的理论和方法去分析和解决问题。
可以看出数学的理论知识是模型建立与求解的基础。
随着计算机软件的开发和运用,许多复杂的数学原理和大量的数学计算将转化为简单的,易于操作的菜单式程序。
而编程的目的也就是使用某种程序设计语言编写程序代码,进而借助于计算机运行来达到某一目的或解决某个问题,并最终得到结果。
在开发一个软件时,首先要全面分析问题,建立一个合理的模型,再选择或针对具体问题设计算法,最后进行编程。
由此可以看出,模型建立是软件编程的基础。
数学建模是联系数学与计算机处理实际问题的桥梁[3]
对编程的优化是在完成了数学模型的基础上进行的,而算法的选择则对编程的优化起着非常重要的作用。
一个高级语言编写的程序在计算机上运行时所消耗的时间取决于下列因素:
1.依据的算法选用何种策略;2.问题的规模,例如求100以内还是1000以内的素数;3.编译程序所产生的机器代码的质量;4.机器执行指令的速度。
显然,不同的编译程序进行编译,或者在不同的计算机上运行时,效率均不同。
这表明使用绝对的时间单位衡量程序的效率是不合适的。
撇开这些与计算机硬件,软件有关的因素,可以认为一个特定程序的运行工作量的大小,只依赖于所选择的算法。
因此使用优化的算法将会大大缩短程序的运行时间,提高程序的执行效率,而这也是编程的一个核心工作。
因此在对程序的优化过程中,选择高效的算法是一个关键的步骤。
而对一个算法的评价主要是从时间复杂度和空间复杂度来考虑。
同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。
因此,编程的过程中,在算法的初步选择上有必要考虑算法的效率,不能一味地向程序的编写简单靠拢,而是将算法的选择与编程两者有机的相结合。
四.总结
作为一个时常与计算机打交道的计通院的学生,我最直观的感觉就是编程序就是变相的做数学,在通过程序解决问题的过程中,代码的编写需要很强的逻辑性,一个数学功底好的人,写起代码来也是很轻松的,只要能够将数学逻辑转化为机器语言就能够将轻松的解决问题,另外代码的优化过程也是很重要的,虽然在编写代码过程中我们看到的只是程序的运行时间,但将一个大的程序运用到实际的生产生活中时算法的执行效率直接决定了生产效率。
所以说计算机学科的发展与数学是息息相关的,我们应该重视数学的学习,数学作为一门基础学科,是需要我们好好学习为以后的课程打下基础的,同时学习数学的过程不应该是枯燥、无聊的,我们应该更多的去了解数学的精髓,如果是硬性的记忆只会让我们很快的忘记,能够在数学文化的熏陶中进一步理解数学、喜欢数学,会让我们受益终生。
参考文献
[1]列宁选集:
第一卷【M】北京:
人民出版社,1995
[2]王春茹,数学算法在工程领域应用的简述[J],硅谷,2009/19.
[3]李耀波,DSP环境下C语言的编程优化[J],黑龙江科技信息,2007/23.
课程建议:
上课形式感觉太过单一,只是老师讲学生听,这样的讲课方式会让很多人失去学习的动力,不再专注课上讲的内容,自己忙自己的事情,我觉得应该增加老师与学生之间的互动,有时一个数学问题,每个人会有自己不同于他人的看法,增加更多的交流不仅会使课程不那么沉闷,而且彼此之间的交流也会有更多地收获,从而激发学生学习的动力与兴趣。
因为是一个公选课,所以这个课的目的应该是给同学们介绍一些数学的历史、文化内涵,改变大众对数学的普遍认识-数学是枯燥的,提高同学们学习数学的动力,所以说教学的内容还是比较全面的。
另外考试的模式也是比较合理的,单纯的学习并不能记住很多东西,尤其是一个公选并不能引起大多数人的重视,所以通过考核来加强同学们记忆的方式还是比较合理的。
改善数学学习的问题不是一朝一夕的,还需要更多人的努力,与此同时数学文化节举办就显得意义重大,它营造了一种良好的书数学文化氛围与学习环境,所以感谢老师们为数学学科的发展做出的努力,也希望数学文化节能够越办越好,让更多的人参与了进来,了解数学、喜欢数学。