算法和计算机程序有区别和联系

简单来说:

 

算法是对特定问题求解步骤的描述,它是有限序列指令。算法是解决问题的思路,没有语言界限。

 

计算机程序是实现预期目的而进行操作的一系列语句和指令。程序是算法用某种程序设计语言的表述,是算法在计算机上的具体实现。

 

程序必须用规定的程序设计语言来写,而算法很随意。一个算法可以用不同的编程语言编写出不同的程序。

 

程序并不都满足算法所要求的特征,例如操作系统,是一个在无限循环中执行的程序,因而不是一个算法。

 

程序=数据结构+算法。数据结构与算法要通过程序的实现,才能由计算机系统来执行。

 

所以,并不是所有的算法都必须由计算机程序实现,也有一些非计算机领域的问题可以用数学或逻辑等方式描述和解决其求解步骤。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算思维 计算机算法的表示和设计 计算思维-计算机算法的表示和设计全文共61页,当前为第1页。 1、一般问题处理过程与计算机处理问题过程区别 2、算法的表示 3、变量及其赋值 4、顺序结构算法 5、选择结构/分支结构 6、循环结构 7、简单算法 前5个、后2个各用1次课 计算思维-计算机算法的表示和设计全文共61页,当前为第2页。 一般问题处理过程 与 计算机处理问题过程有何不同呢? 计算思维-计算机算法的表示和设计全文共61页,当前为第3页。 1)一般问题的求解过程 例如,如果需要筹划一个聚会,面对这样的一个问题,该如何解决呢? 人们要确定这个聚会的目的是什么?是几个同学的小聚,还是大型活动的Party?接着要根据聚会的规模与主题,分析需要些什么资源,这些资源如何获取?然后会想出不同的点子,即提出各种方案。之后根据具体的情况,选择看看哪个方案更好。最后才是执行并完成所有的任务。 确定问题 分析问题 设计方案 方案选择 解决步骤 方案评价 计算思维-计算机算法的表示和设计全文共61页,当前为第4页。 将解决问题的步骤列出: 订聚会的地点 填邀请卡 发邀请卡 布置聚会会场 购买酒水 购买食品 。 。 。 人类在解决问题时有这样的特点: 1、可提供的步骤(操作)非常多 2、列出的步骤一般并不严格 3、有些步骤还可以前后交换次序,甚至同时进行。 计算思维-计算机算法的表示和设计全文共61页,当前为第5页。 2)计算机解决问题的过程 例如,需要用计算机语言编制一个机器人行走的程序。其中机器人可以执行的指令只有如下几个: 起立 坐下 向前走一步(必须在站立时执行) 向右转90度(必须在站立时执行) 举起手臂(向前抬到与身体成直角) 放下手臂 如果要求编写出一个具体的程序(步骤),让机器人向前一直走到墙,然后再走回来;当机器人抬起手时,它可以摸到墙和椅子的靠背;机器人和墙的距离只有三步长。 计算思维-计算机算法的表示和设计全文共61页,当前为第6页。 所编写的指令序列: 1:起立 2:举起手臂 3:向前走一步 4:向前走一步 5:向前走一步 6:向右转90度 7:向右转90度 8:向前走一步 9:向前走一步 10:向前走一步 11:向右转90度 12:向右转90度 13:放下手臂 14:坐下 15:停止 计算机解决问题时有这样的特点: 1、只有若干可执行(操作)的指令,本例是6个 2、按需要将这些指令排列成一个序列(程序) 3、严格按照序列(程序)流程一步一步的执行。 计算思维-计算机算法的表示和设计全文共61页,当前为第7页。 算法的表示 自然语言 流程图 NS图 伪代码 课程中的算法是针对计算机程序的,要求表达时必须精准和无歧义。 计算思维-计算机算法的表示和设计全文共61页,当前为第8页。 1)自然语言表示:用自然语言来描述算法。 【例】用自然语言来描述输入矩形的两个边,求矩形的面积和周长的算法。其中变量a、b存储矩形的两个边长;变量s、l分别存储矩形的面积和周长。 Step1:分别输入2个边长给a、b; Step2:计算矩形面积s = a * b; Step3:计算矩形周长l = 2 * ( a + b ); Step4:依次输出面积s和周长l。 使用自然语言描述算法的优点是通俗易懂。但是,自然语言本身所固有的不严密性使得这种描述方法存在"文字冗长,容易产生歧义性"以及"难以描述算法中的分支和循环等结构"等缺陷。 计算思维-计算机算法的表示和设计全文共61页,当前为第9页。 2)流程图(Flow Chart)是一种传统的、广泛应用的算法描述工具,也是最常见的算法图形化表达工具。 流程图利用几何图形的图框来代表各种不同的操作,用流程线来指示算法的执行方向,它使用规定的一些图框、线条来形象、直观地描述算法处理过程。 与自然语言相比,流程图可以清晰、直观、形象地反应控制结构的过程。 计算思维-计算机算法的表示和设计全文共61页,当前为第10页。 符号名称 图形 功能 起止框 表示算法的开始或结束 处理框 表示一般的处理操作,如计算、赋值等 判断框 表示对一个给定的条件进行判断 流程线 或 用流程线连接各种符号,表示算法的执行顺序 输入/输出框 表示算法的输入/输出操作 连接点 成对出现,同一对连接点内标注相同的数字或文字,用于将不同位置的流程线连接起来,避免流程线的交叉或过长 注释框 对当前步骤进行必要的注释、说明 常见流程图符号 计算思维-计算机算法的表示和设计全文共61页,当前为第11页。 【例】输入矩形的两个边长,求矩形的面积和周长。 使用流程图来描述算法,其中变量a、b存储矩形的两个边长;变量s、l分别存储矩形的面积和周长。 计算思维-计算机算法的表示和设计全文共61页,当前为第12页。 流程图也可表示生活或工作中的处理过程,如

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值