计算机编程跟数学有多大关系计算机到底和数学有什么关系

2021-03-06 05:41:52 字数 5645 阅读 1417

1楼:ai上编程

编程和数学,本质上来说,它们之间的联系是非常紧密的,最核心的说法就在于,数学是理论,编程是使用理论的工具。但是孩子学习编程,是能够反哺数学的。更准确地说,就是在学习编程知识的同时,也能对数学概念进行更直观的理解。

编程的核心是什么,总结起来就是编程思想和逻辑算法,编程思想需要不断的总结归纳,框架思想也是编程思想的一种,需要从千千万万的**逻辑种抽象出解决问题的方案或者框架。说的通俗一点就是解决问题的能力,问题也是分为很多种,有直接简单的问题,有长期复杂的问题,也有未来还没有发生的问题,解决方案有直接的办法,也有通过设计框架来解。不管是分析解决问题,还是喜欢从更大的格局来解决问题,数学对编程的影响还是非常重大的。

选择编程,受益一生。爱编程,会学习。了解编程就来爱上编程智能学习中心。

2楼:

数学不好没关系 重要的

是数学思想

编程需要逻辑思维能力(可以联想为推理能力),这是很重要的 而恰好逻辑思维能力是数学所培养的(与成绩无关,与具体知识点无关) 其实英语也不是很必须,能记住单词就可以了 你的记忆力应该不错 用死记硬背的方法记住各种命令语法,剩下的就是逻辑能力,因为你需要考虑先明确某一程序的每一步算法,并且确定最优解等等,这些都要依靠你的数学思想

计算机到底和数学有什么关系

3楼:河传杨颖

数学是基础学科,有丰富的数学基础可以对理解编程中的逻辑有帮助。

编程对不同的人有不同的意义:

对于一般的程序员就是**的产出和可运行程序(数学在这里面并不是特别重要,更重要的是对各种框架的理解、熟练掌握、设计模式等)。

对于算法工程师来说,数学就很重要了(例如机器学习,密码学,计算机图形学等,当然这个对题主来说还太遥远)。

题主说的函数实际上就是为了实现目的的一种封装形式,而递归只是在函数中调用自身(当然需要终止条件)。

扩展资料

计算机的三大主要特点

1、运算速度快:计算机内部电路组成,可以高速准确地完成各种算术运算。当今计算机系统的运算速度已达到每秒万亿次,微机也可达每秒亿次以上,使大量复杂的科学计算问题得以解决。

例如:卫星轨道的计算、大型水坝的计算、24小时天气算需要几年甚至几十年,而在现代社会里,用计算机只需几分钟就可完成。

2、计算精确度高:科学技术的发展特别是尖端科学技术的发展,需要高度精确的计算。计算机控制的导弹之所以能准确地击中预定的目标,是与计算机的精确计算分不开的。

一般计算机可以有十几位甚至几十位(二进制)有效数字,计算精度可由千分之几到百万分之几,是任何计算工具所望尘莫及的。

3、逻辑运算能力强:计算机不仅能进行精确计算,还具有逻辑运算功能,能对信息进行比较和判断。计算机能把参加运算的数据、程序以及中间结果和最后结果保存起来,并能根据判断的结果自动执行下一条指令以供用户随时调用。

4楼:匿名用户

计算机科学和数学的关系有点奇怪。二三十年以前,计算机科学基本上还是数学的一个分

支。而现在,计算机科学拥有广泛的研究领域和众多的研究人员,在很多方面反过来推动

数学发展,从某种意义上可以说是孩子长得比妈妈还高了。

但不管怎么样,这个孩子身上始终流着母亲的血液。这血液是the mathematical underpi

nning of ***puter science(计算机科学的数学基础),-- 也就是理论计算机科学。

现代计算机科学和数学的另一个交叉是计算数学/数值分析/科学计算,传统上不包含在理

论计算机科学以内。所以本文对计算数学全部予以忽略。

最常和理论计算机科学放在一起的一个词是什么?答:离散数学。这两者的关系是如此密

切,以至于它们在不少场合下成为同义词。

传统上,数学是以分析为中心的。数学系的同学要学习三四个学期的数学分析,然后是复

变,实变,泛函等等。实变和泛函被很多人认为是现代数学的入门。在物理,化学,工程

上应用的,也以分析为主。

随着计算机科学的出现,一些以前不太受到重视的数学分支突然重要起来。人们发现,这

些分支处理的数学对象与传统的分析有明显的区别:分析研究的对象是连续的,因而微分

,积分成为基本的运算;而这些分支研究的对象是离散的,因而很少有机会进行此类的计

