1、1.1 算法与程序框图1.1.1 算法的概念登高揽胜 拓界展怀课前自主学习学 习 目 标1正确理解算法的概念,掌握算法的基本特点2通过例题学习,使学生体会设计算法的基本思路3通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣自主导学知识点|算法的概念 阅读教材 P2P5 的内容,完成下列问题1算法的概念 12 世纪的算法指的是用阿拉伯数字进行 1 _的过程数学中的算法通常是指按照 2 _解决某一类问题的 3_和 4 _的步骤算术运算一定规则明确有限2算法的特点(1)有限性:一个算法的步骤是有限的,必须在有限步操作之后停止,不能是无限的(2)确定性:算法中的每一步应该是确定的,并
2、且能有效地执行且能得到确定的结果,而不应当是模棱两可的(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题(4)不唯一性:求解某一个问题的解法不一定是唯一的,所以解决一个问题可以有不同的算法(5)普遍性:很多具体的问题,都可以设计合理的算法去解决3学习算法的意义计算机解决任何问题都要依赖于 5 _,只有将解决 问 题 的 过 程 分 解 为 若 干 个 6 _,即 7_,并用计算机能够接受的“8 _”准确地描述出来,计算机才能够解决问题同时,算法也充实着我们的生
3、活,生活中的许多实例也需要算法来完成,它们都是算法的体现算法使许多问题简单化、规范化算法明确的步骤算法语言思考探究|辨别正误|(1)算法就是某个问题的解决过程()(2)算法执行后可以不产生确定的结果()(3)解决某类问题的算法是唯一的()提示:算法是某一类问题的解决步骤,不是某个问题的解决过程,它的每一步是确定的,产生的结果也是确定的答案:(1)(2)(3)小试身手1下列语句能称为算法的是()拨打本地电话的过程为:a.提起话筒;b.拨号;c.等通话信号;d.开始通话;e.结束通话利用公式 VSh,计算底面积为 3,高为 4 的三棱柱的体积x22x30.求所有能被 3 整除的正数,即 3,6,9
4、,12,.A BC D解析:选 A 算法通常是指按照一定规则解决某一类问题的明确和有限的步骤各表达了一种算法;只是一个数学问题,不是明确的步骤;中步骤是无穷的,与算法步骤的有限性矛盾2已知直角三角形的两直角边长分别为 a,b,设计计算三角形周长的算法如下:第一步,输入 a,b.第二步,计算 c a2b2.第三步,计算_第四步,输出 L.将算法补充完整,横线处应填_解析:根据“已知两直角边长分别为 a,b,设计计算三角形周长”的要求,可知三角形的周长 Labc.答案:Labc3下面给出了解决问题的算法:第一步,输入 x.第二步,若 x1,则 y2x1,否则 yx23.第三步,输出 y.(1)这个
5、算法解决的问题是_(2)当输入的 x 值为_时,输入值与输出值相等答案:(1)求分段函数 y2x1,x1,x23,x1的函数值(2)1剖析题型 总结归纳课堂互动探究题型一 算法的含义【例 1】下列关于算法的说法正确的有()求解某一类问题的算法是唯一的;算法必须在有限操作之后停止;算法的每一步操作必须是明确的,不能有歧义或模糊;算法执行后一定产生明确的结果A1 个 B2 个C3 个D4 个解析 算法具有不唯一性,故不正确;由算法的概念易判断正确故选 C.答案 C方 法 总 结(1)明确算法的含义及算法的五个特征(2)判断一个问题是否有算法,关键看是否有解决某一类问题的程序或步骤,这些程序或步骤必
6、须是明确和有效的,而且能够在有限步骤之内完成(3)算法实际上是一种程序方法,在利用算法解决问题时,体现了特殊与一般的数学思想.1下列运算不属于我们所讨论算法范畴的是()A已知圆的半径求圆的面积B随意抽 4 张扑克牌算到二十四点的可能性C已知坐标平面内两点求直线方程D加减乘除运算法则解析:选 B 选项 A、C、D 都能写出明确和有限步骤,且执行后都能得到正确的结果;选项 B 虽说能算出全部情况,但不能写出准确的步骤,不属于算法范畴,故选 B.2给出下列语句王明同学去餐厅吃饭,吃了一份菜,一碗米饭;做米饭需要刷锅、淘米、加热这些步骤;电冰箱的使用说明书;解方程组xy1,xy2;求过 A(1,2),
7、B(1,3)两点的直线方程可以先求 AB 的斜率,再利用点斜式方程求得其中可以看成算法的是_解析:不是王明同学去餐厅吃饭的步骤,只说明他吃了多少东西,不是算法;描述了一个事实,没有说明怎么解决问题,不是算法;都描述了解决问题的过程,可以看作是算法答案:题型二 数值性问题的算法设计 一题多解【例 2】写出解方程 x22x30 的一个算法解 解法一:第一步,移项得 x22x3.第二步,式两边同时加 1,并配方得(x1)24.第三步,式两边开方,得 x12.第四步,解得 x13,x21.解法二:第一步,计算方程的判别式并判断其符号,即(2)24(3)160.第二步,将 a1,b2,c3 代入求根公式
8、x1,2b b24ac2a,得 x13,x21.探究 将本例中的方程换为 ax2bxc0(a0)时,求根的算法又如何写?解:第一步,计算 b24ac.第二步,若 0,则执行第三步,否则执行第四步第三步,输出方程无实根第四步,计算并输出方程根 x1,2b b24ac2a.方 法 总 结与解方程有关问题的算法设计过程设计算法时,经常遇到解方程(组)的算法问题,一般是按照数学上解方程(组)的方法进行设计,但应注意全面考虑方程解的情况,即先确定方程(组)是否有解,有解时有几个(组)解,然后依求解过程设计算法步骤.3已知函数 y2x1,x1,log3x1,1x2,x4,x2,试设计一个算法,输入 x 的
9、值,求对应的函数值解:算法如下:第一步,输入 x.第二步,当 x1 时,计算 y2x1,否则执行第三步第三步,当 x2 时,计算 ylog3(x1),否则执行第四步第四步,计算 yx4.第五步,输出 y.4已知球的表面积为 16,写出求球的体积的一个算法解:第一步,取 S16.第二步,计算 RS4(由于 S4R2)第三步,计算 V43R3.第四步,输出运算结果题型三 非数值性问题的算法设计 一题多解【例 3】一位商人有 9 枚银元,其中有 1 枚略轻的是假银元,你能用天平(无砝码)将假银元找出来吗?解 解法一:算法如下:第一步,任取 2 枚银元分别放在天平的两边,若天平左、右不平衡,则轻的一枚
10、就是假银元,若天平平衡,则进行第二步第二步,取下右边的银元放在一边,然后把剩下的 7 枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元解法二:算法如下:第一步,把 9 枚银元平均分成 3 组,每组 3 枚第二步,先将其中两组放在天平的两边,若天平不平衡,则假银元就在轻的那一组;否则假银元在未称量的那一组第三步,取出含假银元的那一组,从中任取 2 枚银元放在天平左、右两边称量,若天平不平衡,则假银元在轻的那一边;若天平平衡,则未称量的那一枚是假银元.方 法 总 结非数值性问题的算法设计过程对于非数值性问题,应当首先建立过程模型,根据过程设计步骤,完成算法,在设计算法时应简洁、清
11、晰,要善于分析任何可能出现的情况以体现思维的严谨性.5早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、泡面(3 min)、吃饭(10 min)、听广播(8 min)几个过程则下列选项中最好的一种算法是()A第一步,洗脸刷牙;第二步,刷水壶;第三步,烧水;第四步,泡面;第五步,吃饭;第六步,听广播B第一步,刷水壶;第二步,烧水同时洗脸刷牙;第三步,泡面;第四步,吃饭;第五步,听广播C第一步,刷水壶;第二步,烧水同时洗脸刷牙;第三步,泡面;第四步,吃饭同时听广播D第一步,吃饭同时听广播;第二步,泡面;第三步,烧水同时洗脸刷牙;第四步,刷水壶解析:选 C 因为
12、A 选项共用时间 36 min,B 选项共用时间 31 min,C 选项共用时间 23 min,D 选项的算法步骤不符合常理6从古印度的汉诺塔传说中演变了一个汉诺塔游戏:(1)有三根杆子,A,B,C,A 杆上有三个碟子(大小不等,自上到下,由小到大),如图;(2)每次移动一个碟子,小的只能叠在大的上面;(3)把所有碟子从 A 杆移到 C 杆上试设计一个算法,完成上述游戏解:第一步,将 A 杆最上面碟子移到 C 杆第二步,将 A 杆最上面碟子移到 B 杆第三步,将 C 杆上的碟子移到 B 杆第四步,将 A 杆上的碟子移到 C 杆第五步,将 B 杆最上面碟子移到 A 杆第六步,将 B 杆上的碟子移
13、到 C 杆第七步,将 A 杆上的碟子移到 C 杆知识归纳 自我测评堂内归纳提升1明析 1 组区别与联系算法与数学问题解法的联系与区别(1)联系:算法与解法是一般与特殊的关系,也是抽象与具体的关系(2)区别:算法是解决某一类问题所需要的程序和步骤的统称,也可理解为数学中的“通法通解”;而解法是解决某一个具体问题的过程和步骤,是具体的解题过程2关注 7 个易错点书写算法应注意的几个问题(1)要保证算法正确,符合运算规则,且计算机能够执行例如:对于计算类问题的算法设计,需确保每个计算公式都是正确的(2)每一个步骤都有一个明确的计算任务(3)对重复操作步骤作返回处理(4)要使算法尽量简单、步骤尽量少,
14、每一步骤的语言描述要准确、简明(5)算法并不一定是唯一的,例如:对于某些计算类问题的算法设计,有时可能会有多种计算方法(6)写出的算法,必须能解决一类问题(如:判断一个整数 n(n1)是否为质数;求任意一个方程的近似解;),并且能够重复使用(7)对于非计算类问题的算法设计,关键是要将其中的逻辑关系理清楚,可以选择其中最优的、最简单的的算法自测检评 1.在用二分法求方程零点的算法中,下列说法正确的是()A这个算法可以求方程所有的零点B这个算法可以求任何方程的零点C这个算法能求方程所有的近似零点D这个算法并不一定能求方程所有的近似零点解析:选 D 二分法求方程零点的算法中,仅能求方程的一些特殊的近
15、似零点(满足函数零点存在性定理的条件),D 正确2使用配方法解方程 x24x30 的算法的正确步骤是()配方得(x2)21;移项得 x24x3;解得 x1或 x3;开方得 x21.A BCD解析:选 B 使用配方法的步骤应按移项、配方、开方、得解的顺序进行3给出下面一个算法:第一步,给出三个数 x,y,z.第二步,计算 Mxyz.第三步,计算 N13M.第四步,得出每次计算结果则上述算法是()A求和B求余数C求平均数D先求和再求平均数解析:选 D 由算法过程知,M 为三数之和,N 为这三数的平均数4下面给出一个问题的算法:第一步,输入 a.第二步,若 a4,则执行第三步;否则,执行第四步第三步
16、,输出 2a1.第四步,输出 a22a3.则这个算法解决的问题是_,当输入的 a_时,输出的数值最小解析:这个算法解决的问题是求分段函数f(x)2x1,x4,x22x3,x4 的函数值的问题当 x4 时,f(x)2x17;当 x4 时,f(x)x22x3(x1)222.所以 f(x)min2,此时 x1.所以当输入的 a 的值为 1 时,输出的数值最小答案:求分段函数 f(x)2x1,x4,x22x3,x4 的函数值 15已知一个等边三角形的周长为 a,求这个三角形的面积设计一个算法解决这个问题解:第一步,输入 a 的值第二步,计算 la3的值第三步,计算 S 34 l2 的值第四步,输出 S 的值word部分:请做:课时分层训练水平达标 提升能力点此进入该word板块