读者信箱:数学不好的人能学好编程吗?

2018-01-25T01:57:55.000Z|24200

最近有读者发来邮件,问了这样的一个问题:“我数学不好,还能学编程吗?” 对很多想要学习编程的人来说,数学都是绕不开的一个存在,很多同学因为对自己数学能力的不自信,就没有了学号编程的勇气。所以今天,小编就来和大家聊一聊,我们在编程中究竟会用到哪些数学知识,数学没那么优秀的人,也能学好编程吗?


首先来说结论。编程对数学的要求是有的,但并没有高到人们想象的地步,一些基础的高等数学知识,就足以让你胜任绝大部分的编程工作。诚然,编程离不开数学,或者可以说数学是任何科学的基础,但这不意味着在开始学习编程之前必须对数学很在行或者数学分数很高。下面我们具体分析!



首先,如果想要能够进行基本的编程,哪些数学知识是必不可缺的呢?



对于基本的编程,你需要知道下面的:



  • 加减乘除 — 实际上,电脑会帮你作加减乘除运算。你仅需要知道什么时候运用它们。
  • 模运算 — 模运算是用来计算余数,它的符号通常用%百分号来表示。所以23除以7等于3,余数是2。23 mod 7 = 2。
  • 偶数/奇数模式测试技巧 — 如果你想知道一个数是奇数还是偶数,用它mod 2来作模运算。如果结果是0,它就是偶数。如果结果是1,就是奇数。23 mod 2等于1,所以23是奇数,24 mod 2等于0,24是偶数。
  • 获取一个数字的百分比 — 就是用这个数来乘以一个百分数。譬如你要得到279的54%,就是用0。54*279。这就意味着为什么1.0等于100%,0.0等于0%。
  • 知道负数是什么 — 负数乘以负数等于正数。负数乘以正数等于负数。就这么简单。
  • 知道笛卡尔坐标系统 — 在编程中,(0,0)代表屏幕左上角,Y坐标的正轴往下。
  • 知道勾股定律 — 因为它是用来计算笛卡尔坐标中两点之间的距离的。勾股定律a^2 + b^2 = c^2。(x1, y1)和(x2, y2)两点之间的距离等于( (x1 – x2)^2 + (y1 – y2)^2 )
  • 知道十进制、二进制、十六进制 — 十进制就是我们通常用的十个数:0-9。通常认为这个十进制系统是人类发明的,因为我们有十个手指。电脑采用二进制数据,只有两个数字:0和1。这是因为我们用电子元件来构建的电脑,让电脑只识别两种状态更便宜些。

总的来说,如果知道上面这些,就已经足够了,如果上面的有不太了解的,建议还是找个机会了解下。


或许有的人认为,不同的领域需要有不同的数学知识,这肯定是对的,领域知识对于编程骑士很有用,但是其实现在有很多人已经帮我们写好了一些可以帮助调用的库。也就是说,我们并不要去理解其中深奥的知识部分,我们要的就是借助他们,会用他们。

3D游戏和3D绘图


3D东西通常涉及知道三角函数和线性代数(即数学处理矩阵)。当然,有许多3D图形库可以为您实现所有这些数学编程,所以你不需要知道这些具体的数学。




2D物理学和3D物理学


物理学一般和游戏引擎相关,要进行涉及物理学的编程,您需要学习一些物理方程式和公式(特别是力学)。然而,有几个物理引擎和软件库已经实现这些东西,所以你不需要知道游戏(比如愤怒的小鸟)中需要的物理公式。



加密学


比如RSA算法。你需要知道质数的有关知识,以及如何求最大公约数(其实是个非常简单的算法,还有许多编程语言中都有gcd()函数,帮你求解最大公约数)。如果你想编写自己的加密方法(其实,你不应该这样做,因为已经有很多做的很好的,如果没有专业知识,你的方法可能会很容易破解),如果你只是想编写一个程序加密数据,已经有一些软件库实现了加密和解密功能了!



那其实我们涉及到专业领域的时候,并不一定需要掌握其中的数学奥秘,可能只需要学习使用库。你需要学习的是如何建模数据和设计算法。这基本上意味着如何进行一些真实的计算或一些数据处理,并写出使计算机做的代码。


一个好的程序员需要的主要事情是:



解决问题的能力


采取问题陈述,弄清楚如何将其分解为组件,如何选择适当的算法来完成工作,如何验证正确性等。


逻辑思维


这可以让您将解决方案转化为可维护的代码,并帮助您有效地进行调试。它还可以帮助您了解文档并找出新事物(工具,技术,系统等)



总的来说,学习编程并不需要太多的数学知识,当然这也并不意味着数学对于编程不重要。但是我们已经可以清楚的看到,编程对数学的依赖,远没有我们想象中那么大。所以小伙伴们,不要怀疑自己,一起加油吧!


© 著作权归作者所有,未经许可,禁止转载
返回标签前往论坛 © 著作权归作者所有。未经许可,不得转载。
发送
文章评论
写评论
0条 共 0页 到
GO

已经到底了哦~

加载更多评论

  • “代码岛”第4关攻略游戏
  • “代码岛”第4关攻略
    你只要往它里面塞进你需要重复进行的动作,并设定好重复的次数,它就会重复的进行里面的动作,知道次数达到为止。比如:走5格,只要在循环积木里面放进【走1格】积木,然后设置循环次数=5次,即可。
    |28600
  • 少儿编程对孩子有这5大核心好处!编程
  • 少儿编程对孩子有这5大核心好处!
    编程一直被视为继口语及书写之后的“第三语言”,因此不少国家均提倡儿童学习编程,例如英国将编程纳入中小学课程、美国总统奥巴马推动学校教授编程、新加坡在中小学考试中加入编程科目。世界各个国家把儿童编程作为基础教育的重要组成部分说明编程人才在一个国家的经济、科技、信息、互联网发展的重要性,也说明编程能力是一个人工作和生活的必备能力。
    |38701
提示

©2017-2018-厦门纯游互动科技有限公司版权所有