高中信息技术—算法与问题解决

算法的概念及描述
广义的算法是指解决问题或完成任务的一系列步骤
在计算机科学领域内,算法指的是用计算机解决问题的步骤,是为了解决问题而需要让计算机有序执行的,无歧义的,有限步骤的集合

算法的特征

有穷性:算法必须能在执行有限个步骤之后终止。 如“列出所有的素数”就不符合有穷性的特征,因为素数的个数是无限的
确定性:算法的每一步骤必须有确切的定义。
输入项:一个算法有0个或多个输入。如计算“5的阶乘”,这个算法不需要从外界获取任何信息,因为它内部已经给出了要计算阶乘的常数(例如5)。因此,这是一个零输入算法。如计算“两个整数的和”,这个算法需要从用户那里获取两个整数作为输入,然后才能进行计算。因此,这是一个多输入算法。
输出项:一个算法有一个或多个输出。
可行性:算法中每一步操作与要求都应该是算法执行者可以实施的。1/0,因为0不能作为分母,所以不符合可行性要求

算法的要素
数据:算法解决问题,必须明确参与算法的初始数据、运算时产生的中间数据以及问题结局的结果数据
运算:在对数据进行运算时,明确每一步运算是什么。
控制转移:在算法执行过程中,根据数据或者运算结果进行不同的处理,需要用控制转移来执行不同的操作。如分支结构和控制结构

算法的描述
自然语言:如汉语、英语、德语,法语等等
流程图:用自然语言通俗易懂,但也容易产生歧义。流程图用一些图形符号表示规定的操作,用带箭头的流程线连接这些图形符号,表示操作的方向。对于算法的描述会更加直观和易于理解。
在这里插入图片描述
例子:
在这里插入图片描述
伪代码:流程图虽然直观易懂,但分支增多时会出现流程线相互交叉影响算法理解的情况。伪代码指的是一种比较直观简洁、符号接近计算机程序代码的算法描述方式,描述的算法更加紧凑简练
程序设计语言:无论是自然语言、流程图、伪代码,计算机都无法理解并执行。为了让计算机帮助人们真正解决问题,需要用程序编写实现

算法的控制结构
顺序结构、分支结构、循环结构

算法解决问题的步骤
1.抽象与建模
从现实项目的真实情境中提炼出核心要素并加以确定。用数学符号描述解决问题的计算模型。
如计算我从家里到公司所需要的时间,路程和速度就是抽象出来的数据或者符号
2.设计算法
对任何数据的处理都需要经历下面三个步骤
①输入数据
②处理数据
③输出处理结果
3.描述算法
可以用流程图进一步描述算法

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值