人类和计算机都会使用算法。算法是一系列流程或者步骤,比如,菜谱也可以说是一种算法,人类和某些计算机都可以使用它。
算法对于重复性任务给出明确的指令。对于同一个任务,可以使用不同的算法来完成。例如,要计算除法,我们可以使用竖式,也可以使用重复做减法的方法。两种方法的结果是一样的,但其中一种方法会更好一些。在计算机科学中,我们的目标就是找到更好的算法。
更好的算法意味着速度更快、更简单,或者是更高效。
算法对我们非常有用,因为算法可以提供更好的方法来完成各种任务。
算法的开发是计算机科学的一个分支,它和数学研究很相似。例如,数学家和计算机科学家已经花了将近100年的时间来研究 旅行商问题 。
旅行商问题是这样的:一位旅行商要从家出发,前往若干个城市,最后再返回,已知每两个城市之间的距离,求旅行商可以选择的最短路线。
研究旅行商问题的目标是要找到一种最高效的算法来计算出旅行商可选择的最短路线。这个问题在现实生活中也有意义,例如物流调度系统可以使用最短路径算法来安排物流车辆的路线,算法可以帮助物流公司节约时间和成本。
计算机科学家的工作是针对问题找出解决方法,将解决方法总结成算法,然后将算法编写成程序,使其可以在计算机上运行。 因此,程序就是被翻译成计算机指令的算法。
算法通常被写成大多数人可以理解的形式,但是大多数人并不能读懂计算机程序,因为程序里面是一大堆令人费解的字母、数字和符号,但是计算机可以明白其中的含义。
程序员使用 编程语言 为计算机下达指令。编程语言使用数字、单词、符号和格式的组合,用计算机可以理解的方式告诉它们应该怎样做。
例如, 假设你想要知道今天是不是你某位朋友的生日,你可以编写如下算法或者程序。
①要引入所有函数,可以在import命令末尾写上“*”。
当你刚开始学习编程的时候,作为传统习惯,你编写的第一段程序就是让计算机显示:“Hello,world!”(你好,世界!)
给计算机编写程序简称编程,这一行为可以追溯到19世纪。
奥古斯塔·埃达·金,洛夫莱斯伯爵夫人被认为是世界上最早的 程序员之一 。在 1843年 ,她为一台叫作 分析机 的机械式计算机编写了一段算法。
分析机的设计者是 查尔斯·巴贝奇 。和依靠电力运行的现代计算机不同,分析机是依靠齿轮和蒸汽机运行的,它可以用来计数及求解简单的数学问题。
分析机可以运行用穿孔纸卡编写的简单程序。每张穿孔纸卡上面都有若干个小洞,分析机可以通过这些小洞来读取指令,从而为这台计算机编写程序。
洛夫莱斯伯爵夫人认为分析机可以通过编写指令来完成其他一些任务,她明白这台机器是可编程的。洛夫莱斯伯爵夫人是第一个认识到分析机在计算以外的潜力的人。
1. 说一说,算法和程序有什么不同?
2. 下列哪一项不是算法?
A. 制作玉米煎饼的步骤
B. 编法国发辫的方法
C. 搭建飞机模型的说明书
D. 给你暗恋的对象写的匿名小纸条
3. 为什么好的算法更高效?为什么计算机科学家一直在寻找更高效的算法?
4. 下面哪些既是算法,同时也是程序?
A. 乐器演奏教程
B. 微软公司软件Word
C. 微信
D. 无人机组装指南
5. 判断题:我们可以使用不同的算法,以不同的方式来完成相同的任务。
6. 计算机能理解的语言叫什么语言?
7. 为什么算法需要用计算机能理解的形式来表达?
8. 判断题:洛夫莱斯伯爵夫人在苹果电脑上编写了世界上第一段计算机程序。
9. 分析机的设计者是谁?
10. 分析机的设计目的是完成什么样的任务?
11. 为什么说洛夫莱斯伯爵夫人做出了领先于时代的贡献?
答案见下面
1. 算法是用来完成某个任务的一系列指令,程序是计算机能够理解的一系列指令。
2. D 。
3. 高效的算法运行速度更快,也可以节省存储空间。
4. B , C 。
5. 正确。
6. 编程语言。
7. 计算机需要更细致的指令,而且计算机只能理解编程语言。
8. 错误。洛夫莱斯伯爵夫人编写了世界上第一段程序,但这段程序是用来在分析机上运行的。
9. 查尔斯·巴贝奇。
10. 分析机是用来进行数学计算的,类似我们家里用的计算器。
11. 因为她认识到分析机是可编程的,拥有进行各种数学计算之外的潜力,而当时的其他人还并没有认识到这一点。