算法与程序的区别与联系举例 程序算法有哪些特征( 二 )


其流程图描述如下:

算法与程序的区别与联系举例 程序算法有哪些特征

文章插图

图 2 超市收银机程序流程图
从餐厅打卡机和超市收银机的内置的程序可以看出 , 人们使用计算机 , 就是要利用计算机程序处理各种不同的问题 , 为了让计算机能够按照我们的意愿去工作 , 人们在设计计算机时 , 为计算机提供了一套指令 , 其中的每一种指令对应着计算机能执行的一个基本动作 , 为让计算机完成某项任务而编写的指令序列就称为计算机程序 。
2、什么是程序算法?
我们知道 , 程序是用来解决问题的 , 是由多个步骤或过程组成的 , 这些步骤和过程就是解决问题的算法 。
同学们都下过象棋吧 , 图3给出的是《江湖迷局》一书的一个残局棋谱 , 棋谱给出了每一步棋的走法 , 按照棋谱规定的步骤行棋 , 就能破解这个残局 , 棋谱给出的行棋规则就是算法 。
算法与程序的区别与联系举例 程序算法有哪些特征

文章插图

图3 棋谱残局
去超市购物时 , 人们经常会对需要购买的同类商品做价格的比较 , 例如商品A、商品B、商品C在同样质量的情况下 , 人们会倾向于比较价格 , 优先购买价格便宜的商品 , 这个比较过程是在大脑进行的 , 比较的过程就是排序算法 , 从三个数中找出最小的数 。
算法与程序的区别与联系举例 程序算法有哪些特征

文章插图

图4 超市购买货物时进行价格比较
图3的棋谱残局需要走11手 , 就能破解残局 , 图4的价格排序也仅需要对3个数进行排序 , 在大脑比对一下数的大小就完成了 。 它们都是算法 , 算法有没有明确的概念和特征呢?
要想弄清楚算法的概念和特征 。 先看看算法能给人们的生活带来哪些帮助?前面的棋谱残局和价格比对是生活中的算法 , 可以帮助人们解决生活中的一些问题 , 让我们变成象棋高手 , 或者买到最实惠的商品 。
如果让计算机执行算法 , 会给人们带来什么帮助呢?在学习方面 , 把解方程的步骤输入到计算机 , 可以帮助人们解方程;在工作方面 , 把英汉词库及检索算法输入到计算机 , 可以帮助人们自动进行英汉词语翻译;在生活方面 , 把游戏规则和算法输入到计算机 , 可以让人们娱乐等等 。 计算机有了算法 , 才有了大脑和灵魂 , 没有算法的计算机 , 只能是一台机器 。
为了让计算机能够完成前面所说的任务 , 就需要事先对各类问题进行分析 , 确定解决问题的具体方法和步骤 。 再编制好一组让计算机执行的指令 , 交给计算机 , 让计算机按人们指定的步骤有效地工作 。 这些具体的方法和步骤 , 其实就是一个问题的算法 。 例如 , 让计算机帮助我们解方程 , 就需要把解方程的步骤和方程参数输入到计算机 , 计算机根据输入的步骤和参数完成方程的求解 。
严格来说 , 计算机程序是为让计算机完成某项任务而编写的指令序列 , 指令序列就是解决问题的算法 。
算法与程序的区别与联系举例 程序算法有哪些特征

文章插图

图5 算法的概念
前面理解了算法的概念 , 再来看看算法有哪些特征 。
算法是由有限多个步骤组成的 , 它有下述两个基本特征:第一个特征是每个步骤都明确地规定要执行何种操作;第二个特征是每个步骤都可以被人或机器在有限的时间内完成 。 算法除了上述两个基本特征外,还要具有第三个基本特征:虽然有些步骤可能被反复执行多次 , 但是在执行有限多次之后 , 就一定能够得到问题的解答 。


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。