算。人们从而称这些分支为“离散数学”。“离散数学”的名字越来越响亮,最后导致以

分析为中心的传统数学分支被相对称为“连续数学”。

离散数学经过几十年发展,基本上稳定下来。一般认为,离散数学包含以下学科:

1) 集合论,数理逻辑与元数学。这是整个数学的基础,也是计算机科学的基础。

2) 图论,算法图论;组合数学,组合算法。计算机科学,尤其是理论计算机科学的核心是

算法,而大量的算法建立在图和组合的基础上。

3) 抽象代数。代数是无所不在的,本来在数学中就非常重要。在计算机科学中,人们惊讶

地发现代数竟然有如此之多的应用。

但是,理论计算机科学仅仅就是在数学的上面加上“离散”的帽子这么简单吗?一直到大

约十几年前,终于有一位大师告诉我们:不是。d.

e.knuth(他有多伟大,我想不用我废话了)在stanford开设了一门全新的课程concrete mathematics。 concrete这个词在这里有两层含义:

第一,针对abstract而言。knuth认为,传统数学研究的对象过于抽象,导致对具体的问题

关心不够。他抱怨说,在研究中他需要的数学往往并不存在,所以他只能自己去创造一些

数学。为了直接面向应用的需要,他要提倡“具体”的数学。在这里我做一点简单的解释。

例如在集合论中,数学家关心的都是最根本的问题--公理系统的各种性质之类。而一些具体集合的性质,各种常见集合,关系,映射都是什么样的,数学家觉得并不重要。然而,在计算机科学中应用的,恰恰就是这些具体的东西。

knuth能够首先看到这一点,不愧为当世计算机第一人。

第二,concrete是continuous(连续)加上discrete(离散)。不管连续数学还是离散数学,

都是有用的数学!

前面主要是从数学角度来看的。从计算机角度来看,理论计算机科学目前主要的研究领域

包括:可计算性理论,算法设计与复杂性分析,密码学与信息安全,分布式计算理论,并

行计算理论,网络理论,生物信息计算,计算几何学,程序语言理论等等。这些领域互相

交叉,而且新的课题在不断提出,所以很难理出一个头绪来。

下面随便举一些例子。

由于应用需求的推动,密码学现在成为研究的热点。密码学建立在数论(尤其是计算数论)

,代数,信息论,概率论和随机过程的基础上,有时也用到图论和组合学等。

很多人以为密码学就是加密解密,而加密就是用一个函数把数据打乱。这就大错特错了。

现代密码学至少包含以下层次的内容:

第一,密码学的基础。例如,分解一个大数真的很困难吗?能否有一般的工具证明协议正

确?第二,密码学的基本课题。例如,比以前更好的单向函数,签名协议等。

第三,密码学的高级问题。例如,零知识证明的长度,秘密分享的方法。

第四,密码学的新应用。例如,数字现金,叛徒追踪等。

5楼:匿名用户

计算机都是用二进制数字来运算的。

6楼:匿名用户

数学只要是算法思想.. 编程核心就是算法思想。

编程与数学的关系

7楼:计都罗睺公爵

你好,我是计算机专业大三的学生,我来说说在我的印象

中数学的关系:

第一,编写程序体现的是一个人的逻辑思维,既然涉及到逻辑,必然会与数学有些关系。但是与数学关系的深浅要与你所涉及的方面有关。

第二,编程中必须要学的数学:

1.最基本的数字与运算知识:二进制的概念(在哈夫曼树,哈弗曼编码等方面有直接的应用),取余的概念(在循环链表,随机数方面有应用),基础平面几何(在绘制窗口,绘制曲线,自定义按钮等图形化的地方会用到),还有些很基础的数学知识绝对不超出初中的范畴。

2.计算机中的数学知识:主要的一门叫做离散数学,讲的是逻辑代数的相关知识,其实在真正的编程中不会直接体现这门课的重要性,对于初学者只要知道:

与或非是怎么回事,什么是集合就可以了。离散数学还涉及到一些图与树的概念,我现在先把这些划归到数据结构中。

3.我前面说了,编程与你的需求有直接的关系,有些编程领域与数学的知识密不可分:

1)搞底层:举个例子,如果你想设计一套你自己的windows字体,那么肯定涉及到字体平滑,字体平滑就涉及到一个很难的数学知识:插值。

这个知识在数值分析中讲解,而且没有高等数学的基础,这门课想学会的可能性几乎是零。。。这门课主要解决的是高等数学中的问题如何用计算机解决,比如:泰勒插值,拉格朗日插值,求解一般方程或微分方程的解,还有的我忘了,反正都是很难的知识。

