
1.1算法与程序框图 1.1.1算法的概念 1.1.1 算法的概念 学习目标: 通过分析具体问题过程与步骤,体会算法的思想,了解算法的含义,能用自然语言描述解决具体问题的算法. 学习重点(难点): 通过实例体会算法思想,初步理解算法的含义. 问题1:请你写出解二元一次方程组的详细求解过程. ① ② 第一步:②-①×2得: 5y=3 ③ 第二步: 解③得: 第三步: 将 代入①,解得 . 对于一般的二元一次方程组 其中 也可以按照上述步骤求解. 这些步骤就构成了解二元一次方程组的算法,我们可以根据这一算法编制计算机程序,让计算机来解二元一次方程组. 算法的概念与特征: 算法(algorithm)这个词出现于12世纪,指的是用阿拉伯数字进行算术运算的过程. 在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成. 说明: (1)事实上算法并没有精确化的定义. (2)算法虽然没有一个明确的定义,但其特点是鲜明的,不仅要注意算法的程序性、有限性、构造性、精确性的特点,还应该充分理解算法问题的指向性,即算法往往指向解决某一类问题,泛泛地谈算法是没有意义的。 算法学的发展 随着科学技术的日新月异,算法学也得到了前所未有的发展,现在已经发展到了各个领域.有遗传算法,排序算法,加密算法,蚁群算法等,与生物学,计算机科学等有着很广泛的联系,尤其是在现在的航空航天中,更是有着更广泛的应用. 很多复杂的运算都是借助计算机和算法来完成的,在高端科学技术中有着很重要的地位. 例1: (1)设计一个算法,判断7是否为质数; (2)设计一个算法,判断35是否为质数。 问题:任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定. 分析:请回顾这个问题的解题过程. 算法分析: 第一步:判断n是否等于2. 若n=2,则n是质数; 若n>2,则执行第二步. 第二步:依次检验2~(n-1)这些整数是不是n的因素,即是不是整除n的数.若有这样的数,则n不是质数;若没有这样的数,则n是质数. 说明:用语言描述一个算法,最便捷的方式就是按解决问题的步骤进行描述.每一步做一件事情. 问题: 设计一个算法,判断整数n(n>2)是否为质数. 第二步:令i=2. 第三步:用i除n,得到余数r 第一步:给定大于2的整数n; 第四步:判断“r=0”是否成立,若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示 第五步:判断“i>(n-1)”是否成立,若是,则n是质数,结束算法;否则,返回第三步。 例2:用二分法设计一个求方程x2-2=0的近似根的算法. 算法分析: 设所求近似根与精确解的差的绝对值不超过ε=0.005. 例2.用二分法设计一个求方程x2-2=0是近似根的算法。 算法分析:假设精确度为0.005 第一步:令f(x)=x2-2,因为f (1)<0,f (2)>0,所以设a=1,b=2; 第二步:令 ,判断f (m)是否为0,若是,则m为所求; 若否,则继续判断f (a)·f (m)大于0还是小于0; a b |a-b| 1 2 1 1 1.5 0.5 1.25 1.5 0.25 1.375 1.5 0.125 1.375 1.4375 0.0625 1.40625 1.4375 0.03125 1.40625 1.421875 0.015625 1.4140625 1.421875 0.0078125 1.4140625 1.41796875 0.00390625 点评: (1)上述算法也是求 的近似值的算法. (2)与一般的解决问题的过程比较,算法有以下特征: ①设计一个具体问题的算法时,与过去熟悉地解数学题的过程有直接的联系,但这个过程必须被分解成若干个明确的步骤,而且这些步骤必须是有效的. ②算法要“面面俱到”,不能省略任何一个细小的步骤,只有这样,才能在人设计出算法后,把具体的执行过程交给计算机完成. 计算机解决任何问题都要依赖于算法.只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题. 例3.试给出一个判断一元二次方程a ... ...
~~ 您好,已阅读到文档的结尾了 ~~