当前位置:文档之家› 第2章 1 算法的基本思想

第2章 1 算法的基本思想

§1算法的基本思想学习目标 1.通过几个具体问题的求解过程,体会算法的基本思想.2.了解算法的含义和特征.3.会用自然语言描述简单的具体问题的算法.知识点一算法的概念思考有一碗酱油,一碗醋和一个空碗.现要把两碗盛的物品交换一下,试用自然语言表述你的操作方法.答案先把醋倒入空碗,再把酱油倒入原来盛醋的碗,最后把倒入空碗中的醋倒入原来盛酱油的碗,就完成了交换.梳理一般地,算法是解决某类问题的一系列步骤或程序,只要按照这些步骤执行,都能使问题得到解决.一般来说,“用算法解决问题”都是可以利用计算机帮助完成的.同一个问题可能存在多种算法,一个算法也可以解决某一类问题.知识点二算法的特点思考设想一下电脑程序需要计算无限多步,会怎么样?答案若有无限步,必将陷入死循环,解决不了问题.故算法必须在有限步内解决问题.梳理算法的特点(1)有限性一个算法应包括有限的操作步骤,能在执行有限的操作步骤之后结束.(2)确定性算法的计算规则及相应的计算步骤必须是唯一确定的.(3)可行性算法中的每一个步骤都是可以在有限的时间内完成的基本操作,并能得到确定的结果.1.算法是解决一个问题的方法.( × )2.一个算法可以产生不确定的结果.( × )3.算法的步骤必须是明确的、有限的.( √ )类型一 算法的概念例1 (1)下列对算法的理解正确的是________.(填上所有正确说法的序号)①算法有一个共同特点就是对一类问题都有效(而不是个别问题);②算法要求是一步步执行,每一步都能得到唯一的结果;③算法一般是机械的,有时要进行大量重复计算,它的优点是一种通法;④任何问题都可以用算法来解决.答案 ①②③解析 由于算法要求必须在有限步骤内求解某类问题,所以并不是任何问题都可以用算法解决,例如求1+12+13+14+ (1)+…,故④不正确. (2)给出下列叙述:①发电子邮件:先打开电子信箱,点击写邮件,输入发送地址,输入信件内容,然后点击发送;②解一元二次方程的步骤是去分母、去括号、移项、合并同类项,求解;③方程x 2-1=0有两个根;④求1+2+3+4的值,先算1+2=3,再计算3+3=6,6+4=10,最终结果为10. 其中是算法的是________.(写出所有是算法的序号)答案 ①②④解析 算法强调的是解决一类问题的方法和步骤,③只陈述了有两个根的事实,没有解决如何求两个根的问题,所以不能看成算法.反思与感悟 判断算法的关注点(1)明确算法的含义及算法的特征.(2)判断一个问题是否有算法,关键看是否有解决某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步骤之内完成.(3)算法实际上是一种程序方法,在利用算法解决问题时,体现了特殊与一般的数学思想.跟踪训练1给出以下叙述:①过河要走桥;②老师提问说不会;③做米饭需刷锅、淘米、添水、加热这些步骤;④学习要预习、听讲、质疑、练习巩固等步骤.其中能称为算法的是()A.①②B.②③C.③④D.①④答案 C解析①②不能称为算法,根据算法的含义知③④正确.类型二算法设计例2设计一个算法,求840与1 764的最大公因数.解算法步骤如下:1.先将840进行素因数分解:840=23×3×5×7;2.然后将1 764进行素因数分解:1 764=22×32×72;3.确定它们的公共素因数:2,3,7;4.确定公共素因数的指数:公共素因数2,3,7的指数分别为2,1,1;5.最大公因数为22×31×71=84.反思与感悟设计一个具体问题的算法,通常按以下步骤:(1)认真分析问题,找出解决此题的一般数学方法.(2)借助有关变量或参数对算法加以表述.(3)将解决问题的过程划分为若干步骤.(4)用简练的语言将这个步骤表示出来.跟踪训练2设计一个算法,求98与63的最大公因数.解算法步骤如下:1.先将98进行素因数分解:98=2×72;2.然后将63进行素因数分解:63=32×7;3.确定它们的公共素因数:7;4.确定公共素因数的指数:公共素因数的指数是1;5.最大公因数为7.类型三 选择性执行问题的算法例3 某铁路部门规定甲、乙两地之间旅客托运行李的费用c =⎩⎪⎨⎪⎧0.53×ω,ω≤50,50×0.53+(ω-50)×0.85,ω>50,其中ω(单位:kg)为行李的质量, 如何设计计算托运费用c (单位:元)的算法.解 算法步骤如下:1.输入行李的质量ω;2.如果ω≤50,则令c =0.53×ω后执行第4步,否则执行第3步;3.c =50×0.53+(ω-50)×0.85;4.输出托运费用c .反思与感悟 解决选择性问题的算法的步骤(1)输入自变量的值;(2)对自变量的范围进行判断,选择对应的解析式,求函数值;(3)输出函数值.跟踪训练3 已知函数y =⎩⎪⎨⎪⎧ -x +1,x >0,0,x =0,x +1,x <0,写出给定自变量x 求函数值的一个算法.解 算法步骤如下:1.输入x ;2.若x >0,则令y =-x +1后执行第5步,否则执行第3步;3.若x =0,则令y =0后执行第5步,否则执行第4步;4.令y =x +1;5.输出y 的值.1.下列关于算法的说法,正确的个数为( )①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后一定产生确定的结果.A .1B .2C .3D .4答案 C解析 由于算法具有有穷性、确定性、输出性等特点,所以②③④正确,而解决某类问题的算法不一定唯一,所以①错误.2.下列四种自然语言叙述中,能称为算法的是( )A .在家里一般是妈妈做饭B .买衣服需要选衣服、试衣服、试衣服、付款这些步骤C .在野外做饭叫野炊D .做饭必须要有米答案 B解析 算法是做一件事情或解决一个问题等的程序或步骤,故选B.3.已知一个算法:(1)给出三个数x ,y ,z ;(2)计算M =x +y +z ;(3)计算N =13M ; (4)得出每次计算的结果.则上述算法是( )A .求和B .求余数C .求平均数D .先求和再求平均数答案 D解析 由算法过程可知,M 为三数之和,N 为这三数的平均数,故选D.4.看下面的四段话,其中不是解决问题的算法是________.(1)从济南到北京旅游,先坐火车,再坐飞机抵达;(2)解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1;(3)方程x 2-1=0有两个实根;(4)求1+2+3+4+5的值,先计算1+2=3,再计算3+3=6,6+4=10,10+5=15,最终结果为15.答案 (3)解析 由于(3)不是解决某一类问题的步骤,故(3)不是解决问题的算法.5.已知直角三角形两直角边长为a ,b ,求斜边长c 的一个算法分下列三步:(1)计算c=a2+b2;(2)输入直角三角形两直角边长a,b的值;(3)输出斜边长c的值.其中正确的顺序是________.答案(2)(1)(3)解析算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算.算法是建立在解法基础上的操作过程,算法不一定要有运算结果,答案可以由计算机解决,算法没有一个固定的模式,但有以下几个基本要求:(1)符合运算规则,计算机能操作;(2)每个步骤都有一个明确的计算任务;(3)对重复操作步骤返回处理;(4)步骤个数尽可能少;(5)每个步骤的语言描述要准确、简明.一、选择题1.下列可以看成算法的是()A.学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做作业,之后做适当的练习题B.今天餐厅的饭真好吃C.这道数学题难做D.方程2x2-x+1=0无实数根答案 A解析A是学习数学的一个步骤,所以是算法.2.下列关于算法的描述正确的是()A.算法与求解一个问题的方法相同B.算法只能解决一个问题,不能重复使用C.算法过程要一步一步执行,每步执行的操作必须确切D.有的算法执行完后,可能无结果答案 C解析 算法与求解一个问题的方法既有区别又有联系,故A 不对;算法能重复使用,故B 不对;每个算法执行后必须有结果,故D 不对;由算法的有序性和确定性可知C 正确.3.我们已学过的算法有求解一元二次方程的求根公式,加减消元法求二元一次方程组的解,二分法求出函数的零点等,对算法的描述有①对一类问题都有效;②算法可执行的步骤必须是有限的;③算法可以一步一步地进行,每一步都有确切的含义;④是一种通法,只要按部就班地做,总能得到结果.以上算法的描述正确的有( )A .1个B .2个C .3个D .4个 答案 D解析 由算法的概念可知①②③④都正确,故选D.4.计算下列各式中S 的值,能设计算法求解的是( )①S =12+14+18+…+12100; ②S =12+14+18+…+12100+…; ③S =12+14+18+…+12n (n ≥1且n ∈N +). A .①② B .①③ C .②③ D .①②③答案 B解析 因为算法的步骤是有限的,所以②不能设计算法求解.5.关于一元二次方程x 2-5x +6=0的求根问题,下列说法正确的是( )A .只能设计一种算法B .可以设计两种算法C .不能设计算法D .不能根据解题过程设计算法答案 B解析 算法具有不唯一性,对于一个问题,我们可以设计不同的算法.6.对于算法:(1)输入n ;(2)判断n 是否等于2,若n =2,则n 满足条件;若n >2,则执行第(3)步;(3)依次从2到(n -1)检验能不能整除n ,若不能整除n ,则执行第(4)步;若能整除n ,则执行第(1)步;(4)输出n .满足条件的n是()A.质数B.奇数C.偶数D.约数答案 A解析此题首先要理解质数,只能被1和自身整除的大于1的整数叫质数.2是最小的质数,这个算法通过对2到(n-1)一一验证,看是否有其他约数,来判断其是否为质数.7.早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、泡面(3 min)、吃饭(10 min)、听广播(8 min)几个过程.下列选项中最好的一种算法是()A.第一步,洗脸刷牙.第二步,刷水壶.第三步,烧水.第四步,泡面.第五步,吃饭.第六步,听广播B.第一步,刷水壶.第二步,烧水同时洗脸刷牙.第三步,泡面.第四步,吃饭.第五步,听广播C.第一步,刷水壶.第二步,烧水同时洗脸刷牙.第三步,泡面.第四步,吃饭同时听广播D.第一步,吃饭同时听广播.第二步,泡面.第三步,烧水同时洗脸刷牙.第四步,刷水壶考点算法的设计与应用题点应用问题的算法设计答案 C解析最好算法的标准是方便、省时、省力.A中共需5+2+8+3+10+8=36(min),B中共需2+8+3+10+8=31(min),C中共需2+8+3+10=23(min),D中共需10+3+8+2=23(min),但算法步骤不合理,最好的算法为C.8.一个算法步骤如下:(1)S取值0,i取值1.(2)若i≤9,则执行第(3)步;否则,执行第(6)步.(3)计算S+i并用结果代替S.(4)用i+2的值代替i.(5)转去执行第(2)步.(6)输出S.运行以上算法,则输出的结果S等于()A.16 B.25C.36 D.以上均不对考点 算法的设计与应用题点 循环型算法设计答案 B解析 解本题关键是读懂算法,本题中的算法功能是求S =1+3+5+7+9=25.9.结合下面的算法:(1)输入x .(2)判断x 是否小于0,若是,则输出x +2,否则执行第(3)步.(3)输出x -1.当输入的x 的值为-1,0,1时,输出的结果分别为( )A .-1,0,1B .-1,1,0C .1,-1,0D .0,-1,1考点 算法的概念题点 算法功能的判断与结果的求解答案 C解析 依据算法可知,当x =-1时,满足x <0,则输出x +2=-1+2=1;当x =0时,不满足x <0,则输出x -1=0-1=-1;当x =1时,不满足x <0,则输出x -1=1-1=0.故选C.二、填空题10.已知直角三角形两条直角边长分别为a ,b (a >b ).写出求最大锐角θ的余弦值的算法如下:(1)输入两直角边长a ,b 的值;(2)计算c =a 2+b 2的值;(3)________________;(4)输出cos θ.将算法补充完整,横线处应填____________.答案 计算cos θ=b c11.下面给出了解决问题的算法:(1)输入x ;(2)若x ≤1,则y =2x -1,否则y =x 2+3;(3)输出y .则这个算法解决的问题是________;当输入的x 值为________时,输入值与输出值相等.答案 求分段函数y =⎩⎪⎨⎪⎧2x -1,x ≤1,x 2+3,x >1的函数值 1 12.给出下列算法:(1)输入x 的值;(2)当x >4时,计算y =x +2;否则执行下一步;(3)计算y =4-x ;(4)输出y .当输入x =0时,输出y =________.答案 2解析 0<4,执行第三步,y =4-0=2.三、解答题13.某商场举办优惠促销活动.若购物金额在800元以上(不含800元),打7折;若购物金额在400元以上(不含400元),800元以下(含800元),打8折;否则,不打折.请为商场收银员设计一个算法,要求输入购物金额x ,输出实际交款额y .考点 算法的设计与应用题点 应用问题的算法设计解 算法步骤如下:1.输入购物金额x (x >0).2.判断“x >800”是否成立,若成立,则y =0.7x ,转第4步;否则,执行第3步.3.判断“x >400”是否成立,若成立,则y =0.8x ,转第4步;否则,y =x .4.输出y ,结束算法.四、探究与拓展14.如图所示,汉诺塔问题是指有3根杆子A ,B ,C ,杆子上有若干碟子,把所有的碟子从B 杆移动到A 杆上,每次只能移动一个碟子,大的碟子不能叠在小的碟子上面.把B 杆上的3个碟子全部移动到A 杆上,最少需要移动的次数是________.考点 算法的设计与应用题点 应用问题的算法设计答案 7解析 直接进行分析,将最小的碟子命名为①,中间的碟子命名为②,最大的碟子命名为③,进行如下移动:①→A ,②→C ,①→C ,③→A ,①→B ,②→A ,①→A ,此时按要求全部放好,移动7次.15.鸡兔同笼问题:鸡和兔各若干只,数腿共100条,数头共30个,试设计一个算法,求出鸡和兔各有多少只.解 算法步骤如下:1.设有x 只鸡,y 只兔,列方程组⎩⎪⎨⎪⎧ x +y =30,2x +4y =100.①② 2.②÷2+①×(-1),得y =20.3.把y =20代入x =30-y ,得x =10.4.得到方程组的解⎩⎪⎨⎪⎧ x =10,y =20.5.输出结果,鸡10只,兔20只.。

相关主题