计算机的思维进化

计算机的思维。

假设想要计算这么一个方程,2x+6=20,我们学过这么年的义务教育,感觉很容易啊,就是2x=20-6,那就是x等于14÷2,即7。但是对于计算机来说,你要让他去学会怎么样解这样的方程式,不是那么容易,计算机可能会有另外的算法,另外的办法来做这样的事情。也可以先假设,你现在也学过方程式,你看到这样的事你会怎么去想?怎么解决?

一个想法是这样,能不能,我先试试看,如果x是1,那么2×1=2+6等于8,好吧不相等,然后在类推2.3.4.5.6,然后发现还不够.于是再试一下7,发现这个时候刚好相等了,是可以的。这种思维同样可以扩展到计算机上,因为对计算机来说呢,它就是凑一个数出来,找一个方法的一个一个的把所有的可能都放进去,从1数到7,发现7可以了就停了。但是如果这是数要数到7万,那计算7万次就显得速度比较慢了,所以为了让计算机能算得快,我们就会有各种各样的算法。比方说,我们举个例子对于这个方式来说,我们有一个比较简单的方案,不断的去判断求值的范围可能性,比如我们不是一上来就来试1,我们先上个5,2×5是10,10+6,小于20。说明我们要寻求的那个答案应该比我要来的大,那个接下来,我们可以在尝试5和10中间那个数,我们可以是7或者8,比如我们就试一下7,这边刚好就是20,于是,我们就得到答案了。这种方案这种方法叫做划分法,如2分法。我们在用计算机解决问题的,计算机毕竟这已经发展了70年了,也收集很多很多的计算方法,但其实对于各种实际的问题,我们依然会有各种更好的办法去计算它,去解决它。

那一旦我们有了一个程序,这个程序写出来之后,计算机怎么能够去执行你的这个程序呢?我们前面已经看到你的程序写出来,是用一种类似于英文字母数字这样的东西,但是呢,计算机实际懂的语言是那种16进制都是数字的,那么在这两钟方式之间是有差异的,对吧?因此计算机要去执行你写的那个程序,他就需要一种转化的中间件,我们叫做解释/编译。就是说我们的计算需要有一个额外计算机的程序,它能够读懂你写的那个程序,讲我们写的代码编译成计算机能懂的16进制。

编译程序他把你的程序翻译一下,变成计算机能懂的,于是你的程序被翻译过以后呢,你都不懂了,但是计算机能读懂了,然后他把这个计算机能读懂的程序留下来,也就是保存下来,以后,你的程序想要执行的时候,就不是拿你写的那个程序执行,而是拿他翻译过以后的那个程序去执行。

这个解释是怎么回事啊?咱们写了一个程序是吧?程序写在一个文件里头,存在一个文件里完了以后呢,交给一个编译程序,程序他能读懂你的程序,可是呢,它不产生任何东西,但只是去做动作,他拿着你的程序就开始一条一条一条一条的走,走完以后呢,就做完了产生了计算结果。

来着-学习强国-授课老师语录

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章