1、1.1.1 算法的概念,第一章 1.1 算法与程序框图,学习目标 1.了解算法的含义和特征. 2.会用自然语言描述简单的具体问题的算法.,问题导学,达标检测,题型探究,内容索引,问题导学,知识点一 算法的概念,思考 解决一个问题的算法是唯一的吗? 答案 不唯一.如解二元一次方程组的算法有加减消元法和代入消元法两种,但不同的算法有优劣之分.,梳理 算法的概念,算术运算,一定规则,明确,有限,计算机程序,算法的五个特征 (1)有限性:一个算法的步骤是 的,它应在有限步操作之后停止. (2)确定性:算法中的每一步应该是 的,并且能有效地执行且得到确定的结果,而不是模棱两可的. (3)逻辑性:算法从初
2、始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,只有完成前一步,才能进行下一步,而且每一步都是正确无误的,从而组成具有很强逻辑性的 .,知识点二 算法的特征,有限,确定,步骤序列,(4)普遍性:一个确定的算法,应该能够解决一类问题. (5)不唯一性:求解某一个问题的算法不一定只有唯一的一个,也可以有不同的算法. 特别提醒:判断一个问题是不是算法,关键是明确算法的含义及算法的特征.,知识点三 算法的设计,思考 自然语言是唯一描述算法的语言吗? 答案 不是.描述算法可以有不同的方式,常用的有自然语言、框图(流程图)、程序设计语言等.,梳理 (1)设计算法的目的 设计算法的目的实际上是寻求一
3、类问题的解决方法,它可以通过计算机来完成.设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能够接受的“语言”准确地描述出来,从而达到让计算机执行的目的. (2)设计算法的要求 写出的算法必须能解决一类问题. 要使算法尽量简单、步骤尽量少. 要保证算法步骤有效,且计算机能够执行.,思考辨析 判断正误 1.算法是解决一个问题的方法.( ) 2.一个算法可以产生不确定的结果.( ) 3.算法的步骤必须是明确的、有限的.( ),题型探究,例1 下列关于算法的说法,正确的个数有 求解某一类问题的算法是唯一的; 算法必须在有限步操作之后停止; 算法的每一步操作必须是明确的,不能有歧义或模糊; 算
4、法执行后一定产生确定的结果. A.1 B.2 C.3 D.4 解析 由于算法具有有限性、确定性等特点,因而正确,而解决某类问题的算法不一定唯一,从而错.,类型一 算法概念的理解,答案,解析,反思与感悟 算法实际上是解决问题的一种程序性方法,它通常用来解决某一个或某一类问题,在用算法解决问题时,体现了特殊与一般的数学思想.,跟踪训练1 下列说法中是算法的有_.(填序号) 从上海到拉萨旅游,先坐飞机,再坐客车; 解一元一次不等式的步骤是去分母、去括号、移项、合并同类项,系数化为1; 求以A(1,1),B(1,2)两点为端点的线段AB的中垂线方程,可先求出AB的中点坐标,再求kAB及中垂线的斜率,最
5、后用点斜式方程求得线段AB的中垂线方程; 求1234的值,先计算122,再计算236,6424,得最终结果为24; 2x4.,答案,解析,解析 说明了从上海到拉萨的行程安排; 给出了解一元一次不等式这类问题的解法; 给出了求线段的中垂线的方法及步骤; 给出了求1234的值的过程并得出结果. 故都是算法.,类型二 算法的阅读理解,例2 下面算法要解决的问题是_. 第一步,输入三个数,并分别用a,b,c表示. 第二步,比较a与b的大小,如果ab,则交换a与b的值. 第三步,比较a与c的大小,如果ac,则交换a与c的值. 第四步,比较b与c的大小,如果bb. 第三步运行后ac. 第四步运行后bc,所
6、以abc. 第五步运行后,显示a,b,c的值,且从大到小排列.,反思与感悟 一个算法的作用往往并不显而易见,这需要我们结合具体数值去执行一下才知道.,答案,跟踪训练2 下面给出了一个问题的算法: 第一步,输入a. 第二步,若a3,则执行第三步,否则执行第四步. 第三步,输出a5. 第四步,输出3a4.这个算法解决的问题是_.,当xa时的函数值f(a),命题角度1 直接应用数学公式设计算法 例3 有一个底面半径为3,母线为5的圆锥,写出求该圆锥体积的算法.,类型三 算法的设计与应用,解答,解 如图,先给r,l赋值,计算h,,第一步,令r3,l5.,第四步,输出运算结果.,反思与感悟 利用公式解决
7、问题时,必须先求出公式中的各个量,在设计算法时,应优先考虑未知量的求法.,跟踪训练3 已知一个等边三角形的周长为a,求这个三角形的面积.设计一个算法解决这个问题.,解 第一步,输入a的值.,第四步,输出S的值.,解答,命题角度2 非数值性问题的算法 例4 所谓正整数p为素数是指:p的所有约数只有1和p.例如,35不是素数,因为35的约数除了1,35外,还有5与7;29是素数,因为29的约数就只有1和29.试设计一个能够判断一个任意正整数n(n1)是否为素数的算法.,解答,解 算法如下: 第一步,给出任意一个正整数n(n1). 第二步,若n2,则输出“2是素数”,判断结束. 第三步,令m1. 第
8、四步,将m的值增加1,仍用m表示. 第五步,如果mn,则输出“n是素数”,判断结束. 第六步,判断m能否整除n, 如果能整除,则输出“n不是素数”,判断结束; 如果不能整除,则转第四步.,反思与感悟 设计一个具体问题的算法,通常按以下步骤 (1)认真分析问题,找出解决该问题的一般数学方法. (2)借助有关变量或参数对算法加以表述. (3)将解决问题的过程划分为若干步骤. (4)用简练的语言将这个步骤表示出来.,跟踪训练4 判断一个大于2的整数是否为质数的算法步骤如何设计? 解 第一步,给定大于2的整数n. 第二步,令i2. 第三步,用i除n,得到余数r. 第四步,判断“r0”是否成立. 若是,
9、则n不是质数,结束算法; 否则,将i的值增加1,仍用i表示. 第五步,判断“i(n1)”是否成立. 若是,则n是质数,结束算法; 否则,返回第三步.,解答,达标检测,答案,解析,1.下列关于算法的说法正确的是 A.一个算法的步骤是可逆的 B.描述算法可以有不同的方式 C.算法可以看成是按照要求设计好的、有限的、确切的计算序列,并且这样的步骤或序列只能解决当前问题 D.算法只能用一种方式显示 解析 由算法的定义知A,C,D错.,1,2,3,4,5,答案,解析,2.计算下列各式中S的值,能设计算法求解的是,A. B. C. D.,解析 由算法的有限性知不能设计算法求解,都能通过有限步输出确定结果.
10、,1,2,3,4,5,答案,解析,3.已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:,解析 算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算.,(2)输入直角三角形两直角边长a,b的值; (3)输出斜边长c的值. 其中正确的顺序是_.,(2)(1)(3),1,2,3,4,5,答案,解析,4.下面是解决一个问题的算法: 第一步:输入x. 第二步:若x4,转到第三步;否则转到第四步. 第三步:输出2x1. 第四步:输出x22x3. 当输入x的值为_时,输出的数值最小值为_.,1,2,1,2,3,4,5,当x4时,f(x)2x12417; 当x4时,f(x)x22x3(x1)222,所以f(x)min2, 此时x1. 即输入x的值为1时,输出的数值最小,最小值为2.,1,2,3,4,5,解答,解 第一步,2得7x1. ,第三步,32得7y5. ,1,2,3,4,5,1.算法的特点:有限性、确定性、逻辑性、普遍性、不唯一性. 2.算法设计的要求: (1)写出的算法必须能够解决一类问题(如判断一个整数是否为质数,求任意一个方程的近似解等),并且能够重复使用. (2)要使算法尽量简单,步骤尽量少. (3)要保证算法正确,且算法步骤能够一步一步执行,每步执行的操作必须确切,不能含混不清,而且在有限步后能得到结果.,规律与方法,