初学c语言,发现C中很多程序都要数学的一些公式垫底,请问学习C和那些数学公式有没有直接关系

初学c语言,发现C中很多程序都要数学的一些公式垫底,请问学习C和那些数学公式有没有直接关系,第1张

程序设计语言跟数学没有关系,只有涉及算法时候需要一定的数学知识,这个看具体问题而论,这些等你学到数值分析和数据结构能有比较深刻的理解

你现在不就是光学这门程序设计语言么,那你就不需要数学上的东西,需要你做的就是大致了解编译器以及C的语法,数学上的东西留到数据结构里去用吧

F2803离散数学与程序设计是计算机专业。

离散数学是为计算机专业量身打造的一门数学,极大地突出了计算机专业的逻辑性、条理性、抽象性,其实不在于知识本身,为编程提供了良好的理论基础和解决问题的一般条件。

由于数字电子计算机是一个离散结构,它只能处理离散的或离散化了的数量关系, 因此,无论计算机科学本身,还是与计算机科学及其应用密切相关的现代科学研究领域,都面临着如何对离散结构建立相应的数学模型。

学科内容

集合论部分:集合及其运算、二元关系与函数、自然数及自然数集、集合的基数。

图论部分:图的基本概念、欧拉图与哈密顿图、树、图的矩阵表示、平面图、图着色、支配集、覆盖集、独立集与匹配、带权图及其应用。

代数结构部分:代数系统的基本概念、半群与独异点、群、环与域、格与布尔代数。

组合数学部分:组合存在性定理、基本的计数公式、组合计数方法、组合计数定理。

我们来推算一下,如下表所示:

月份 兔子总数(对

1 1

2 1

3 2

4 3

5 5

6 8

7 13

8 21

9 34

10 55

11 89

12 144

13 233

我们将表中的兔子数用{ }表示,下标表示月份数,则{}称为斐波那契数列。具体为:

观察{ }不难发现,第+1个月时的兔子可分为两类:一类是第个月时的兔子;另一类是当月新出生的小兔,而这些小兔数恰好是第-1 个月时的兔子数(它们到第+1 个月时均可生殖)因此{ }之间有如下递推关系:

由此可推出:

从而

正好是黄金割线比,它在现代优选中得到应用。

大部分是一样的 不过有些特殊的

比如 ≥ 要写作>= ≤ 要写作<=

还有 连续的比较 a<b<c这样的 在C中要写作 a<b && b<c

还有 在数学表达式中,乘号可以省略,比如2abc, 但在C中必须是2abc

类似的小区别还有很多 熟悉了就知道了。

作为毕生职业的话

,数学最好是多学点的好

。但是如果你不做底层,比如引擎什么的,数学的要求也不是太高。

数学方面的话

,高数你应该掌握微积分,概率统计的话也要学一点

,离散数学的话

,关于图形的各种基本概念,连通图,基本图形算法也最好要知道。

因为你是作为毕生职业

,数学是必不可少的哦

。有高手说,数学是一种思维而已。我基本介绍下我接触的(本人不是高手,呵呵

),

程序设计,说白了,就是让计算机帮你做一些重复性的或者高计算度的工作

,人因为复杂和懒惰才会去设计程序(我现在算个加法都用计算机

,比如21+23

脑袋算不出来了~~)。

比如说,opengl(图形方面)

在游戏方面有许多的运用

。对于一些开源的代码你可能可以明白

,但是如果涉及到图形的变换,为了一些特效,你需要修改框架或算法,来适合你的程序

,可能你需要计算面积,最优路径

,或者你在里面加上你的搜索方法

。这些都需要用到数学

计算机的各种数据结构,算法,其实说白了就是数字的游戏

体现在计算机里面就是空间和时间效率

。很多时候你的程序是不是很优秀取决于设计者的数学思维

比如你做通讯,用别人的协议的时候。比如说通讯,对于大量数据传送,数据的传送你总要加密或者压缩吧

。这时候你也会要用到加密算法,也是数学的一块。

我个人觉得大学花一半时间来学数学也不为过

(这里的数学概念广一点,包含高数。线性代数,概率,离散,分析数学,数据结构和算法

,信息安全

)。毕业前,我也觉得大学开的课程很不合理

,但真正踏入社会,才后悔自己逃课。。

计算机网络,软件架构,单片机,信息安全

,密码学,人工智能,

在工作中都经常性的碰到

才知道,我们的数学水平和人的耐心和毅力最终决定我们的成就。

离散数学对程序员来说非常重要,还有组合数学、线性代数、概率论、数论等等,即使你将来不做研究,这些基础知识也能极大地提高你的水平。计算机科学对离散数学的要求很高,建议你先学习前面提到的这些课程,然后学习计算机算法和数据结构,再配合到网上的在线题库做题,过程很艰辛,但是对你的帮助会很大。

推荐书目:

《具体数学》(先学完前面的数学课程,在水平有一定进步以后再看)

《算法导论》(应该人手一本的好书)

简单来说,学数学的目的,一方面是活跃你的思维;另一方面是为了深入学习算法打基础,设想一下,同样的问题,普通人的程序要几十分钟甚至几小时几天才能解决出来,甚至根本无法解决,而你精心设计的程序却能在1秒内解决出来,这就是数学的魅力、算法的魅力。

其实,一切取决于你是否想做一个高级程序员。如果你做体力活(其实一般编程别人都认为是体力活),那你可以不学,因为你用不到,但是,你要是做技术上的创新,做个很强的程序员,没有数学的支持,很难。

你既然学习了C,c++,你也知道算法的重要性,同样一个问题,我用13行程序解决了,我的同学居然用了33行,因为他不懂的用数学。你要达到什么高等,取决于你的数学修养。当然,要做一个普通的程序员就不用学习了。要挑战自己,做个好的,优秀的,学习数学吧!

以上就是关于初学c语言,发现C中很多程序都要数学的一些公式垫底,请问学习C和那些数学公式有没有直接关系全部的内容,包括:初学c语言,发现C中很多程序都要数学的一些公式垫底,请问学习C和那些数学公式有没有直接关系、F2803 离散数学与程序设计是什么、数学:程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9341676.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存