第一章算法初步§1.1算法与程序框图1.1.1算法的概念自学导引1.了解算法的含义,体会算法的思想.2.能够用自然语言叙述算法.3.掌握正确的算法应满足的要求.4.会写出解线性方程(组)的算法.5.会写出一个求有限整数序列中的最大值的算法.课前热身1.算法是指__________________________________________________________________________________________________.2.算法具有________、________、________、________、________等特征.3.算法有三种表示方法,用________表示;用________表示;用________表示.在数学中,通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题概括性逻辑性有穷性不唯一性普遍性自然语言框图语言程序语言名师讲解1.算法概念的理解(1)算法是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确的和有效的,而且能够在有限步骤之内完成.(2)算法与一般意义上具体问题的解法既有联系,又有区别,它们之间是一般和特殊的关系,也是抽象与具体的关系.算法的获得要借助一般意义上具体问题的求解方法,而任何一个具体问题都可以利用这类问题的一般算法来解决.(3)算法一方面具有具体化程序化机械性的特点、、,同时又有高度的抽象性概括性精确性、、,所以算法在解决问题中更具有条理性逻辑化的特点、.2.算法的五个特征:概括性逻辑性有穷性不唯一性普遍性、、、、(1)概括性:写出的算法必须能解决某一类问题,并且能够重复使用.(2)逻辑性:算法从初始步骤开始,分为若干明确的步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,而且每一步都是正确无误的,从而组成了一个有着很强逻辑性的步骤序列.(3)有穷性:算法有一个清晰的起始步,终止步是表示问题得到解答或指出问题没有解答,所有序列必须在有限个步骤之内完成,不能无停止地执行下去.(4)不唯一性:求解某一个问题的算法不一定只有唯一的一个,可以有不同的算法,当然这些算法有简繁之分优劣之别、.(5)普遍性:很多具体的问题,都可以设计合理的算法去解决.例如手算心算或用算盘用计算器去计算都要经过有限的事先设计、、、好的步骤加以解决,同样的一个工作计划生产流程等都可以视、为“算法”.典例剖析题型一算法的概念例1:下列描述不能看作算法的是()A.洗衣机的使用说明书B.解方程x2+2x-1=0C.做米饭需要刷锅淘米添水加热这些步骤、、、D.利用公式s=πr2计算半径为3的圆的面积,就是计算π×32答案:B解析:A,C,D都描述了解决问题的过程,可以看作算法,而B只描述了一个事例,没有说明怎样解决问题,不是算法.变式训练1:下列对算法的理解不正确的是()A.算法有一个共同特点就是对一类问题都有效(而不是个别问题)B.算法要求是一步步执行,每一步都能得到唯一的结果C.算法一般是机械的,有时要进行大量重复的计算,它的优点是一种通法D.任何问题都可以用算法来解决解析:由算法的概念知,A、B、C正确,D不正确.答案:D题型二含有重要步骤的算法例2:写出求1+2+3+4+5+6的一个算法.分析:可以按逐一相加的程序进行,也可以利用公式1+2+…+n进行,也可以根据加法运算律简化运算过程.(1)2nn解:算法1:第一步,计算1+2得到3.第二步,将第一步中的运算结果3与3相加得到6.第三步,将第二步中的运算结果6与4相加得到10.第四步,将第三步中的运算结果10与5相加得到15.第五步,将第四步中的运算结果15与6相加得到21.第六步,输出运算结果.算法2:第一步,取n=6.第二步,计算第三步,输出运算结果.算法3:第一步,将原式变形为(1+6)+(2+5)+(3+4)=3×7.第二步,计算3×7.第三步,输出运算结果.(1).2nn规律技巧:算法1是最原始的方法,最为繁琐,步骤较多,当加数较大时,比如1+2+3+…+10000,再用这种方法是行不通的;算法2与算法3都是比较简单的算法,但比较而言,算法2最为简单,且易于在计算机上执行操作.变式训练2:写出1×2×3×4×5的一个算法.解:算法:第一步,计算1×2得到2.第二步,将第一步得到的结果2乘以3得到6.第三步,将第二步得到的结果6乘以4得到24.第四步,将第三步得到的结果24乘以5得到120.第五步,输出运算结果.题型三直接应用数学公式的算法例3:写出求解一元二次方程ax2+bx+c=0(a≠0)的...