第一章算法初步1.1算法与程序框图1.1.1算法的概念[学习目标]1.通过回顾解二元一次方程组的方法,了解算法的含义,初步体会算法的思想(重点).2.会用自然语言描述一些具体问题的算法(重点、难点).[知识提炼·梳理]1.算法的概念12世纪的算法指的是用阿拉伯数字进行算术运算的过程数学中的算法通常是指按照一定规则解决某一类问题的明确和有限的步骤现代算法通常可以编成计算机程序,让计算机执行并解决问题2.算法与计算机计算机解决任何问题都要依赖于算法,只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.[思考尝试·夯基]1.思考判断(正确的打“√”,错误的打“×”).(1)一个算法可解决某一类问题.()(2)算法的步骤是有限的,有些步骤可有可无.()(3)同一个问题可以有不同的算法.()(4)算法执行后可以不产生确定的结果.()解析:(1)正确,根据算法的概念可知.(2)错误,算法的步骤是有限的,也是明确的,不能可有可无.(3)正确,例如二元一次方程组的算法,可用“加减消元法”,也可用“代入消元法”.(4)错误,算法的每一步都是确定的,产生的结果也是确定的.答案:(1)√(2)×(3)√(4)×2.阅读下面的四段话,其中不是算法的是()A.求1×2×3的值,先计算1×2=2,再计算2×3=6,最终结果为6B.解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1C.今天,我上了8节课,真累D.求1+2+3+4+5的值,先计算1+2=3,再计算3+3=6,6+4=10,10+5=15,最终结果为15解析:A,B,D项中,都是解决问题的步骤,故A,B,D项中所叙述的是算法;C项中是说明一个事实,不是算法.答案:C3.下列各式中T的值不能用算法求解的是()A.T=12+22+32+42+…+1002B.T=A12+13+14+15+…+150C.T=1+2+3+4+5+…D.T=1-2+3-4+5-6+…+99-100解析:根据算法的有限性知C不能用算法求解.答案:C4.完成解不等式2x+24x-1的算法:第一步,移项并合并同类项,得________.第二步,在不等式的两边同时除以x的系数,得________.解析:依据解不等式的步骤可得答案.答案:-2x-3x325.给出如下算法:第一步,输入a,b,c的值.第二步,当ab时,令“最小值”为b;否则,令“最小值”为a.第三步,当“最小值”大于c时,令“最小值”为c;否则,“最小值”不变.第四步,输出“最小值”.若输入a=3,b=1,c=-2,则输出的“最小值”是________.解析:本算法的功能是输入a,b,c的值,输出其中的最小值.由于cba,则输出-2.答案:-2类型1算法的概念[典例1]下列关于算法的理解不正确的是_______(填序号).①算法有一个共同的特点,就是对一类问题有效(而不是个别问题);②算法一般是机械的,有时要进行大量重复的计算;③任何问题都可以用算法来解决;④若解决某一具体问题的算法不同,则结果不同.解析:由算法的普遍性,可知①正确;由算法的可执行性知②正确;并非所有问题都可以用算法解决,故③不正确;解决某一问题时,算法可以不同,但结果一定相同,故④不正确.答案:③④归纳升华1.判断该类问题,关键看是否有解决某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步骤之内完成.2.算法实际上是一种程序方法,利用算法解决问题,体现了特殊与一般的数学思想.[变式训练]下列语句表述为算法的是()①从济南到巴黎,可以先乘火车到北京,再坐飞机抵达;②利用公式S=12ah计算底为1,高为2的三角形面积;③12x2x+4;④求M(1,2)与N(-3,-5)两点连线的方程,可先求MN的斜率,再利用点斜式方程求得.A.①②③B.①③④C.①②④D.②③④解析:算法是解决问题的步骤与过程,这个问题并不仅仅限于数学问题,①②④都表达了一种算法.答案:C类型2数值性计算问题的算法[典例2]已知一个长方体的长、宽、高分别为3,4,5,设计一个算法求其体积.解:算法如下:第一步,输入长方体的长a=3,宽b=4,高h=5.第二步,计算V=abh=3×4×5=60.第三步,输出V=60.归纳升华对于数值型计算问题的算法,可以借助数学公式采用数学计算的方法,将过程分解成清晰的步骤,使之条理化即可,但应注意多个数进行四则运算时应分步计算,依次进行,直到算出结果.[变式训练](1)求1×3×5×7×9×11的值的一个算法如下,请补充完整.第一步,求1×3得结果3.第二步,将第一步所得结果3乘以5,得到结果15.第三步,____________________________________.第四步,再将第三步所得结果105乘以9,得到结果945.第五步,再将第四步所得结果945乘以11,得到结果10395,即为最后结果.(2)写出解方程x2-2x-3=0的一个算法.(1)解析:依据算法功能可知,第三步应为“再将第二步所得结果15乘以7,得到结果105”.答案:再将第二步所得结果15乘以7,得到结果105(2)解:法一第一步,移项得x2-2x=3.①第二步,①式两边同时加1,并配方得(x-1)2=4.②第三步,②式两边开平方,得x-1=±2.③第四步,解③式得x1=3,x2=-1.法二第一步,计算出一元二次方程的判别式的值,并判断其符号,显然Δ=(-2)2-4×1×(-3)=16>0.第二步,将a=1,b=-2,c=-3代入求根公式x1,2=-b±b2-4ac2a,得x1=3,x2=-1.类型3非数值性计算问题的算法(互动探究)[典例3]请说出下面算法要解决的问题:_______.第一步,输入三个数,并分别用a,b,c表示.第二步,比较a与b的大小,如果a<b,则交换a与b的值.第三步,比较a与c的大小,如果a<c,则交换a与c的值.第四步,比较b与c的大小,如果b<c,则交换b与c的值.第五步,输出a,b,c.答案:输入三个数a,b,c,并按从大到小顺序输出[迁移探究]“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何.”用方程组的思想不难解决这一问题,请你设计一个这类问题的通用算法.解:第一步,输入总头数H,总脚数F.第二步,计算鸡的只数x=4H-F2.第三步,计算兔的只数y=F-2H2.第四步,输出x,y的值.归纳升华1.非数值计算问题主要是指判断、排序、查找、变量变换、文字处理等问题.2.求解此类问题需先建立过程模型,再通过过程模型进行算法的设计与描述.1.算法含义的理解.算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成是设计好的、有限的、确切的计算序列,并且这样的步骤或序列能够解决某一类问题.2.算法的五个特点.(1)有限性:一个算法的步骤序列是有限的,它应在有限步操作之后停止.(2)确定性:算法中的每一步应该是确定的,并且能有效地执行且得到确定的结果,而不应当是模棱两可的.(3)逻辑性:算法从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,只有完成前一步,才能进行下一步,而且每一步都是正确无误的,从而组成具有很强逻辑性的步骤序列.(4)普遍性:一个确定的算法,应该能够解决一类问题.(5)不唯一性:求解某一个问题的算法不一定只有唯一的一个,也可以有不同的算法.3.设计算法的要求.(1)写出的算法必须能解决一类问题.(2)要使算法尽量简单、步骤尽量少.(3)要保证算法步骤有效,且计算机能够执行.