而底层的很多编程都是以这些为基础的。

2)搞图形学:cg技术由于在游戏中的如日中天,使得很多初高中生对图形学神往已久,但却不知计算机图形学的知识是建立在很多大学数学课程的基础上的。尤其是图形学理论的学习,没有线性代数的基础是根本看不懂的。

而在三维视图方面又要涉及到高等数学中极坐标的知识。很多算法,比如梁-baskey算法对于平面几何分析水平的要求是非常高的!如果你想搞游戏设计,动画电影(这个是要写脚本程序的,否则画面哪能那么好),我劝你还是到了大学再深入学习吧。

3)搞算法:学习算法与其说数学要好,还不如说成是智力要好。。。比如分治法,动态规划算法,回溯法等对于问题的前期分析要求很高,尤其是列出递归方程,这些我觉得是在考智力。

还有一些,比如图算法,树的应用,排序,查找,这些知识涉及到计算机专业的另一门课程:数据结构,这门课是计算机专业的核心课程之一,也是专业与非专业的最大区别。这门课对数学要求不高,但对于一个人的思维要求比较高。

还有像计算几何的问题,那就是纯数学问题了。。。

4)搞密码学:我不搞这方面,而且也没研究过,但听说这方面对数学要求极高!由于我的数学比较好,别人还推荐过我去搞这方面,但是我一想到面对的都是数字,我就退缩了。。。

以上就是我所知道的与数学有关的计算机分支,每个方面都够人学一辈子,而且学好了,前途与钱途都是大大的!

第三,这么多方面都跟数学有关,那编程岂不没法学了?还有些方面对于数学要求相对较低,我说的相对较低是由于不管哪方面都会涉及到一些基础的数学算法。总的来说,越往高层,对数学的要求越低,比如mfc,那些网络编程,系统编程都是封装好的,但对于一个系统来说整体的规划和设计更关键,就是说前期的需求分析、逻辑结构设计和物理结构设计比编码更重要,当然工资也更高。。。

最后,我想给你提些学习编程的建议:

1)由于你的年龄还小,中国的教育体质问题,希望你不要把太多的精力放在这上面。。。我想***。虽然听说过哪个孩子做了个游戏之后成了百万富翁,但这么多年了,似乎只有他一个,不要怀疑自己的实力,但更不要幻想你有这个运气。。。

2)编程注重逻辑思维,你才是初中生,大脑的发育不知是否成熟(绝不是说你智力低,你应该知道大脑发育是有阶段的吧),所以要以语言的基础为主,这个对数学要求不高。

3)请选一门语言去练习,编程注重实践,没有实践只有理论那就等于没学,所以一定多练练。至于语言,我推荐学习c或c++,至于c与c++是怎么回事,怎么学习,这是另一个比较难的话题。。。注意别上来就学vc++(mfc),否则你会一事无成!

4)编程很枯燥,所以要耐得住性子,不要一见到难题就退缩,一见到不会的概念就把书扔了,不会的时候请多看看基础,八成是语言基础不到位。

就写这么多吧,希望我的回答对你有帮助。你若有什么问题还可以继续问,若是编程过程中遇到什么问题也可以问我,很欢迎的!

数据结构学的到底是什么?和算法有什么关系

1楼 河蟹蛇荟 首先 数据结构是一门计算机语言学的基础学科,它不属于任何一门语言,其体现的是几乎所有标准语言的算法的思想。 上面的概念有一些模糊,我们现在来具体说一说,相信你门的数据结构使用的是一门具体的语言比如c c 语言来说明,那是为了辅助的学习数据结构,而数据结构本身不属于任何语言 相信你把书...

紧急热传学概念热传导率和热传导系数的关系?有计算(换算

1楼 匿名用户 热传系数低,散热的速度低导热系数高,散热效果更好 1 传热系数一般用h表示,一般用在对流换热时,有两种或以上物质发生换热时 2 导热系数一般指物质本身的热导率,与其他物质无关,一般用 表示 热传导率和热传导系数是怎样的两个概念?两者有什么联系吗? 2楼 一刀木鱼 热传递率可以只是一个...

物联网,人工智能,大数据,云计算到底是什么关系

1楼 匿名用户 云计算是未来一种发展趋势。 以大数据 物联网 人工智能 5g为核心特征的数字化浪潮正席卷全球,车联网 工业物联网 人工智能生物识别带来的海量异构化数据,高带宽 低时延等新业务个性化需求。未来,云计算存储技术需求会越来越强烈,无论是个人还是企业,向云端转型都是一种趋势。 小鸟云专注为个...