1、1.1.1 算法的概念,1.1算法与程序框图,【课标要求】1通过分析解决具体问题的过程与步骤,体会算法的基 本思想2了解算法的含义和特征3会用自然语言表述简单的算法【核心扫描】1要会用自然语言描述算法,并写出相应的算法步骤 (重点)2算法的应用(难点),1算法的概念,自学导引,一定规则,明确,有限,计算机程序,:解决一个问题的算法是唯一的吗?提示不唯一如解二元一次方程组的算法有加减消元法和代入消元法两种,但不同的算法有优劣之分,算术运算,算法的特征算法是解决问题过程的抽象而精确的描述,一般具备以下几个特征:(1)有限性:一个算法的步骤序列是有限的,它应在有限步操作之后停止(2)确定性:算法中的
2、每一步应该是确定的,并且能有效地执行且得到确定的结果,而不应当是模棱两可的(3)逻辑性:算法从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,只有完成前一步,才能进行下一步,而且每一步都是正确无误的,从而组成具有很强逻辑性的步骤序列(4)不唯一性:求解某一个问题的算法不一定只有唯一的一个,也可以有不同的算法,这些算法有繁简、优劣之分(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,2,算法的设计(1)算法与计算机的关系计算机解决任何问题都要依赖于_,只有将解决问题的过程分解为若干个_,即_,并用计算机能够接受的“_”准确地描述出来,计算机才能够解决问题(2)设计算法的目的设计
3、算法的目的实际上是寻求一类问题的算法,它可以通过计算机来完成设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能够接受的“语言”准确地描述出来,从而达到让计算机执行的目的(3)设计算法的要求写出的算法必须能解决一类问题;要使算法尽量简单、步骤尽量少;要保证算法正确,且计算机能够执行,3,算法,明确的步骤,算法,语言,算法概念的理解(1)算法可以理解为按照一定规则解决某一类问题所构成的完整的解题步骤,或看成按要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题;(2)通俗点说,算法就是计算机解题的过程在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法,前者
4、是推理实现的算法,后者是操作实现的算法;(3)算法一方面具有具体化、程序化、机械化的特点,同时又有高度的抽象性、概括性、精确性,所以算法在解决问题时更具有条理性、逻辑性等特点通常把算法过程称为“数学机械化”,其最大优点是可以让计算机来完成,名师点睛,1,2.算法与数学问题的解法的区别与联系,算法的描述方法算法的描述可以有不同的方式,主要有自然语言、程序框图、计算机程序语言(1)自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解;缺点是如果算法中包含判断或转向,并且操作步骤较多时,就不那么直观和清晰了;(2)程序框图描述算法就是指用规定的图形符号来描述算法,具有直观、
5、结构清晰、条理分明、通俗易懂、便于检查修改等优点,3.,题型一对算法概念的理解,(2012固原高一检测)下列关于算法的说法,正确的个数有 ()求解某一类问题的算法是唯一的;算法必须在有限步操作之后停止;算法的每一步操作必须是明确的,不能有歧义或模糊;算法执行后一定产生确定的结果A1 B2 C3 D4思路探索 正确理解算法的概念及特点是解决此类问题的关键,【例1】,解析由于算法具有有穷性、确定性、输出性等特点,因而正确,而解决某类问题的算法不一定唯一,从而错答案C规律方法算法实际上是解决问题的一种程序性方法,它通常解决某一个或一类问题,在用算法解决问题时,显然体现了特殊与一般的数学思想,下列对算
6、法的理解不正确的是 ()A一个算法应包含有限的步骤,而不能是无限的B算法中的每一步骤都应当是确定的,而不应当是含糊 的、模棱两可的C算法中的每一步骤都应当有效地执行,并得到确定的 结果D一个问题只能设计出一种算法解析A中,算法的有限性指包含的步骤是有限的,故A正确;B中,算法的确定性是指每一步都是确定的,故B正确;C中,算法的每一步都是确定的,且每一步都应有确定的结果,故C正确;D中,对于同一个问题可以有不同的算法,故D错误答案D,【变式1】,写出求二次函数y2x24x1的最值的算法思路探索 欲求二次函数最值的算法,必须明确什么是二次函数的最值,可以结合最值的公式求解解算法如下:,题型二直接应
7、用数学公式的算法,【例2】,规律方法(1)设计此类算法的步骤:弄清这个算法要解决的问题是什么,需要用到哪些公式明确公式中需要哪些量,题目中已知什么量,还需知道哪些中间量优先解决中间量套用公式,并用简洁的语言描述出来(2)注意事项:在设计算法时,只要有公式,则直接利用公式解决问题是最理想、方便的,求两底半径分别为2和4,高为4的圆台的表面积,写出该问题的算法解算法如下:第一步,令r12,r24,h4(如图所示),【变式2】,给出求12345的一个算法思路探索 本题可逐项相加,还可以直接利用计算公式解法一第一步,计算12,得3.第二步,将第一步中运算结果3与3相加,得6.第三步,将第二步中运算结果
8、6与4相加,得10.第四步,将第三步的运算结果10与5相加,得15.第五步,输出结果法二第一步,取n5.,题型三累加、累乘问题的算法,【例3】,规律方法解决一个问题的算法一般不是唯一的,不同的算法有优劣之别,保证得到正确的结果是对每个算法的最基本的要求另外,还要求算法的每个步骤都要易于实现、易于理解,效率要高,通用性要好等,求1357911的值,写出其算法解算法如下:第一步,先求13,得到结果3.第二步,将第一步所得结果3再乘以5,得到结果15.第三步,再将15乘以7,得到结果105.第四步,再将105乘以9,得到945.第五步,再将945乘以11,得到10 395,即是最后结果,【变式3】,
9、审题指导 可利用加减消元法求解,也可利用代入消元法求解规范解答 法一第一步:2,得到5x144.第二步:解方程,可得x2. (4分)第三步:将代入,可得2y2.第四步:解得y4. (8分),题型四算法的应用,【例4】,法二第一步:由式移项可以得到x2y.(4分)第二步:把代入,得y4.(8分)第三步:把代入,得x2.(10分),【题后反思】 通过求解二元一次方程组可知,求解某个问题的算法不一定唯一,对于具体的实例可以选择合适的算法,尽量做到“省时省力”,使所用算法为最优算法,【变式4】,解算法如下:第一步,输入x.第二步,若x0,则令yx1后执行第五步,否则执行第三步第三步,若x0,则令y0后
10、执行第五步,否则执行第四步第四步,令yx1.第五步,输出y的值,设计一个算法求a1,a2,a3,a4,a5五个不同实数中最小的数错解 第一步,比较a1,a2的大小,若a1a2,则令ma1;若a2a1,则令ma2.第二步,比较m,a3的大小,若a3m,则令ma3;否则m值不变第四步,比较m,a5的大小,若a5m,则令ma5;否则m值不变第五步,输出m.,误区警示算法中出现了省略号“”而致错,【示例】,省略号“”表达的步骤不明确,不符合算法的确定性正解 第一步,比较a1,a2的大小,若a1a2,则令ma1;若a2a1,则令ma2.第二步,比较m,a3的大小,若a3m,则令ma3;否则m值不变第三步,比较m,a4的大小,若a4m,则令ma4;否则m值不变第四步,比较m,a5的大小,若a5m,则令ma5;否则m值不变第五步,输出m.,书写算法时,要注意算法的特征,步骤要明确,省略号、“同理”“类似地”等所代表的部分是无法执行的,单击此处进入 活页规范训练,