会因为有效位数的影响而使小数丢失,因此,在算法设计时,应该考虑到这一点。(2)确定性算法的设计必须是每一个步骤都有明确的定义,不允许有模糊的解释,也不能有多义性。例如,一个实际的问题,小宝和萍萍共有12个苹果,小宝比萍萍多4个,请问小宝和萍萍各有几个苹果?这个问题,我们可以立一
第3页
f全国计算机等级考试二级公共基础知识
个方程
xy12来求解,要求x和y的值,公式是正确的,但如xy4
何让计算能够进行计算,我们的算法不能把公式直接输进去,而应该设计出解题的步骤和过程。即设计的算法是计算工具所能够正常解决问题的过程。(3)有穷性算法的有穷性,即在一定的时间是能够完成的,即算法应该在计算有限个步骤后能够正常结束。例如,在数学中的无穷级数,在计算机中只能求有限项,即计算的过程是有穷的。(4)拥有足够的情报算法的执行与输入的数据和提供的初始条件相关,不同的输入或初始条件会有不同的输出结果,提供准确的初始条件和数据,才能使算法正确执行。2)算法的基本要素一是数据对象的运算和操作,二是算法的控制结构。(1)算法中对数据的运算和操作算法实际上是按解题要求从环境能进行的所有操作中选择合适的操作所组成的一组指令序列。即算法是计算机所能够处理的操作所组成的指令序列。(2)算法的控制结构算法的功能不仅取决于所选用的操作,而且还与各操作之间的顺
第4页
f全国计算机等级考试二级公共基础知识
序有关。在算法中,操作的执行顺序又称算法的控制结构,一般的算法控制结构有三种:顺序结构、选择结构和循环结构。在算法描述是,有相关的工具对这三种结构进行描述,常用的描述工具有:流程图、NS结构图和算法描述语言等。3)算法设计的基本方法为用计算机解决实际问题而设计的算法,即是计算机算法。通常的算法设计有如下几种:(1)列举法列举法的基本思想是,根据提出的问题,列举出所有可能的情况,并用问题中给定的条件检验哪些是满足条件的,哪些是不满足条件的。列举法通常用于解决“是否存在”或“有哪些可能”等问题。例如,我国古代的趣味数学题:“百钱买百鸡”“鸡兔同笼”等,、均可采用列举法进行解决。使用列举法时,要对问题进行详细的分析,将与问题有关的知识条理化、完备化、系统化,从中找出规律。(2)归纳法归纳法的基本思想是,通过列举少量的特殊情况,经过分析,最后找出一般的关系。归纳是一种抽象,即从特殊现象r