1、1.1 算法与程序框图1.1.1 算法的概念学习目标:1.通过回顾解二元一次方程组的方法,了解算法的思想(重点)2.了解算法的含义和特征(重点)3.算法特征的使用,及算法的设计(难点)自 主 预 习探 新 知一、算法的概念算法的概念由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题描述算法的方式可以用自然语言和数学语言加以叙述,也可以借助形式语言(算法语言)给出精确的说明,也可以用框图直观地显示算法的全貌思考:某笑话有这样一个问题:把大象装进冰箱总共分几步?答案是分三步第一步:把冰箱门打开;第二步:把大象装进去;
2、第三步:把冰箱门关上这是一个算法吗?提示 符合算法概念,是算法二、算法的要求1写出的算法,必须能解决一类问题并且能重复使用2算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且经过有限步后能得出结果思考:根据算法的要求,你能简要地概括一下算法有哪些特征吗?提示 有限性、确定性、逻辑性、普遍性、不唯一性基础自测1思考辨析(1)一个算法可解决某一类问题( )(2)算法的步骤是有限的,有些步骤可有可无( )(3)同一个问题可以有不同的算法( )解析 (1) 根据算法的概念可知(2) 算法的步骤是有限的,也是明确的,不能可有可无(3) 例如二元一次方程组的算法,可用“加减消元法”,
3、也可用“代入消元法”答案 (1) (2) (3)2下列可以看成算法的是( )A学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做作业,之后做适当的练习题B今天餐厅的饭真好吃C这道数学题很难做D方程 2x2 x10 无实数根A A 是学习数学的一个步骤,所以是算法3算法的有限性是指( )A算法必须包含输出B算法中每个操作步骤都是可执行的C算法的步骤必须有限D以上说法均不正确答案 C4以下有六个步骤:拨号;等拨号音;提起话筒(或免提功能);开始通话或挂机(线路不通) ;等复话方信号;结束通话写出一个打本地电话的算法_(只写序号) 结合打电话的流程,顺序应为.合 作 探 究攻 重 难算法的
4、概念(1)下列描述不能看作算法的是( )A解一元一次方程的步骤是去分母,去括号,移项,合并同类项,系数化为 1B洗衣机的使用说明书C解方程 2x2x 10D利用公式 Sr 2 计算半径为 4 的圆的面积,就是计算 42(2)下列关于算法的说法:求解某一类问题的算法是唯一的;算法的每一步操作必须是明确的,不能有歧义或模糊;算法执行后一定产生明确的结果其中正确的个数有( )A1 个 B2 个 C3 个 D0 个(1)C (2) B (1)A,B,D 都描述了解决问题的过程,可以看作算法, 而 C 只描述了一个事实,没说明怎么解决问题,不是算法(2)根据算法的特征可以知道,算法要有明确的开始与结束,
5、每一步操作都必须是明确而有效的,必须在有限步内得到明确的结果,所以正确而解决某一类问题的算法不一定是唯一的,故错误规律方法 1算法实际上是解决问题的一种程序性方法,它通常解决某一个或一类问题,在用算法解决问题时,显然体现了特殊与一般的数学思想2算法的特点有:有限性, 确定性,顺序性和正确性,不唯一性,普遍性解答有关算法的概念判断题应根据算法的这五大特点进行判断跟踪训练1下列叙述中,植树需要运苗、挖坑、栽苗、浇水这些步骤;按顺序进行下列运算:112,213,314,991100;从青岛乘动车到济南,再从济南乘飞机到南京;3xx1;求所有能被 3 整除的正数,即 3,6,9,12,.能称为算法的有
6、_(填序号) 根据算法的含义和特征:都是算法;不是算法其中,3xx 1 不是一个明确的步骤,不符合确定性; 的步骤是无穷的,与算法的有限性矛盾算法的设计探究问题1算法与一般意义上具体问题的解法的区别与联系是什么?提示 它们之间是一般与特殊的关系,要设计出解决某一类问题的算法,可以借助于此类问题中的某一个问题的解决过程和思路进行设计,且此类问题中的任何一个具体问题都可以利用这类问题的算法来解决2任何问题都可以设计算法解决吗?提示 不是只有能按照一定规则解决的、明确的、有限的操作步骤的问题才可以设计算法来解决3一个具体问题的算法是不是唯一的?如何评价一个算法的好坏?提示 解决一个问题的算法可以有多
7、个,其中结构简单,步骤少、速度快的算法是好算法设计一个算法,判断大于 2 的整数是否为质数思路探究 由于大于 2 的整数有无数个,但对于每一个数的判断方法是相同的,故应设计一个可以循环的步骤解 S1 给定一个大于 2 的整数 n.S2 令 i2.S3 用 i 除 n,得到余数 r.S4 判断“r0”是否成立若是,则 n 不是质数,结束算法;否则,将 i 的值增加 1,仍用 i 表示S5 判断“in1”是否成立若是,则 n 是质数,结束算法;否则,返回 S3.规律方法 设计一个具体问题的算法,通常按以下步骤:1认真分析问题,找出解决此题的一般数学方法;2借助有关变量或参数对算法加以表述;3将解决
8、问题的过程划分为若干步骤;4用简练的语言将这个步骤表示出来.跟踪训练2两个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡一个大人或两个小孩,他们四人都会划船,但都不会游泳同学们现在想一想,他们怎样渡过河去?请写一写你的渡河方案解 因为一次只能渡过一个大人,而船还要回来渡其他 人,所以只能让两个小孩先过河,渡河的方法与步骤为:第一步,两个小孩子同船渡过河;第二步,一个小孩划船回来;第三步,一个大人独自划船渡过河;第四步,对岸的小孩划船回来;第五步,两个小孩再同船划船渡过河去;第六步,一个小孩划船回来;第七步,余下的一个大人独自划船渡过河;第八步,对岸的小孩划船回来;第九步,两个小孩再同船划
9、船渡过河去算法的应用下面给出一个问题的算法:第一步,输入 x.第二步,若 x4,则输出 2x1,算法结束;否则执行第三步第三步,输出 x23x 5.(1)这个算法解决的问题是什么?(2)当输入 x 的值为 1 时,输出的结果为多少?解 (1)这个算法是求分段函数 f(x)Error!的函数值(2)x14,则 f(1)1 23153.故当 x 输入 1 时,输出的结果为 3.规律方法 给出一个算法,其功能往往并不显而易见,这时我们可以结合具体数值去执行一下,进而总结其算法功能,还可以用此算法解决同类问题.跟踪训练3下面算法要解决的问题是_S1 输入三个数,并分别用 a、b、c 表示S2 比较 a
10、 与 b 的大小,如果 ab.第三步运行后 ac.第四步运行后 bc,所以 abc.第五步运行后,显示 a、b、c 的值,且从大到小排列当 堂 达 标固 双 基1算法的每一步都应该是确定的、能有效执行的,并且得到确定的结果,这里指算法的( )A有穷性 B确定性C逻辑性 D不唯一性B 算法的过程和每一步的结果都是确定的,即确定性2结合下面的算法:S1 输入 x.S2 判断 x 是否小于 0.若是,则输出 x2,否则执行第三步S3 输出 x1.当输入的 x 的值为 1,0,1 时,输出的结果分别为( )A1,0,1 B1,1,0C1, 1,0 D0,1,1C 根据 x 值与 0 的关系,选择执行不
11、同的步骤当 x1 时,输出 x2,即输出 1;当 x0 时,输出 x1,即输出1;当 x1 时,输出 x1,即输出0.3输入一个 x 值,利用 y| x1| 求函数值的算法如下,请将所缺部分补充完整:S1 输入 x;S2 _ ;S3 计算 yx 1;S4 输出 y.当 x1 时,计算 yx1,否则执行 S3 含绝对值的函数的函数值的算法要注意分类讨论思想的应用,本题中当 x1 时 yx1;当 x1 时yx1,由此可完善算法 4已知长方体的长、宽、高分别为 a、b、c,写出求对角线长 l 的算法如下:S1 输入长、宽、高即 a,b,c 的值S2 计算 l 的值a2 b2 c2S3 _.将算法补充完整,横线处应填_输出对角线长 l 的值 算法要有输出,故第三步应为输出结果 l 的值5设计一个算法,求表面积为 16 的球的体积解 法一: S1 取 S16.S2 计算 R (由于 S 4R2)S4S3 计算 V R3.43S4 输出运算结果法二:S1 取 S16.S2 计算 V 3.43( S4)S3 输出运算结果