内容正文:
算法的概念及描述
-------算法的概念
这个“高一新生报到流程”示意图就是一个算法,该算法可以帮助高一新生解决“入学报到”问题。
著名数学家华罗庚曾经提出“烧水泡茶问题”,水壶和杯子未洗,水未烧,但是要泡茶喝,我们该怎么办?给出你的解决方案,写明步骤过程。(提示:考虑一下那些事情是可以同时完成的)
请举例说明现实生活中那些问题无法用算法解决?为什么?
1、算法的定义
古代的算法主要指的是“算术”,即数值的算术运算。
用“辗转相除法”计算正整数m和n的最大公约数的步骤如下:
①输入两个正整数m和n。
②若m<n,则交换m和n的值。
③以m除以n,相除得到的余数为r。
④若r=0,则输出n的值,算法结束;否则,执行步骤⑤
⑤令m=n,n=r,返回步骤③继续执行。
随着科学技术的发展,“算法”的外延和内涵逐渐发生着变化。
广义地讲,“算法”指的是解决问题或完成任务的一系列步骤。广义的算法中,需要解决的问题不仅仅指传统意义上的计算任务(算术),也可以是社会生活中各种事务的处理
在计算机科学领域内,“算法”指的是用计算机解决问题的步骤,是为了解决问题而需要让计算机有序执行的、无歧义的、有限步骤的集合。
这些需要解决的问题不仅包含了数值计算,还包含了非数值计算的数据处理。解决这些问题的算法执行者是计算机,为了让计算机理解算法中的步骤,需要用计算机能理解的语言来描述算法并将其输入到计算机中,这个过程就称为计算机程序设计。
在用计算机解决问题时,需要将解决问题的方法细化成计算机能理解的各个步骤,并通过输入设备告诉计算机,计算机才能按照算法解决问题。
2.算法的特征
①有穷性。一个算法的处理步骤必须是有限的。无论具体需要执行的操作步骤有多少,这个数量必须是确定的。
②可行性。一个算法中的每一步操作与要求都应该是算法执行者(人或者机器)可以实施的,同时在现实环境中能做到并且能在有限的时间内完成。
③确定性。算法中对于每个步骤的执行描述必须是明确的。
④0个或多个输人。
⑤1个或多个输出。
求所有偶数的和
打死老虎
输出所有的奇数
下列问题不能用算法描述的是( )
A.已知a、b、c的值,求一元二次方程
ax2+bx+c =0(a≠0)的实数解
B.计算某个班级英语成绩的平均分
C.列出方程y=2x+1的所有实数解