2018北师大版高中数学必修三学案:第二章 习题课
- 格式:docx
- 大小:381.62 KB
- 文档页数:8
[学习目标] 1.通过几个具体问题的求解过程,体会算法的基本思想.2.了解算法的含义和特征.3.会用自然语言描述简单的具体问题的算法.知识点一算法的含义及特征1.算法的概念在解决某些问题时,需要设计出一系列可操作的或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法.2.算法的特征(1)有限性:一个算法的步骤序列是有限的,必须在有限的操作之后停止,不能是无限的.(2)确定性:算法中的每一步应该是确定的,并且能有效地执行且得到确定的结果,而不应当模棱两可.(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后续步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.(4)不唯一性:求解某一问题的解法不一定是唯一的,对于同一个问题可以有不同的算法.(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.3.算法与计算机计算机解决任何问题都要依赖于算法.只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.知识点二算法的设计1.设计算法的目的设计算法的目的实际上是寻求一类问题的算法,它可以通过计算机来完成.设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能够接受的“语言”准确地描述出来,从而达到让计算机执行的目的.2.设计算法的要求(1)写出的算法必须能解决一类问题.(2)要使算法尽量简单、步骤尽量少.(3)要保证算法步骤有效,且计算机能够执行.思考一次青青草原园长包包大人带着灰太狼、懒羊羊和一捆青草过河.河边只有一条船,由于船太小,只能装下两样东西.在无人看管的情况下,灰太狼要吃懒羊羊,懒羊羊要吃青草,请问包包大人如何才能带着他们平安过河?答包包大人采取的过河的算法可以是第一步,包包大人带懒羊羊过河;第二步,包包大人自己返回;第三步,包包大人带青草过河;第四步,包包大人带懒羊羊返回;第五步,包包大人带灰太狼过河;第六步,包包大人自己返回;第七步,包包大人带懒羊羊过河.题型一算法的概念例1下列关于算法的说法,正确的个数有()①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后一定产生确定的结果.A.1 B.2C.3 D.4答案 C解析由于算法具有有限性、确定性等特点,因而②③④正确,而解决某类问题的算法不一定唯一,从而①错.反思与感悟算法实际上是解决问题的一种程序性方法,它通常解决某一个或某一类问题,在用算法解决问题时,体现了特殊与一般的数学思想.跟踪训练1下列说法中是算法的有________(填序号).①从上海到拉萨旅游,先坐飞机,再坐客车;②解一元一次不等式的步骤是去分母、去括号、移项、合并同类项,系数化为1;③求以A(1,1),B(-1,-2)两点为端点的线段AB的中垂线方程,可先求出AB中点坐标,再求k AB及中垂线的斜率,最后用点斜式方程求得线段AB的中垂线方程;④求1×2×3×4的值,先计算1×2=2,再计算2×3=6,6×4=24,得最终结果为24;⑤12x>2x+4.答案①②③④解析①说明了从上海到拉萨的行程安排.②给出了解一元一次不等式这类问题的解法.③给出了求线段的中垂线的方法及步骤.④给出了求1×2×3×4的值的过程并得出结果.故①②③④都是算法.题型二算法的设计例2所谓正整数p为素数是指:p的所有约数只有1和p.例如,35不是素数,因为35的约数除了1,35外,还有5与7;29是素数,因为29的约数就只有1和29.试设计一个能够判断一个任意正整数n(n>1)是否为素数的算法.解算法如下:第一步,给出任意一个正整数n(n>1).第二步,若n=2,则输出“2是素数”,判断结束.第三步,令m=1.第四步,将m的值增加1,仍用m表示.第五步,如果m≥n,则输出“n是素数”,判断结束.第六步,判断m能否整除n,①如果能整除,则输出“n不是素数”,判断结束;②如果不能整除,则转第四步.反思与感悟设计一个具体问题的算法,通常按以下步骤:(1)认真分析问题,找出解决该问题的一般数学方法;(2)借助有关变量或参数对算法加以表述;(3)将解决问题的过程划分为若干步骤;(4)用简练的语言将这个步骤表示出来.跟踪训练2判断一个大于2的整数是否为质数的算法步骤如何设计?解第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.第五步,判断“i>n-1”是否成立.若是,则n是质数,结束算法;否则,返回第三步.题型三算法的应用例3一位商人有9枚银元,其中有1枚略轻的是假银元,你能用天平(无砝码)将假银元找出来吗?解方法一算法如下.第一步,任取2枚银元分别放在天平的两边,若天平左、右不平衡,则轻的一枚就是假银元,若天平平衡,则进行第二步.第二步,取下右边的银元放在一边,然后把剩下的7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元.方法二算法如下.第一步,把9枚银元平均分成3组,每组3枚.第二步,先将其中两组放在天平的两边,若天平不平衡,则假银元就在轻的那一组;否则假银元在未称量的那一组.第三步,取出含假银元的那一组,从中任取2枚银元放在天平左、右两边称量,若天平不平衡,则假银元在轻的那一边;若天平平衡,则未称量的那一枚是假银元.反思与感悟对于查找、变量代换、文字处理等非数值型计算问题,设计算法时,首先建立过程模型,然后根据过程设计步骤,完成算法.跟踪训练3“韩信点兵”问题:韩信是汉高祖手下的大将,他英勇善战,谋略超群,为汉朝的建立立下了不朽功勋.据说他在一次点兵的时候,为保住军事秘密,不让敌人知道自己部队的军事实力,采用下述点兵方法:①先令士兵从1~3报数,结果最后一个士兵报2;②又令士兵从1~5报数,结果最后一个士兵报3;③又令士兵从1~7报数,结果最后一个士兵报4.这样韩信很快算出自己部队里士兵的总数.请设计一个算法,求出士兵至少有多少人.解第一步,首先确定最小的满足除以3余2的正整数:2;第二步,依次加3就得到所有除以3余2的正整数:2,5,8,11,14,17,20,…第三步,在上列数中确定最小的满足除以5余3的正整数:8.第四步,然后在自然数内,在8的基础上依次加上15的倍数,得到8,23,38,53,….第五步,在上列数中确定最小的满足除以7余4的正整数应为53.对算法的含义及特征的理解例4计算下列各式中的S值,能设计算法求解的是________________.(1)S=1+2+3+ (100)(2)S=1+2+3+…+100+…;(3)S=1+2+3+…+n(n∈N*).错解算法是为解决某一类问题而设计的一系列操作或可计算的步骤,也就是说在实际的算法中的值是具体的,因此(1)正确;而(3)中的值不具体,错误;对于(2)显然不符合算法的有限性,故只有(1)正确.错解分析错识的根本原因在于对算法的理解不透彻.自我矫正算法是为解决某一类问题而设计的一系列操作或可计算的步骤,也就是说在实际的算法中n的值是具体确定的,因此(1)(3)是正确的,而算法又是具有有限性的,即执行有限步操作后一定能解决问题,而(2)显然不符合算法的有限性,所以(2)不正确.答案(1)(3)1.下列关于算法的说法中正确的是()A.算法是某个具体的解题过程B.算法执行后可以不产生确定的结果C.解决某类问题的算法不是唯一的D.算法可以无限地操作下去不停止答案 C解析算法与一般意义上具体问题的解法,既有区别,又有联系,算法的获得要借助一类问题的求解方法,而这一类具体问题都可以用这种方法来解决,因此A不对;算法中的每一步都应该是确定的,并且能有效执行,得到确定的结果,而不能含糊其辞或有歧义,所以B不正确;算法的操作步骤必须是有限的,必须在有限的步骤内完成,因此D不对;算法具有不唯一性,C正确.2.下列四种自然语言叙述中,能称为算法的是()A.在家里一般是妈妈做饭B.做米饭需要刷锅、淘米、添水、加热这些步骤C.在野外做饭叫野炊D.做饭必须要有米答案 B解析算法是做一件事情或解决一个问题等的程序或步骤,故选B.3.在用二分法求方程零点的算法中,下列说法正确的是()A .这个算法可以求所有的零点B .这个算法可以求任何方程的零点C .这个算法能求所有零点的近似解D .这个算法可以求变号零点近似解 答案 D解析 二分法的理论依据是函数的零点存在定理.它解决的是求变号零点的问题,并不能求所有零点的近似值.4.已知直角三角形两直角边长为a ,b ,求斜边长c 的一个算法分下列三步: (1)计算c =a 2+b 2;(2)输入直角三角形两直角边长a ,b 的值; (3)输出斜边长c 的值. 其中正确的顺序是________. 答案 (2)(1)(3)解析 算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算.5.下面是解决一个问题的算法: 第一步:输入x .第二步:若x ≥4,转到第三步;否则转到第四步. 第三步:输出2x -1. 第四步:输出x 2-2x +3.当输入x 的值为________时,输出的数值最小值为________. 答案 1 2解析 所给算法解决的问题是求分段函数f (x )=⎩⎪⎨⎪⎧2x -1(x ≥4),x 2-2x +3(x <4)的函数值问题,当x ≥4时,f (x )=2x -1≥2×4-1=7;当x <4时,f (x )=x 2-2x +3=(x -1)2+2≥2,所以f (x )min =2,此时x =1.即输入x 的值为1时,输出的数值最小,最小值为2.1.算法的特点:有限性、确定性、顺序性与正确性、不唯一性、普遍性. 2.算法设计的要求:(1)写出的算法必须能够解决一类问题,并且能够重复使用. (2)要使算法尽量简单,步骤尽量少.(3)要保证算法正确,且算法步骤能够一步一步执行,在有限步后能得到结果.。
学习目标 1.了解算法的含义,体会算法的思想,能够用自然语言叙述算法.2.掌握正确的算法应满足的要求.3.学会将一整数分解成素因数之积,会设计求两整数的最大公因数的算法,了解“韩信点兵”问题及二分法求方程近似解.知识点一算法的概念思考有一碗酱油,一碗醋和一个空碗.现要把两碗盛的物品交换一下,试用自然语言表述你的操作方法.梳理一般地,算法是解决某类问题的一系列____________,只要按照这些步骤执行,都能使问题得到解决.一般来说,“用算法解决问题”都是可以利用________帮助完成的.同一个问题可能存在____种算法,一个算法也可以解决某一类问题.知识点二算法的特点思考设想一下电脑程序需要计算无限多步,会怎么样?梳理一般地,算法的特点有:(1)有穷性一个算法应包括________的操作步骤,能在执行有穷的操作步骤之后________.(2)确定性算法的计算规则及相应的计算步骤必须是唯一确定的.(3)可行性算法中的每一个步骤都是可以在________的时间内完成的基本操作,并能得到________的结果.类型一生活中的算法案例例1在电视台的某个娱乐节目中,要求参与者快速猜出物品价格.主持人出示了一台价值在1 000元以内的随身听,并开始了竞猜.下面是主持人和参与者之间的一段对话:参与者:800元!主持人:高了!参与者:400元!主持人:低了!参与者:600元!主持人:低了!……试把参与者的竞猜策略概括成一系列的步骤.反思与感悟按照上述方法,继续判断,直到游戏结束.像这样的一系列步骤通常称为解决这个问题的一个算法.生活中有很多蕴含算法思想的案例.跟踪训练1一个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1个大人或两个小孩,他们三人都会划船,但都不会游泳.试问他们怎样渡过河去?请写出一个渡河方案.类型二数学中的算法思想例2设计一个算法,求840与1 764的最大公因数.反思与感悟以上这个算法的思想具有一般性,它可以帮助设计求三个或者三个以上正整数的最大公因数的算法.跟踪训练2设计一个算法,求98与63的最大公因数.例3“韩信点兵”问题韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为建立汉朝立下了汗马功劳.据说他在点兵的时候,为了保住军事机密,不让敌人知道自己部队的实力.采用下述点兵方法:先令士兵从1~3报数,结果最后一个士兵报2;再令士兵从1~5报数,结果最后一个士兵报3;又令士兵从1~7报数,结果最后一个士兵报4.这样,韩信很快就算出了自己部队士兵的总人数.请设计一个算法,求出士兵至少有多少人.反思与感悟在完成上述步骤后,就找到了所求的数53,这5个步骤称为解决“韩信点兵”问题的一个算法.跟踪训练3在例3中,我们颠倒一下3,5,7的顺序,请再设计一个算法.类型三用二分法求方程近似解例4求方程x3+x2-1=0在[0,1]上的近似解,精度为0.1.反思与感悟 二分法求方程近似解的基本思想:逐渐缩小有解区间的长度,直到满足精度的要求.虽然看似烦琐,但很适合计算机执行.跟踪训练4 用二分法设计一个求方程x 2-2=0的近似正根的算法,精度为0.05.1.下列关于算法的说法,正确的个数为( )①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后一定产生确定的结果.A .1B .2C .3D .42.已知一个算法:(1)给出三个数x 、y 、z ;(2)计算M =x +y +z ;(3)计算N =13M ; (4)得出每次计算的结果.则上述算法是( )A .求和B .求余数C.求平均数D.先求和再求平均数3.看下面的四段话,其中不是解决问题的算法是________.(1)从济南到北京旅游,先坐火车,再坐飞机抵达;(2)解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1;(3)方程x2-1=0有两个实根;(4)求1+2+3+4+5的值,先计算1+2=3,再计算3+3=6,6+4=10,10+5=15,最终结果为15.4.已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:(1)计算c=a2+b2;(2)输入直角三角形两直角边长a,b的值;(3)输出斜边长c的值.其中正确的顺序是________.算法是建立在解法基础上的操作过程,算法不一定要有运算结果,答案可以由计算机解决,算法没有一个固定的模式,但有以下几个基本要求:(1)符合运算规则,计算机能操作;(2)每个步骤都有一个明确的计算任务;(3)对重复操作步骤返回处理;(4)步骤个数尽可能少;(5)每个步骤的语言描述要准确、简明.答案精析问题导学知识点一思考先把醋倒入空碗,再把酱油倒入原来盛醋的碗,最后把倒入空碗中的醋倒入原来盛酱油的碗,就完成了交换.梳理步骤或程序计算机多知识点二思考若有无限步,必将陷入死循环,解决不了问题.故算法必须在有限步内解决问题.梳理(1)有限结束(3)有限确定题型探究例1解 1.报出首次价格T1;2.根据主持人的回答确定价格区间:(1)若报价小于商品价格,则商品的价格区间为(T1,1 000);(2)若报价大于商品价格,则商品的价格区间为(0,T1);(3)若报价等于商品价格,则游戏结束.3.如果游戏没有结束,则报出上面确定的价格区间的中点T2.跟踪训练1解 1.两个小孩同船过河去;2.一个小孩划船回来;3.一个大人划船过河去;4.对岸的小孩划船回来;5.两个小孩同船渡过河去.例2解算法步骤如下: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.跟踪训练2解算法步骤如下:1.先将98进行素因数分解:98=2×72;2.然后将63进行素因数分解:63=32×7;3.确定它们的公共素因数:7;4.确定公共素因数的指数:公共素因数的指数是1;5.最大公因数为7.例3解算法步骤如下:1.首先确定最小的满足除以3余2的正整数:2;2.依次加3就得到所有除以3余2的正整数:2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,…3.在上列数中确定最小的满足除以5余3的正整数:8;4.然后依次加上15,得到8,23,38,53,…不难看出,这些数既满足除以3余2,又满足除以5余3;5.在第4步得到的一列数中找出满足除以7余4的最小数53,这就是我们要求的数.跟踪训练3解算法步骤如下:1.首先确定最小的除以7余4的正整数:4;2.依次加7就得到所有除以7余4的正整数:4,11,18,25,32,39,46,53,60,…3.在第2步得到的一列数中确定最小的除以5余3的正整数:18;4.然后依次加上35,得到18,53,88,…5.在第4步得到的一列数中找出最小的满足除以3余2的正整数:53.例4解根据上述分析,可以通过下列步骤求得方程的近似解:设f(x)=x3+x2-1,1.因为f(0)=-1,f(1)=1,f(0)·f(1)<0,则区间[0,1]为有解区间;2.取[0,1]的区间中点0.5;3.计算f(0.5)=-0.625;4.由于f(0.5)·f(1)<0,可得新的有解区间[0.5,1],1-0.5=0.5>0.1;5.取[0.5,1]的区间中点0.75;6.计算f(0.75)=-0.015 625;7.由于f(0.75)·f(1)<0,可得新的有解区间[0.75,1],1-0.75=0.25>0.1;8.取[0.75,1]的区间中点0.875;9.计算f(0.875)=0.435 546 875;10.由于f(0.75)·f(0.875)<0,可得新的有解区间[0.75,0.875],0.875-0.75=0.125>0.1;11.取[0.75,0.875]的区间中点0.812 5;12.计算f(0.812 5)=0.196 533 203 125;13.由于f(0.75)·f(0.812 5)<0,可得新的有解区间[0.75,0.812 5],0.812 5-0.75=0.062 5<0.1. 所以,区间[0.75,0.812 5]中的任一数值,都可以作为方程的近似解.跟踪训练4解 1.因为f(1)=-1,f(2)=2,f(1)·f(2)<0,则区间[1,2]为有解区间,精度2-1=1>0.05;2.取[1,2]的中点1.5;3.计算f(1.5)=0.25;4.由于f(1)·f(1.5)<0,可得新的有解区间[1,1.5],精度1.5-1=0.5>0.05;5.取[1,1.5]的中点1.25;6.计算f(1.25)=-0.437 5;7.由于f(1.25)·f(1.5)<0,可得新的有解区间[1.25,1.5],精度1.5-1.25=0.25>0.05;…当得到新的有解区间[1.406 25,1.437 5]时,由于|1.437 5-1.406 25|=0.031 25<0.05,该区间精度已满足要求,所以取区间[1.406 25,1.437 5]的任一数值,都可以作为方程的一个近似解.当堂训练1.C 2.D 3.(3) 4.(2)(1)(3)。
学习目标.加深对算法思想的理解.加强用算法框图清晰条理地表达算法的能力.进一步体会由自然语言到算法框图再到程序的逐渐精确的过程.
.算法的概念
算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按要求设计好的、计算序列,并且这样的步骤或序列能够解决.
.算法框图
算法框图由组成,按照用将框图连接起来.结构可分为结构、结构和结构.
.算法语句
基本算法语句有语句、语句、语句、语句、语句五种,它们对应于算法的三种逻辑结构:顺序结构、选择结构、循环结构.用基本语句编写程序时要注意各种语句的,条件语句应注意与配套使用,缺一不可,而可选;循环语句应注意的准确表达以及的步长设置.
类型一算法设计
例已知平面直角坐标系中两点(-),(),写出求线段的垂直平分线方程的一个算法.
反思与感悟算法设计应注意:
()与解决问题的一般方法有联系,从中提炼出算法;
()将解决问题的过程分为若干个可执行步骤;
()引入有关的参数或变量对算法步骤加以表达;
()用最简练的语言将各个步骤表达出来;
()算法的执行要在有限步内完成.
跟踪训练某工厂年生产小轿车万辆,技术革新后预计每年的生产数量比上一年增加,问最早哪一年该厂生产的小轿车数量超过万辆?写出解决该问题的一个算法.
类型二算法框图及设计
例给出以下个数:.要求把大于的数找出来并输出.试画出该问题的算法框图.。
2.3循环结构学习目标 1.理解循环结构的概念.2.掌握循环结构的三要素:循环变量、循环体、循环的终止条件.3.能识别和理解循环结构的框图以及功能.4.能运用循环结构设计算法框图以解决简单的问题.知识点循环结构思考前面我们曾用累加法计算1+2+3+…+100的值,其中有没有重复操作的步骤?梳理1.循环结构的概念在一些算法中,经常会出现从某处开始,按照一定条件,____________某一处理步骤的情况,像这样的算法结构称为循环结构.循环体:________________________称为循环体.循环变量:________________________的变量,称为循环变量.循环的终止条件:________________________的条件,称为循环的终止条件.2.循环结构的设计过程设计循环结构之前需要确定的三件事:(1)确定循环变量和____________;(2)确定算法中____________的部分,即循环体;(3)确定循环的________条件.类型一循环结构的概念例1阅读下图所示的框图,回答下列问题:(1)变量y在这个算法中的作用是什么?(2)这个算法的循环体是哪一部分,功能是什么?(3)这个算法的处理功能是什么?反思与感悟循环结构的三要素:循环变量,循环体,循环的终止条件.跟踪训练11+2+3+…+100的算法框图如下,指出它的循环变量、初始值及循环的终止条件.类型二循环结构的设计例2设计一个计算1+3+5+…+(2n-1)(n∈N+)的值的算法,并画出算法框图.反思与感悟此例中循环变量为i,但它并不是逐次加1,而是加2,设计者可以根据需要灵活控制循环变量的变化幅度.跟踪训练2请设计一个求100个数中的最大数的算法框图.类型三循环结构的应用例3电脑游戏中,“主角”的生命机会往往被预先设定,如其枪战游戏中,“主角”被设定生命机会5次,每次生命承受射击8枪(被击中8枪则失去一次生命机会).假设射击过程均为单发发射,试将“主角”耗用生命机会的过程设计成一个算法框图.跟踪训练3在某次田径比赛中,男子100米A组有8位选手参加预赛,成绩(单位:秒)依次为:9.88,10.57,10.63,9.90,9.85,9.98,10.21,10.86.请设计一个算法,在这些成绩中找出不超过9.90秒的成绩,并画出算法框图.1.给出下面的算法框图,那么其循环体执行的次数是()A.500 B.499 C.1 000 D.9982.下面4种说法中正确的是()①任何一个算法都离不开顺序结构;②算法框图中,根据条件是否成立有不同的流向;③任何一个算法都必须同时含有三种基本结构;④循环结构中必须有选择结构,选择结构中也一定有循环结构.A.①②B.①③C.①②④D.②③3.现有欧几里得算法框图如图所示,若取A=10,B=3,则打印出的答案B为()A.2 B.6 C.16 D.14.如图所示,算法框图的输出结果是()A.16B.2524C.34D.11121.用循环结构来描述算法时,要事先确定三件事: (1)确定循环变量和初始条件. (2)确定算法中反复执行的循环体. (3)确定循环的终止条件.2.选择结构与循环结构的区别和联系:选择结构是根据条件是否成立决定有不同的流向,循环结构是根据条件决定是否重复执行一条或多条指令.循环结构一定要在某个条件下跳出循环,这就需要选择结构来判断.因此,循环结构一定包含选择结构.答案精析问题导学知识点思考用S表示每一步的计算结果,S加下一个数得到一个新的S,这个步骤被重复了100次.梳理1.反复执行反复执行的处理步骤控制着循环的开始和结束判断是否继续执行循环体 2.(1)初始条件(2)反复执行(3)终止题型探究例1解(1)变量y是循环变量,控制着循环的开始和结束;(2)框图中的第②部分是循环体,其功能是判断年份y是不是闰年,并输出结果;(3)由前面的分析,我们知道,这个算法的处理功能是判断2000~2500(包括2500)年中,哪些年份是闰年,哪些年份不是闰年,并输出结果.跟踪训练1解循环变量为i,i的初始值为1,循环的终止条件为i>100.例2解这一问题的算法:第一步,输入n的值.第二步,令i=1,S=0.第三步,若i≤2n-1成立,则执行第四步;否则,输出S,结束算法.第四步,S=S+i,i=i+2,返回第三步.算法框图如下:跟踪训练2解算法框图如图:例3解方法一“主角”所有生命机会共能承受8×5=40(枪)(第40枪被击中则生命结束).设“主角”被击中枪数为i(i=0,1,2,…,39),算法框图可设计为如图1.方法二与方法一相对,电脑中预先共承受枪数40,“主角”生命机会以“减法”计数,算法框图可设计为如图2.跟踪训练3 解 算法步骤如下: 1.把计数变量n 的初值设为1.2.输入一个成绩x ,判断x 与9.90的大小:若x >9.90,则执行下一步;若x ≤9.90,则输出x ,并执行下一步. 3.使计数变量n 的值增加1.4.判断计数变量n 的值与成绩个数8的大小,若n ≤8,则返回第2步,否则结束. 算法框图如图所示.当堂训练1.B [本题中循环的结束条件是i ≥1 000,而计数变量是i =i +2,由于计数变量的初始值是i =2,所以计数变量应该为4,6,8,10,…,1 000,故循环体执行的次数为499.]2.A [本题可以从算法框图及三种基本结构的结构形式的特点入手,仔细分析每一句话,并注意概念间的异同点.]3.D [根据算法框图,当A =10,B =3时,用3除10余1,此时C =1≠0,继续执行循环,用1除3余0,此时A =3,B =1,C =0,由于C =0执行最后一框,停止计算并打印出答案B =1,故选D.] 4.D [赋值S =0,n =2 进入循环体:检验n =2<8, S =0+12=12,n =2+2=4;检验n <8,S =12+14=34,n =4+2=6; 检验n <8, S =34+16=1112, n =6+2=8,检验n =8,脱离循环体,11输出S=12.]。
有关机动车定点维修协议书3篇篇1甲方(送修方):____________________乙方(承修方):____________________根据《中华人民共和国合同法》及相关法律法规的规定,为确保甲乙双方的权益,本着公平、诚实、守信的原则,甲乙双方经友好协商,就甲方机动车定点维修事宜达成如下协议:一、协议范围1. 甲方选择乙方作为机动车定点维修单位,乙方提供机动车维修服务。
2. 本协议涉及的维修服务包括但不限于:发动机维修、底盘维修、电气系统维修、空调系统维修、车身修复及其他相关维修。
二、维修服务要求1. 乙方应确保维修服务质量,按照甲方提出的合理要求进行维修。
2. 乙方在维修过程中,如发现车辆存在未告知的故障或需额外配件,应及时通知甲方,经甲方同意后方可进行维修或更换。
3. 乙方在维修过程中,应妥善保管甲方的车辆及随车物品,如因乙方原因造成损失,乙方应承担相应责任。
三、维修费用及结算方式1. 乙方应按照约定的收费标准收取维修费用,不得擅自提高价格或隐瞒费用。
2. 甲方在送修时,应告知乙方预计的维修费用,并在车辆维修完成后及时支付维修费用。
3. 结算方式:现金/银行转账。
四、维修期限1. 乙方应在约定的时间内完成维修服务,如遇特殊情况需延长维修期限的,应及时通知甲方并取得甲方同意。
2. 甲方应在约定时间内取车,如因甲方原因未能按时取车,乙方不承担延误责任。
五、质量保证1. 乙方应保证维修质量,如因乙方原因导致的维修质量问题,乙方应负责免费返修。
2. 返修期限及保修期限按照行业规定执行。
六、违约责任1. 甲乙双方应遵守本协议的约定,如一方违反协议约定,应承担违约责任。
2. 如因乙方原因导致甲方车辆未能按时交付或维修质量不符合要求,乙方应承担相应的违约责任和损失赔偿责任。
3. 如甲方未按约定支付维修费用,乙方有权留置甲方车辆直至费用支付完毕。
七、争议解决1. 本协议的履行过程中,如甲乙双方发生争议,应友好协商解决。
[核心必知].算法的概念在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这一系列步骤来解决问题,我们把这一系列步骤称为解决这个问题的一个算法..算法的作用现代算法的作用之一是使计算机能代替人完成某些工作,这是学习算法的重要原因之一.[问题思考].是不是任何一个算法都有明确结果?提示:是,因为算法的步骤是明确的和有限的,有时可能需大量重复的计算,但只要按部就班地去做,总能得到确定的结果..一个具体问题的算法唯一吗?提示:解决一个具体问题的算法可有多个,但我们可以选择其中最优的、最简单的、步骤尽量少的算法.讲一讲.下列语句中是算法的有( )①做饭需要刷锅、淘米、加水、加热这些步骤;②解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为;③方程+-=有两个实根;④求+++的值,先计算+=,再由+=+=得最终结果是..个.个.个.个[尝试解答] ①说明了做饭的步骤;②中给出了一元一次方程这一类问题的解决方式;④中给出了求+++的一个过程,最终得出结果;对于③,并没有说明如何去算,故①②④是算法,③不是算法.[答案]解答这类问题的方法为特征判断法,主要从以下三方面判断:()看是否满足顺序性.算法实际上就是顺序化的解题过程,是指可以用计算机来解决某一类问题的程序或步骤.()看是否满足明确性.算法的每一步都是确定的,而不是含糊的、模棱两可的.()看是否满足有限性.一个算法必须在有限步后结束.如果一个解题步骤永远不能结束,那么就永远得不到答案.因此,有始无终的解题步骤不是算法.此外,算法的不唯一性也要考虑到.练一练.下列语句表达中是算法的有( )①从济南到巴黎可以先乘火车到北京,再坐飞机抵达;②>+;③求()与(-,-)两点连线的方程,可先求的斜率,再利用点斜式方程求得..个.个.个.个解析:选①中说明了从济南到巴黎的行程安排,完成任务.对于②没有说明如何去做.③说明了求直线的方程的算法步骤.讲一讲.给出解方程++=(、、为实常数)的一个算法.[尝试解答] 算法步骤如下:.当=,=,=时,解集为全体实数;.当=,=,≠时,原方程无实数解;.当=,≠时,原方程的解为=-;.当≠且->时,方程有两个不等实根=,=;.当≠,-=时,方程有两个相等实根==-;.当≠且-<时,方程没有实数根.设计算法的基本要求是:()设计的算法必须能解决一类问题并且能重复使用;()算法的过程需能一步步执行,每步执行的操作必须确切,不能含糊不清,而且经过有限步运算后能得出结果;()任何算法都必须输出结果,否则是无意义的算法;()如果需要分类讨论解决的问题,那么设计的算法中,要根据条件是否成立来决定执行任务的步骤;()如果需要重复做同一种动作,那么设。
2.1顺序结构与选择结构[学习目标] 1.掌握算法框图中的两种算法结构——顺序结构、选择结构及其特点.2.通过具体的实例体会用算法框图表示算法的优点.3.会用算法框图表示简单的算法.知识点一算法框图1.算法框图在算法设计中,算法框图(也叫算法框图)可以准确、清晰、直观地表达解决问题的思路和步骤.2.基本框图及其表示的功能3.(1)使用标准的框图符号.(2)框图一般按从上到下,从左到右的方向画.(3)除判断框外,其他框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的唯一符号.(4)一种判断框是二选一形式的判断,有且仅有两个可能结果;另一种是多分支判断,可能有几种不同的结果.(5)在图形符号内描述的语言要非常简练清楚.知识点二顺序结构与选择结构1.顺序结构:按照步骤依次执行的一个算法,称为具有“顺序结构”的算法,或者称为算法的顺序结构.顺序结构是任何一个算法都离不开的一种基本算法结构.2.选择结构:在算法的流程中,需要对条件进行判断,判断的结果决定后面的步骤,像这样的结构通常称作选择结构.题型一算法框图的认识和理解例1下列关于算法框图中图形符号的理解正确的有()①任何一个流程图必须有起止框;②输入框只能放在开始框后,输出框只能放在结束框前;③判断框是唯一的具有超过一个退出点的图形符号;④对于一个算法框图来说,判断框内的条件是唯一的.A.1个B.2个C.3个D.4个答案 B解析①任何一个算法必须有开始和结束,从而流程图必须有起止框,正确.②输入、输出框可以用在算法中任何需要输入、输出的位置,错误.③正确.④判断框内的条件不是唯一的,错误.故选B.反思与感悟(1)理解算法框图中各框图的功能是解此类题的关键,用算法框图表示算法更直观、清晰、易懂;(2)起止框用“”表示,是任何流程不可少的,表明程序的开始和结束;(3)输入、输出框用“”表示,可用在算法中任何需要输入、输出的位置,需要输入的字母、符号、数据都填在框内;(4)处理框用“”表示,算法中处理数据需要的算式、公式等可以分别写在不同的用以处理数据的处理框内,另外,对变量进行赋值时,也用到处理框;(5)判断框用“”表示,是唯一具有超过一个退出点的图形符号.跟踪训练1下列说法正确的是()A.算法框图中的图形符号可以由个人来确定B.也可以用来执行计算语句C.算法框图中可以没有输出框,但必须要有输入框D.用算法框图表达算法,其优点是算法的基本逻辑结构展现得非常直接答案 D解析一个完整的算法框图至少要有起止框和输入、输出框,输入、输出框只能用来输入、输出,不能用来执行计算.故选D. 题型二 利用顺序结构表示算法例2 已知f (x )=x 2-1,求f (2),f (-3),f (3),并计算f (2)+f (-3)+f (3)的值,设计出解决该问题的一个算法,并画出算法框图. 解 算法 第一步:x =2. 第二步:y 1=x 2-1. 第三步:x =-3. 第四步:y 2=x 2-1. 第五步:x =3. 第六步:y 3=x 2-1. 第七步:y =y 1+y 2+y 3. 第八步:输出y 1,y 2,y 3,y . 算法框图:跟踪训练2 利用梯形的面积公式计算上底为2,下底为4,高为5的梯形面积,设计出该问题的算法及算法框图. 解 算法如下:第一步,a =2,b =4,h =5. 第二步,S =12(a +b )h .第三步,输出S .该算法的算法框图如图所示:题型三 简单选择结构的设计例3 求过两点P 1(x 1,y 1),P 2(x 2,y 2)的直线的斜率.设计该问题的算法并画出算法框图. 解 算法如下: 1.输入x 1,y 1,x 2,y 2.2.如果x 1=x 2,输出“斜率不存在”; 否则,k =y 2-y 1x 2-x 1.3.输出k .算法框图如下图所示.跟踪训练3 设计求一个数的绝对值的算法并画出算法框图. 解 算法如下: 1.输入实数x .2.若x ≥0,则y =x ;若x <0,则y =-x . 3.输出y . 算法框图如下:设计算法框图例4设计算法框图,求半径为10的圆的面积.错解算法框图如图:错解分析错误的根本原因在于算法框图中缺少终端框,不是完整的,因漏掉终端框而致误.自我矫正算法框图如图:1.任何一种算法都离不开的基本结构为()A.逻辑结构B.选择结构C.循环结构D.顺序结构答案 D2.下列图形符号属于判断框的是()A B C D答案 C解析判断框用菱形表示.3.算法框图符号“”可用于()A.输出a=10B.赋值a=10C.判断a=10D .输入a =1 答案 B解析 图形符号“”是处理框,它的功能是赋值、计算,不是输入、输出框和判断框,故选B.4.如图所示的算法框图,其功能是( )A .输入a ,b 的值,按从小到大的顺序输出它们的值B .输入a ,b 的值,按从大到小的顺序输出它们的值C .求a ,b 的最大值D .求a ,b 的最小值 答案 C解析 输入a =1,b =2,运行算法框图可得输出2.根据执行过程可知该算法框图的功能是输入a ,b 的值,输出它们的最大值,即求a ,b 的最大值. 5.阅读如图所示的算法框图,写出它表示的函数是________.答案 y =⎩⎪⎨⎪⎧2x -8(x >3)x 2(x ≤3)解析 由算法框图知,当x >3时,y =2x -8;当x ≤3时,y =x 2,故本题框图的功能是输入x 的值,求分段函数y =⎩⎪⎨⎪⎧2x -8(x >3),x 2(x ≤3)的函数值.1.顺序结构描述的是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.2.对需要按给定的条件进行分析、比较和判断,并按判断的不同情况进行不同的操作的问题,设计算法时就要用到选择结构.3.选择结构要先根据指定的条件进行判断,再由判断的结果决定选取执行两条分支路径中的某一条.。
2.3.1 条件语句1.熟练掌握条件语句的格式,明确条件语句的功能.(重点)2.能够将具体问题的算法框图转化为算法语句.3.会利用条件语句解决实际生活中的相关问题.(难点)[基础·初探]教材整理条件语句阅读教材P105~P107“练习”以上部分,完成下列问题.1.条件语句的定义在算法中,选择结构是一种基本结构,条件语句是表达选择结构最常用的语句.条件语句的格式有两种:If-Then语句和If-Then-Else语句.2.条件语句结构及形式形如下面的框图描述的算法都可以用If语句进行表示.图231其一般形式是:If 条件 Then语句1Else语句2End If3.复合If语句形如下面的框图描述的算法都可以用复合If语句来表达.图232复合If 语句的一般形式是: If 条件1 Then 语句1 ElseIf 条件2 Then 语句2 Else 语句3 End If End If判断(正确的打“√”,错误的打“×”)(1)条件语句是首先判定If 后的条件,若不满足条件,则跳出If 语句.( ) (2)If 语句中的条件只能是一个不等关系.( )(3)在算法语句中若有条件语句,End If 只能用一次.( )【解析】 (1)×.由If 语句的格式知,当不满足条件时执行Else 后的语句,而不是跳出If 语句.(2)×.If 语句中条件可以是两个不等关系,当然也可以是等式.(3)×.If 语句中If 与End If 是对应的,有一个If 开头,就有一个End If 结束. 【答案】 (1)× (2)× (3)×[小组合作型]已知函数y =⎩⎪⎨⎪⎧x 2-1,x ≥0,2x -5,x <0,对任意的x ,求函数值,请画出算法框图并写出程序语句.【导学号:63580027】【精彩点拨】 解答本题需对x 是非负还是负进行判断,用选择结构来处理. 【自主解答】 算法框图为程序语句为 输入x ;If x >=0 Theny =x 2-1Else y =2*x -5 End If 输出y.If 语句的适用范围及注意事项:算法中需要判断情况、分类执行时,如判断一个数的正负、比较两个数的大小、求分段函数的函数值等,都需要用条件语句进行描述.若程序只对条件满足时作处理,不用处理条件不满足时的情况,则可以省略Else分支.条件语句是一个整体,If ,Then ,Else ,End If 都是语句的一部分,且“If”和“End If”必须成对出现.[再练一题]1.已知函数f (x )=⎩⎪⎨⎪⎧x 2-1,x ≥0,3x 2-8,x <0.编写一个程序,对每输入的一个x 值,都得到相应的函数值.【解】 用变量x ,y 分别表示自变量和函数值.步骤如下: 1.输入x 值.2.判断x 的范围,若x ≥0,则用函数y =x 2-1求函数值;否则用y =3x 2-8求函数值. 3.输出y 的值. 算法框图如图所示,程序如下: 输入x ; If x >=0 Theny =x 2-1Elsey =3*x 2-8End If 输出y .100元以上的,按九五折优惠;200元以上的,接九折优惠;300元以上的,接八五折优惠.显然,采用哪种优惠是与消费额有关的.(1)试建立消费额x 与实际支付费用y 之间的函数关系; (2)对上述关系用什么语句来表达? (3)如何表达?【精彩点拨】 (1)结合实际意义写出y 与x 的函数关系; (2)显然用条件语句来表达; (3)利用条件语句写出该程序.【自主解答】 (1)y =⎩⎪⎨⎪⎧x , x ≤100,0.95x , 100<x ≤200,0.9x , 200<x ≤300,0.85x , x >300.(2)条件语句,因为不同的变量取值,导致不同的函数关系与之对应. (3)输入x ;If x <=100 Theny =xElseIf 100<x <=200 Theny =0.95* xElseIf 200<x <=300 Theny =0.9* xElse y =0.85* xEnd IfEnd If End If 输出y .编写程序解决实际问题时,通常先建立数学模型,再根据所得数学模型确定算法分析和算法框图,最后再将算法框图转化为程序语句.需要分类讨论的问题,通常用条件语句来解决.[再练一题]2.某市通信部门规定:拨打市内电话时,如果通话时间不超过 3 min ,则收取通话费0.2元;如果通话时间超过3 min ,则超过部分以0.1元/min 收取通话费(t 以分钟计,不足1 min 按1 min 计).问:如何设计一个计算通话费用的算法?请画出框图并用语句描述该算法.【解】 令c (单位:元)表示通话费用,t (单位:min)表示通话时间,则有c =⎩⎪⎨⎪⎧<t 0.2+t -t >依上面分析知,解决这一问题的算法步骤如下: 1.输入通话时间t ;2.如果0<t ≤3,那么c =0.2,否则c =0.2+0.1*(t -3) 3.输出费用c . 框图如图所示:用语句描述为:输入t;If t<=3 And t>0 Thenc=0.2Elsec=0.2+0.1*( t-3)End If输出c.[探究共研型]探究1【提示】条件语句必须有If、Then,End If,根据需要,Else及其后的语句可以省略.探究2 一个完整的条件语句中,可以有多个End If吗?【提示】不可以.因为一个完整的条件语句总是以If开始,以End If结束,故不能有多个End If.探究3 复合If语句中有两个If语句,是否可以推广到3个,4个或更多?【提示】可以,但要注意书写格式.探究4 应用条件语句应注意什么问题?【提示】条件语句必须以If语句开始,以End If语句结束,有几个If语句,就必须有几个End If语句对应.给出一个算法:1.输入x;2.若x<0,则y=x+1;否则执行第3步;3.若x=0,则y=0;否则y=x;4.输出y.(1)指出该算法的功能;(2)将该算法用框图表示出来; (3)用基本语句写出该算法.【精彩点拨】 解决此问题可先由条件入手分析,再依次画出框图,并用基本语句描述.【自主解答】 该算法的功能是利用给出的x 的值,求函数y =⎩⎪⎨⎪⎧x +x ,x =,x x的值.(2)框图如图所示:(3)用基本语句描述为: 输入x ;If x <0 Then y =x +1 ElseIf x =0 Then y =0 Else y =x End If End If 输出y .1.使用复合If 语句的注意事项: (1)使用范围:判断条件多于一个时;(2)分清层次:编写条件时,要注意If 和End If 的配对使用及书写的格式. 2.利用复合If 语句解决问题的步骤:(1)构思出解决问题的一个算法(可用自然语言); (2)画出程序框图,形象直观地描述算法;(3)根据框图写算法语句,即逐步把框图中的算法步骤用算法语句表达出来.[再练一题]3.要求输入x 值,输出相应的函数值,并用相应的算法语句描述.已知函数y =⎩⎪⎨⎪⎧x 2+1,x >0,7,x =0,3x 2-5,x <0,试设计算法框图,【解】 根据题意写出算法步骤: 1.输入x ;2.若x >0,则y =x 2+1; 3.若x =0,则y =7; 4.若x <0,则y =3x 2-5; 5.输出y . 框图如下:用算法语句描述如下: 输入x ;If x >0 Then y =x 2+1 ElseIf x =0 Then y =7 Elsey =3* x 2-5 End IfEnd If 输出y .1.以下关于条件语句的说法,正确的是( ) A .条件语句的执行是按照程序中的先后顺序执行的 B .条件语句实现了算法框图中的选择结构C .条件语句不能嵌套,即条件语句中不能再使用条件语句D .条件语句一定要完整,即If -Then -Else -End If 中每一部分都不能少【解析】 条件语句的执行是有选择性的,故A 错.条件语句中可以有嵌套,故C 错.在条件语句中根据需要,Else 后的内容可以省略.【答案】 B2.当输入x =-3.2时,下面的程序输出的结果为( ) 输入x ;If x <0 Then x =-x End If 输出x . A .-3.2 B .3.2 C .3D .-3【解析】 由程序知y =⎩⎪⎨⎪⎧x ,x ≥0,-x ,x <0,故当输入x =-3.2时y =3.2.【答案】 B3.写出下列程序运算的结果.若x =6,则P【解析】 当x =6时,P =6×0.35=2.1, 当x =20时,P =10×0.35+10×0.7=10.5. 【答案】 2.1 10.5 4.写出下列程序运行的结果. 输入a ;If a >=0 Then 输出a Else输出“是负数” End If输入-4,输出结果为________; 输入9,输出结果为________.【解析】 若输入-4,因为-4<0,所以输出的结果为“是负数”;若输入9,因为9>0,所以输出的结果是9的算术平方根,即3.【答案】 是负数 3 5.已知函数y =⎩⎪⎨⎪⎧x -1,x ≥0,2x 2-5,x <0,设计一个算法,写出程序语句,根据输入的x 的值,输出对应y 的值.【解】 算法步骤为: 1.输入x ;2.如果x ≥0,则y =x -1;否则,y =2x 2-5; 3.输出y . 程序语句: 输入x ;If x >=0 Then y =x -1 Elsey =2* x 2-5 End If 输出y .。
.条件语句
[学习目标].掌握条件语句的含义、格式.会利用条件语句将具体问题的框图转化为算法语句.会利用条件语句解决实际生活中的应用问题.
知识点一条件语句
.条件语句:条件语句是表达选择结构最常用的语句.
.两种条件语句的算法框图及格式
语句复合语句
算法框图
语句格式条件
语句
语句
条件
语句
条件
语句
语句
思考一般在什么条件下才需要用到条件语句?使用条件语句的关键是什么?
答
一般在分类处理问题时需要用到条件语句;使用条件语句的关键是明确分类的对象和标准.
题型一应用语句描述算法
例已知函数()=编写一个程序,对每输入的一个值,都得到相应的函数值.
解用变量,分别表示自变量和函数值.步骤如下:
.输入值.
.判断的范围,若≥,则用函数=-求函数值,否则用=-求函数值.
.输出的值.
算法框图如图所示,
程序如下:
输入;
>=
=^-。
1算法概念的诠释同学们也许对算法这个概念很陌生,但其实大家在日常生活中已经接触过很多算法了,广义地说,算法就是做某一件事情的步骤或程序.菜谱是做菜肴的“算法”,洗衣机的使用说明书是操作洗衣机的“算法”.每个算法都闪耀着人类的智慧,阅读和学习这些东西会给我们带来一种难以用语言表达的满足感和快感.在以后的学习和工作中我们会不断从实际应用中了解和领会算法是如何解决各个领域的实际问题,推动人类文明的发展的.一、算法的特征1.确定性算法中的每条运算规则必须是明确定义的、可行的,每一个步骤只能有一个确定的后继步骤,运行终止应得到问题的解答或指出问题没有解答.2.有限性一个算法必须保证在执行有限步后结束,至少不能出现无限循环或死循环.在此基础上越简洁越快越好.越简洁,占用内存越少,对设备的要求越基本;越快,这个意义就不用说了吧.比如一个计算对方导弹轨迹的算法,如果等你算出来,那边导弹已经落地了,那还有什么意义?二、算法的思想专业的事交给专业的人去做.普通人只要按专业人士给出的步骤一步一步地去完成,这就是算法的思想,即程序思想,你也可以理解为傻瓜化思想.另外,算法强调的是通性通法,即给出一个算法,实际上是给出了一种解决一类问题的方法.比如你给出一个计算圆的面积的算法,它应该能计算各种半径的圆的面积,而不是只适用于半径为某一具体数的圆.三、特别提示1.算法中的每一步应该是确定的并且能够有效地执行且得到确定的结果,而不应当模棱两可,如求的近似值却没有要求近似的精确度,则该问题不能求解.2.现代算法主要是面向计算机的,如果算法中没有输出,程序也能运行,但是运行结果无法输出.如果想要得到结果,那就要有输出.3.只要有公式可以利用,利用公式解决问题是最理想、最简便的方法,比如在写解方程x 2-3x -4=0的算法时,用求根公式来做,步骤则较为简洁.4.求解某一个问题的算法一般不是唯一的,我们通常选择较为简单的算法. 四、典例分析例1 已知一个等边三角形的周长为a ,求这个三角形的面积,设计一个算法解决这个问题. 分析 对于已知等边三角形的边长求面积的题目同学们已经很熟悉,回顾其中的解题过程不难得到这个问题的算法步骤.但学会清晰条理地表达自己的想法,也是一个基本的要求. 解 算法步骤如下: 第一步,输入a 的值. 第二步,计算l =a3的值.第三步,计算S =34×l 2的值. 第四步,输出S 的值.例2 下面给出了一个问题的算法: 第一步,输入x .第二步,若x ≥4,则执行第三步,否则执行第四步. 第三步,输出2x -1. 第四步,输出x 2-2x +3. 这个算法解决的问题是什么?分析 依据题目给出的算法步骤依次执行,是读懂算法的一个重要而基本的办法. 解 这个算法先是输入一个变量x ,当x ≥4时输出2x -1,当x <4时输出x 2-2x +3,不难发现这个算法解决的问题是求分段函数f (x )=⎩⎪⎨⎪⎧2x -1,x ≥4,x 2-2x +3,x <4的函数值.2 典型算法举例1.解方程(方程组)、不等式的算法例1 用自然语言描述求一元二次方程ax 2+bx +c =0的根的算法.思维切入 对于求方程的根,解方程组这样的数值型的问题,我们都有具体的计算方法,只要我们把平时的计算方法严格地按步骤描述出来即可.因此我们很容易得到下面的算法. 解 用自然语言来描述算法, 第一步,计算Δ=b 2-4ac ;第二步,如果Δ<0,则原方程无实数解,输出“无实数解”;否则(Δ≥0)x 1=-b +b 2-4ac2a,x 2=-b -b 2-4ac 2a,输出x 1,x 2的值.点评 第二步中包含了一个判断Δ=b 2-4ac 是否小于零的条件,并根据判断结果进行不同的处理.算法是否“健壮”,也是衡量算法优劣的重要指标.如果思维不严谨,比如这个算法忘记考虑Δ=b 2-4ac 小于零的情形,实际运算一旦遇到,则会导致不是出错就是死机,那这个算法就是不“健壮”的. 例2 写出解x 2-4x +3<0的算法.思维切入 只要把平时的固定解法有条理地写出来,即为解不等式的算法. 解 第一步,求出对应方程的根x 1=1,x 2=3; 第二步,确定根的大小x 1<x 2; 第三步,写出解集{x |1<x <3}. 2.套用公式求值的算法例3 已知摄氏温度C 与华氏温度F 的关系是F =C ×95+32,写出由摄氏温度求华氏温度的算法.思维切入 这是一个函数求值问题,给C 赋值再代入解析式求F . 解 第一步,输入摄氏温度C ; 第二步,代入F =C ×95+32;第三步,输出华氏温度F .点评 平时计算我们只注重第二步,其他步骤往往忽略了,算法却讲究“按部就班”,这类问题的算法一般分为三步:第一步输入值,第二步套用公式,第三步输出结果. 3.判断性质型问题的算法例4 试描述判断圆(x -a )2+(y -b )2=r 2和直线Ax +By +C =0位置关系的算法. 思维切入 直线与圆的关系有三种:相离、相切、相交,如果圆心到直线的距离d >r ,则直线与圆相离,d =r 则直线与圆相切,d <r 则直线与圆相交.因此我们可以先求出圆心到直线的距离d ,然后再和r 比较.解 第一步,输入圆心的坐标、直线方程的系数和半径r ; 第二步,计算z 1=Ax 0+By 0+C ; 第三步,计算z 2=A 2+B 2; 第四步,计算d =|z 1|z 2; 第五步,如果d >r 则相离,如果d =r 则相切,如果d <r 则相交.点评 算法要求分解成简单计算,不要直接计算d =|Ax 0+By 0+C |A 2+B 2.一个比较大的程序,会分成若干模块,一个模块出了问题只需要修改这一个模块,而不需要全盘翻工.4.累加、累乘问题的算法例5用自然语言描述求解mul=1×2×3×4×5×6问题的算法.思维切入根据算法的特点,我们学过的加、减、乘、除运算法则都是算法,只要按照具体的规则有步骤地描述过程,便有了该题的算法.解第一步,计算1×2,得2;第二步,将第一步中的运算结果2与3相乘得6;第三步,将第二步中的运算结果6与4相乘得24;第四步,将第三步中的运算结果24与5相乘得120;第五步,将第四步中的运算结果120与6相乘得720.点评如果让人一步一步地做,太枯燥了.但这恰好是计算机的优势.所以算法好不好,还分让谁来执行,对人来讲是奇笨无比的办法,对计算机却可能是一个好办法.思维拓展该算法包含一个重复操作的过程是循环结构,我们可将算法改造得更为简练、科学.解第一步,设i=1,P=1;第二步,如果i≤6执行第三步,否则执行第五步;第三步,计算P×i并将结果代替P;第四步,将i+1代替i,转去执行第二步;第五步,输出P.点评i称为计数变量,每一次循环它的值增加1,由1变到6,P是一个累乘变量,每一次循环得到一个新的结果,然后新的结果代替原值.3算法框图画法全知晓一、画算法框图的基本步骤第一步,设计算法,因为算法的设计是画算法框图的基础,所以画算法框图前,首先写出相应的算法步骤,并分析算法需要用哪种基本逻辑结构(顺序结构、选择结构、循环结构)完成.第二步,把算法步骤转化为对应的算法框图,在这种转化过程中往往需要考虑很多细节,是一个将算法“细化”的过程.第三步,将所有步骤的算法框图用流程线连接起来,并加上终端框,得到整个表示算法的算法框图.二、画算法框图的规则1.使用标准的框图符号.2.框图一般按从上到下、从左到右的方向来画.3.除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是唯一具有超过一个退出点的符号.4.在图形符号内描述的语言要简练清楚. 三、典例分析 1.顺序结构顺序结构是最简单的算法结构,是任何一个算法都离不开的结构.若一个算法由若干个依次执行的步骤组成,则在画算法框图时,可直接由顺序结构完成.因为在其他的结构中都会涉及到顺序结构,所以关于顺序结构的画法,在此不再单独叙述. 2.选择结构设计算法框图时,若是分段函数或执行时需要先判断才能执行的问题,则需要用到判断框,引入选择结构.例1 如图,在边长为4的正方形ABCD 的边上有一点P ,沿着BCDA 的方向由点B 向点A 运动,设点P 运动的路程为x (0<x <12),△APB 的面积为y ,画出y 关于x 的关系式的算法框图.分析 随着点P 的位置不同,△APB 的面积与路程x 有不同的对应关系,所以需要先判断点P 的位置,这就需要用到选择结构,先根据题意写出算法,再根据算法画出算法框图.即 第一步,按照题意,y 与x 的关系满足分段函数: y =⎩⎪⎨⎪⎧2x ,0<x ≤4,8,4<x ≤8,2(12-x ),8<x <12.第二步,用合适的含选择结构的算法框图表示该分段函数. 解 算法框图如图所示.点评 该题中的分段函数是分三段的函数,需引入两个判断框.至于判断框的内容是没有顺序的,但与下一图形的内容或操作必须相互对应.同时,在画算法框图时,要特别注意图形符号的规范性. 3.循环结构如果问题中进行了重复的运算,且有相同的规律,就可根据需要引入相关变量,利用这些规律组成一个循环体,用循环结构来解决.例2 某机械厂为增加产值进行了技术革新.据统计2009年的生产总值为500万元,技术革新后预计每年的生产总值比上一年增加5%,问最早要到哪一年生产总值才能超过600万元,试用算法框图表示.分析 用变量n ,a 分别表示所经过的年数和生产总值的数量,注意变量的初始值以及递加的值是多少.由题意知第n 年后的生产总值为a =500(1+0.05)n ,此时为(2009+n )年.由于题中进行了重复的运算,故应引入循环结构. 解 算法框图如图所示.4 例说选择结构选择结构是三种基本逻辑结构之一,可以解决一些含有条件判断的算法问题,如分段函数求值问题、比较大小问题、分类讨论问题和一些实际问题等.下面就其应用略举两例,供同学们学习时参考. 一、分段函数求值问题例1 已知函数y =⎩⎪⎨⎪⎧-x +1,x >0,0,x =0,x +3,x <0,请设计算法框图,要求输入自变量x ,输出函数值y .分析 输入自变量x 的值,首先判断x 与0的大小关系,再代入相应的表达式求函数值. 解 算法框图如图.点评求分段函数的函数值,需先判断再执行步骤,需要引入选择结构.在使用选择结构时,要注意判断条件的设定不重不漏,确保各种可能的判断值有正确、唯一的流向.二、实际应用问题例2 邮政电子汇款单笔最高限额为1万元,每笔汇款的资费标准为汇款金额的1%,最低收费为2元,最高收费为50元.试编写一算法框图求出当汇款x (0<x≤10 000)元时,应交纳资费多少元.分析由题意分析,当x≤200时,应交纳资费2元,当x≥5 000时,应交纳资费50元,所以引入选择结构,200和5 000是两个分段点.解算法框图如图.点评很多在一些需要判断的实际问题,比如水电费,纳税额,结构工资,身体各项指标是否正常等,一般都会用到选择结构,在设计算法框图时,可先根据题意,设计算法,再根据算法画出算法框图.5循环结构的应用在循环结构中,经常会出现两个变量:计数变量和累计变量.计数变量往往出现在循环结构中,起到循环计数的作用,这个变量一般出现在执行或终止循环体的条件中;而累计变量用于输出结果,往往与计数变量同步执行,一般有累加与累乘两种.下面举例说明循环结构的应用.一、求和或求积问题例1 设计两个求1+3+5+…+2 011的值的算法的算法框图.分析 本题是一个累加问题,由于加数较多,采用逐一相加的思路不可取,引入变量,应用循环结构解决:(1)设一个循环变量为i ,初始值为1;再设一个累加变量为S ,初始值为0.(2)循环体为S =S +i ,i =i +2.(3)终止条件为i >2 011. 解 两种方法:算法框图如图1和如图2所示.点评 涉及求多项的和与积的算法框图要用到循环结构和选择结构.画图时要注意循环变量的初始值、终值以及循环变量的增量在程序中的作用.本题代表了一类相邻两个数的差为常数的求和问题的解法,在设计算法框图时要注意前后两个加数相差2,此时计数变量不是i =i +1,而是i =i +2,要根据题意灵活地改变算法中的相应部分. 二、叠加求值例2 画出求式子(共9个3)的值的一个算法框图.分析 本题是一个叠加问题,由于前后重复了多次相同的运算,所以应采用循环结构来设计算法,但利用循环结构实现算法需搞清初始值是什么.本题中初始值可设定为a 1=13,第一次循环得到a 2=13+a 1,第二次循环得到a 3=13+a 2,……,a 9=13+a 8,共循环了8次.解 算法框图如图所示.点评如果算法问题里涉及的运算有许多重复的步骤,且数之间有相同的规律,那么可引入变量,应用循环结构.在循环结构中,要注意根据条件,设计合理的计数变量、累计变量,特别要注意条件的表述要恰当、精确,以免出现多一次循环或少一次循环的情况.6三种逻辑结构辨与析算法中有三种逻辑结构,即顺序结构、选择结构、循环结构,同学们初学这三种结构,容易混淆.本文将这三种结构进行比较,希望同学们能深刻体会这三种结构的差异与共同点.一、三种基本逻辑结构二、三种基本逻辑结构的共同特点1.只有一个入口.2.只有一个出口,注意一个菱形判断框有两个出口,而一个选择结构只有一个出口,不要将菱形框的出口和选择结构的出口混为一谈.3.结构内的每一部分都有机会被执行到,即对每一个框来说都应当有一条从入口到出口的路径通过它,如图1中的A,没有一条从入口到出口的路径通过它,是不符合要求的算法框图.4.结构内不存在死循环,即无终止的循环,如图2就是一个死循环,在算法框图中是不允许有死循环出现的.三种基本结构的这些共同特点,也是检查一个算法框图或算法是否正确、合理的方法和试金石.7条件语句小聚1.“If—Then”语句“If—Then”语句的一般格式如下对应的框图如图1所示图1计算机在执行“If—Then”语句时,首先对If后的条件进行判断,如果符合条件,就执行Then后面的语句,若不符合条件,则直接结束该条件语句,转而执行后面的语句.2.“If—Then—Else”语句“If—Then—Else”语句的一般格式如下对应的框图如图2所示图2计算机在执行“If—Then—Else”语句时,首先对If后的条件进行判断,如果符合条件,则执行Then后面的“语句1”;若不符合条件,则执行Else后面的“语句2”.3.条件语句“If—Then—Else”可以嵌套,其格式为注意:使用条件语句时应注意以下几点:(1)条件语句必须以If语句开始,以End If语句结束,一个End If语句必须和一个If语句对应.(2)如果我们的程序只需对条件为真的情况作出处理,不需处理条件为假的情况,则条件语句省略Else,格式由If—Then—Else语句变成If—Then语句.8透析循环语句两种循环语句1.For语句的一般形式是执行步骤:当计算机执行For语句时,一般先执行一次循环体,当循环变量在初始值与终值之间时,执行循环体;当循环变量超过终值时,不再执行循环体,跳出循环体执行后面的语句.2.Do Loop语句的一般形式是计算机执行Do Loop语句,先执行一次循环体,若符合条件,继续执行循环体;当不符合条件时,跳出循环,执行Loop While后的语句.9算法在生活实际中的应用数学来源于生活,服务于社会,数学与生活息息相关,数学是有用的,在生活中做一件事情的方法和步骤有多种,生活中的许多问题都可以用算法描述,用算法框图表达.下面请欣赏三例算法问题.一、第29届奥林匹克运动会的申办例1北京成功举办了2008年第29届奥林匹克运动会.你知道在申办奥运会的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?对选出的5个申办城市进行表决的操作程序是首先进行第一轮投票,如果有一个城市得票数超过总票数的一半,那么该城市将获得举办权;如果所有申办城市的得票数都不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止.请设计一个算法表述上面过程,并画出算法框图.解算法步骤如下:第一步,投票;第二步,统计票数,如果有一个城市得票数超过总票数的一半,那么该城市就获得主办权;否则淘汰得票数最少的城市,转第一步;第三步,宣布主办城市.算法框图如图所示:点评算法本身就是用计算机解决一些实际问题的方法,一定要充分理解算法的特点.二、奖金的发放例2某科研所决定拿出一定量的资金对科研人员进行奖励,按照科研成果价值的大小决定奖励前10名.第1名得全部奖金的一半多1万元,第2名得剩余的奖金的一半多1万元,第3名再得剩余奖金的一半多1万元,以此类推,到第10名恰得奖金1万元,请设计一个算法语句求科研所最初拿出多少奖金进行奖励,并画出算法框图.解 第10名的奖金额S 1=1万元,第9名和第10名的总奖金额S 2=(1+1)×2=4万元,第8名、第9名和第10名的总奖金额S 3=(4+1)×2=10万元......总奖金额S 10=(S 9+1)×2,得递推公式S 1=1,S n +1=(S n +1)×2,n =1,2, (9)算法语句:算法框图如图所示:三、李白酒壶中的酒例3 李白是我国唐代的一位伟大诗人,平时很喜欢喝酒,有一首打油诗讲了李白买酒的一件趣事,“无事街上走,提壶去买酒,遇店加一倍,见花喝一斗,三遇店和花,喝光壶中酒.”问:李白的酒壶中原来有多少酒?请用算法解释,画出算法框图并写出算法语句.解 通过逆向思考,李白遇到第三枝花时,壶中有1斗酒,遇到第三个店时,壶中有12斗酒;遇到第二枝花时,壶中有1+12=32斗酒,遇到第二个店时,壶中有12×32=34斗酒;遇到第一枝花时,壶中有1+34=74斗酒,遇到第一个店时,壶中有12×74=78斗酒. 根据以上分析可得算法步骤如下:第一步,S =0;第二步,I =1;第三步,S =S +12; 第四步,I =I +1;第五步,如果I >3,则输出S ;否则,转第三步. 算法框图如图所示:算法语句:。
学习目标 1.提高把具体问题的求解转化为算法步骤的能力.2.能正确选择并运用三种逻辑结构框图表示具体问题的算法.3.提高读图能力.
知识点一三种逻辑结构
思考1我们先后学了三种逻辑结构,你能简述一下什么时候会用到它们吗?
思考2循环结构是个难点.你认为循环结构的关键在哪里?需要注意些什么?
知识点二用算法框图表示算法
设计一个算法的算法框图通常要经过以下步骤:
第一步,用____________表述算法步骤.
第二步,确定每一个算法步骤所包含的逻辑结构,并用相应的________表示,得到该步骤的算法框图.
第三步,将所有步骤的框图用________连接起来,并加上终端框,得到表示整个算法的算法框图.
类型一 算法的设计
例1 已知函数y =⎩
⎪⎨⎪⎧
-x 2-1,x ≤-1,
x 3,x >-1,试设计一个算法,输入x 的值,求对应的函数值.
反思与感悟 设计一个具体问题的算法,通常按以下步骤: (1)认真分析问题,找出解决此题的一般数学方法; (2)借助有关变量或参数对算法加以表述; (3)将解决问题的过程划分为若干步骤; (4)用简练的语言将这个步骤表示出来.
跟踪训练1 已知函数y =⎩⎪⎨⎪
⎧
2x
-1, x ≤-1,log 2(x +1), -1<x <2,
x 2, x ≥2,试设计一个算法,输入x 的值,求对
应的函数值.
类型二 画算法框图
例2 设计求1×2×3×4×…×2 013×2 014的值的算法,并画出算法框图.
反思与感悟算法要求指令明确,在有限步内解决问题,故用自然语言设计算法时不能大而化之.一旦用自然语言表述出算法,转换为算法框图相对简单,但画时要用对框图,并尽量使主线在一条纵轴上,以增强算法框图的条理.
跟踪训练2如图所示的算法框图的功能是____________________________________.
类型三算法在生活中的应用
例3以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,88,90,55,61,73,64,77,82,94,60,画出求80分以上的同学的平均分的算法框图.
反思与感悟在循环结构中,要注意根据条件设置合理的计数变量、累加(乘)变量,同时条件的表述要恰当、准确.累加变量的初值一般为0,而累乘变量的初值一般为1.
跟踪训练3乘坐火车时,可以托运货物.从甲地到乙地,规定每张火车客票托运费计算方法:行李质量不超过50 kg时按0.25元/kg;超过50 kg而不超过100 kg时,其超过部分按
0.35元/kg;超过100 kg时,其超过部分按0.45元/kg.设计输入行李质量,计算出托运的费用的算法,并画出算法框图.
1.算法共有三种逻辑结构,即顺序结构、选择结构和循环结构,下列说法正确的是() A.一个算法只能含有一种逻辑结构
B.一个算法最多可以包含两种逻辑结构
C.一个算法必须含有上述三种逻辑结构
D.任何一个算法都离不开顺序结构
2.下列关于算法框图的描述中,正确的有()
①对于一个算法来说,算法框图是唯一的;
②任何一个框图都必须有起止框;
③算法框图只有一个入口,也只有一个出口;
④输出框一定要在终止框前.
A.1个B.2个
C.3个D.4个
3.阅读如图所示的算法框图,运行相应的程序,则输出的S等于()
A.14 B.30 C.20 D.55
4.执行如图所示的算法框图,若输出的结果为s=132,则判断框中应填()
A.i≥10 B.i≥11
C.i≤11 D.i≥12
1.在一个问题中经常要进行多次判断,这就需要选择结构嵌套来进行解决.
2.算法问题经常涉及到与现实生活有关的题目,解答时,首先根据题意写出内含的表达式,选择适合的结构,设计算法框图,因此,解题的关键是写出函数解析式.
答案精析
问题导学
知识点一
思考1(1)顺序结构每一个算法框图都有.
(2)当一个问题需要根据不同的条件选择不同的处理方法时,要用到选择结构;循环结构中必须有选择结构来控制循环.
(3)循环结构用于处理需要反复执行同一个算法的问题.
思考2在循环结构中,关键是根据条件设置合理的计数变量、累加(乘)变量,需要注意的是控制循环的条件表述要恰当、准确.累加变量的初值一般为0,而累乘变量的初值一般为1.
知识点二
自然语言框图流程线
题型探究
例1解算法如下:
第一步,输入x的值.
第二步,当x≤-1时,计算y=-x2-1,否则执行第三步.
第三步,计算y=x3.
第四步,输出y.
跟踪训练1解算法如下:
第一步,输入x的值.
第二步,当x≤-1时,计算y=2x-1,否则执行第三步.
第三步,当x<2时,计算y=log2(x+1),否则执行第四步.
第四步,计算y=x2.
第五步,输出y.
例2解算法如下:
第一步,设M的值为1.
第二步,设i的值为2.
第三步,如果i≤2 014,则执行第四步,否则转去执行第六步.
第四步,计算M乘i,并将结果赋给M.
第五步,计算i加1,并将结果赋给i,转去执行第三步.
第六步,输出M的值并结束算法.
算法框图如图:
跟踪训练2 计算12-22+32-42+…+992-1002的值 解析 i =1,S =12; i =2,S =12-22; i =3,S =12-22+32; i =4,S =12-22+32-42;
i =100,S =12-22+32-42+…+992-1002,i =100+1>100,终止循环,输出S . 故其功能是计算12-22+32-42+…+992-1002的值. 例3 解 算法框图如下:
跟踪训练3 解 设行李质量为x kg ,应付运费为y 元,则运费公式: y =⎩⎪⎨⎪
⎧
0.25x ,0<x ≤50,0.25×50+0.35(x -50),50<x ≤100,0.25×50+0.35×50+0.45(x -100),x >100,
整理得y =⎩⎪⎨⎪
⎧
0.25x ,0<x ≤50,0.35x -5,50<x ≤100,
0.45x -15,x >100.
算法步骤:
第一步,输入行李质量x .
第二步,当x ≤50时,计算y =0.25x ,否则,执行下一步.
第三步,当x ≤100时,计算y =0.35x -5;否则,计算y =0.45x -15. 第四步,输出y . 算法框图:
当堂训练 1.D
2.B [②、③正确,对于一个算法来说,算法框图不唯一,与设计有关,故①错.输入、输出的位置,不一定在开始和结束处,故④错.]
3.B [由算法框图知:第一次循环,S =1,i =1+1=2,不满足条件i >4,继续循环; 第二次循环,S =1+4=5,i =2+1=3,不满足条件i >4,继续循环; 第三次循环,S =5+9=14,i =3+1=4,不满足条件i >4,继续循环;
第四次循环,S =14+16=30,i =4+1=5,满足条件i >4,终止循环,输出S =30,故选B.]
4.B [由题意可知,s 为从12开始的逐渐减小的若干个整数的乘积, 由于12×11=132,故需要执行两次循环体.
初始条件:s =1,i =12;第一次循环:s =12,i =11;第二次循环:s =132,i =10. 由于i 的值为10时,应该退出循环体,故B 符合题意,故选B.]。