Menu Close

什么是算法? 算法的演变过程,程序设计步骤

其实在没有计算机之前,就已经有算法了。算法就是解决某个问题的计算方法、步骤。

比如,小学乘法算法表,九九八十一。比如,妈妈做饭脑子里出现的食谱,先炒,勾芡, 再炖,再小火收汁等.

1. 古人解决问题的方法

古人根据对自然现象的观察,总结了进行预测的问题解决方法。河图洛书和八卦。

%title插图%num

%title插图%num

%title插图%num

4+9+2=15
3+5+7=15
8+1+6=15
4+3+8=15
9+5+1=15
2+7+6=15
4+5+6=15
2+5+8=15

上图就是五千年前中国古人观察天地和太阳走向,总结出来的自然规律。洛书数字的各个方向排列数相加之和,都是15. 同时也有很多其他奇特的特征,大家可以搜一搜。

在洛书之前几千年,中国人老祖宗伏羲已经根据一定算法,归纳出八卦。

%title插图%num

河图、洛书与武术相结合,就产生了太极拳. 九紫飞星图和八卦结合,也产生了国运预测学。

洛书和八卦相结合,可以推算出时令,服务于农业生产。河图、洛书与地理学相结合,就产生了风水学,服务于建筑业。河图、洛书,八卦与人体的五脏六腑相结合,就产生了中医学。

 

2. 二进制和八卦

二进制,是我们今天计算机系统普遍采用的数制,由德国数理哲学大师莱布尼茨所发明。它用0和1两个数码来表示数,其基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。

八卦是阴阳组成的,从来不知道010101等等。现代人为了和计算机原理结合,用0101等解释了八卦和太极的关系。但这不是二进制。莱布尼茨早在1679年就写出了他的二进制数学体系;二十年后才接触中国的易经。而易经六十四卦和二进制更没有半毛钱的关系。

%title插图%num

二进制的八卦和文王八卦是完全不一样的。先天八卦的顺序:乾一,兑二,震三等。

世界上所有的决策都是算法。例如孙子兵法,美国大选,三峡大坝等。

3.程序和问题解决办法

%title插图%num

程序是一组计算机能够识别的指令。每一条指令使计算机执行特定的操作,只要执行这个操作,计算机就会“自动”的完成其它指令。使其成为你要实现的功能! 一个特定的指令序列用来完成一定的功能。

程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。

一个程序应包括:

  • 对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构(data structure)。
  • 对操作的描述。即操作步骤,也就是算法(algorithm)。

我们学习计算机软件的学生,特别是网站设计的学生,都应该知道google的算法。这个算法始终在世界算法的前沿。

谷歌算法
谷歌算法

谷歌算法从所有链接都考虑(拿到甲骨文CEO天使投资),到相关链接,当地相关和质量链接,社区网站,FAQs, 相互交流,手机网站,SSL安全链接,用户行为,到人工智能自然匹配算法。还有谷歌的alpha狗算法逐渐应用于军事领域。

程序设计步骤

1. 分析问题
对于接受的任务要进行认真的分析,研究所给定的条件,分析最后应达到的目标,找出解决问题的规律,选择解题的方法,完成实际问题。
2.设计算法
即设计出解题的方法和具体步骤。
3.编写程序
将算法翻译成计算机程序设计语言,对源程序进行编辑、编译和连接。
4.运行程序,分析结果
运行可执行程序,得到运行结果。能得到运行结果并不意味着程序正确,要对结果进行分析,看它是否合理。不合理要对程序进行调试,即通过上机发现和排除程序中的故障的过程。
5.编写程序文档
许多程序是提供给别人使用的,如同正式的产品应当提供产品说明书一样,正式提供给用户使用的程序,必须向用户提供程序说明书。内容应包括:程序名称、程序功能、运行环境、程序的装入和启动、需要输入的数据,以及使用注意事项等。

 

Posted in C语言

发表评论

相关链接