程序设计语言跟数学没有关系,只有涉及算法时候需要一定的数学知识,这个看具体问题而论,这些等你学到数值分析和数据结构能有比较深刻的理解
你现在不就是光学这门程序设计语言么,那你就不需要数学上的东西,需要你做的就是大致了解编译器以及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 离散数学与程序设计是什么、数学:程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)