1、11算法与程序框图11.1算法的概念1通过回顾二元一次方程组的求解过程,体会算法的基本思想2了解算法的含义和特征3会用自然语言描述简单的具体问题的算法1算法的特征(1)有限性:一个算法的步骤序列是有限的,必须在有限的操作之后停止,不能是无限的(2)确定性:算法中的每一步应该是确定的,并且能有效地执行且得到确定的结果,而不应当模棱两可(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后续步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题(4)不唯一性:求解某一问题的解法不一定是唯一的,对于同一个问题可以有不同的算法
2、(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决2算法与计算机计算机解决任何问题都要依赖于算法只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题3算法的设计(1)设计算法的目的设计算法的目的实际上是寻求一类问题的解决方法,它可以通过计算机来完成设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能够接受的“语言”准确地描述出来,从而达到让计算机执行的目的(2)设计算法的要求写出的算法必须能解决一类问题要使算法尽量简单、步骤尽量少要保证算法步骤有效,且计算机能
3、够执行判断正误(正确的打“”,错误的打“”)(1)一个算法可以无止境地算下去()(2)一个程序的算法步骤是可逆的()(3)算法执行后可以不产生确定的结果()提示(1)一个算法的步骤是有限的,必须保证执行有限步后结束(2)算法的步骤具有顺序性,是不可逆的(3)一个算法得到有效地执行后应该得到确定的结果题型一 对算法概念的理解【典例1】下列描述不能看作算法的是()A洗衣机的使用说明书B解方程x22x10C做米饭需要刷锅、淘米、添水、加热这些步骤D利用公式Sr2计算半径为3的圆的面积,就是计算32解析A、C、D都描述了解决问题的过程,可以看作算法,而B只描述了一个事例,没有说明怎样解决问题,不是算法
4、答案B算法的判断方法要判断一个语段是不是算法,需要抓住以下两点:(1)写出的算法可以用于解决某一类问题,并且能重复使用;(2)算法的过程或步骤必须是确定的且经过有限步后能完成的针对训练1下列说法中是算法的有_(填序号)从上海到拉萨旅游,先坐飞机,再坐客车;解一元一次不等式的步骤是去分母、去括号、移项、合并同类项,系数化为1;求以A(1,1),B(1,2)两点为端点的线段AB的中垂线方程,可先求出AB中点的坐标,再求kAB及中垂线的斜率,最后用点斜式方程求得线段AB的中垂线方程;求1234的值,先计算122,再计算236,6424,得最终结果为24;x2x4.解析说明了从上海到拉萨的行程安排给出
5、了解一元一次不等式这类问题的解法给出了求线段的中垂线的方法及步骤给出了求1234的值的过程并得出结果故都是算法答案题型二 算法的设计【典例2】给出求解方程组的一个算法解解法一:用代入消元法第一步,由2xy7得y72x.第二步,将y72x代入4x5y11,得4x5(72x)11,解得x4.第三步,将x4代入方程y72x,解得y1.第四步,输出方程组的解为解法二:用加减消元法第一步,方程2xy7两边都乘以5得,10x5y35.第二步,将第一步所得的方程与方程4x5y11作差,消去y得6x24,解得x4.第三步,将x4代入方程2xy7,解得y1.第四步,输出方程组的解为设计算法的四个步骤针对训练2所
6、谓正整数p为素数是指:p的所有约数只有1和p.例如,35不是素数,因为35的约数除了1,35外,还有5与7;29是素数,因为29的约数就只有1和29.试设计一个能够判断一个任意正整数n(n1)是否为素数的算法解算法如下:第一步,给出任意一个正整数n(n1)第二步,若n2,则输出“2是素数”,判断结束第三步,令m1.第四步,将m的值增加1,仍用m表示第五步,如果mn,则输出“n是素数”,判断结束第六步,判断m能否整除n,如果能整除,则输出“n不是素数”,判断结束;如果不能整除,则转第四步.题型三 算法的实际应用【典例3】一次青青草原草原长包包大人带着灰太狼、懒羊羊和一捆青草过河河边只有一条船,由
7、于船太小,只能装下两样东西在无人看管的情况下,灰太狼要吃懒羊羊,懒羊羊要吃青草,请问包包大人如何才能带着他们平安过河?试设计一种算法思路导引先根据条件建立过程模型,再设计算法解包包大人采取的过河的算法可以是:第一步,包包大人带懒羊羊过河;第二步,包包大人自己返回;第三步,包包大人带青草过河;第四步,包包大人带懒羊羊返回;第五步,包包大人带灰太狼过河;第六步,包包大人自己返回;第七步,包包大人带懒羊羊过河解决此类问题:(1)弄清题目中所给要求(2)建立过程模型(3)根据过程模型建立算法步骤,必要时由变量进行判断针对训练3某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为C其中W(单位:kg)为
8、行李的质量请设计一个计算托运费C(单位:元)的算法解第一步,输入行李的质量W.第二步,若W50,则C0.53W;否则,C500.53(W50)0.85.第三步,输出托运费C.课堂归纳小结1算法的特点:有限性、确定性、逻辑性、普遍性、不唯一性2算法设计的要求:(1)写出的算法必须能够解决一类问题(如判断一个整数是否为质数,求任意一个方程的近似解等),并且能够重复使用(2)要使算法尽量简单,步骤尽量少(3)要保证算法正确,且算法步骤能够一步一步执行,每步执行的操作必须确切,不能含混不清,而且在有限步后能得到结果1下列可以看成算法的是()A学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做
9、作业,之后做适当的练习题B今天餐厅的饭真好吃C这道数学题难做D方程2x2x10无实数根解析A是学习数学的一个步骤,所以是算法答案A2下面四种叙述能称为算法的是()A在家里一般是妈妈做饭B世界杯决赛中规定两队出场顺序为混双、男单、男双、女单、女双,且赢3局者为冠军C在野外做饭叫野炊D做饭必须要有米解析算法是解决一类问题的程序或步骤,A,C,D均不符合答案B3下列有关“算法”的说法不正确的是()A算法是解决问题的方法和步骤B算法的每一个步骤和次序应当是确定的C算法在执行有限个步骤后必须结束D算法是能够在计算机上运行的程序语言解析因为算法是为解决问题而设计的一系列可操作或可计算的步骤,通过这些步骤能
10、够有效地解决问题算法具有有限性、确定性、有序性、可行性、有输出等特征,因此A,B,C正确,而算法只有用计算机能够接受的“语言”准确的描述出来,才能够在计算机上运行,而一般用自然语言描述的算法是不能够在计算机上运行的程序语言答案D4有蓝、黑两个墨水瓶,但现在却错把蓝墨水装在了黑墨水瓶中,黑墨水错装在了蓝墨水瓶中,要求将其互换,现有空墨水瓶若干,解决这一问题最少需要的步骤数为()A2 B3 C4 D5解析第一步,将蓝墨水装到一个空墨水瓶中;第二步,将黑墨水装到黑墨水瓶中;第三步,将蓝墨水装到蓝墨水瓶中,这样就解决了这个问题,故选B.答案B5早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 m
11、in)、烧水(8 min)、泡面(3 min)、吃饭(10 min)、听广播(8 min)几个过程下列选项中最好的一种算法是()A第一步,洗脸刷牙第二步,刷水壶第三步,烧水第四步,泡面第五步,吃饭第六步,听广播B第一步,刷水壶第二步,烧水同时洗脸刷牙第三步,泡面第四步,吃饭第五步,听广播C第一步,刷水壶第二步,烧水同时洗脸刷牙第三步,泡面第四步,吃饭同时听广播D第一步,吃饭同时听广播第二步,泡面第三步,烧水同时洗脸刷牙第四步,刷水壶解析最好算法的标准是方便、省时、省力A中共需528310836(min),B中共需28310831(min),C中共需2831023(min),D中共需103822
12、3(min),但算法步骤不合理,最好的算法为C.答案C课后作业(一) (时间45分钟)学业水平合格练(时间25分钟)1下列关于算法的说法正确的是()A一个算法的步骤是可逆的B描述算法可以有不同的方式C算法可以看成是按照要求设计好的、有限的、确切的计算序列,并且这样的步骤或序列只能解决当前问题D算法只能用一种方式显示解析由算法的定义知A,C,D错答案B2计算下列各式中S的值,能设计算法求解的是()S;S;S(n1,nN*)A B C D解析由算法的有限性知,不能设计算法求解,都能通过有限步输出确定结果答案B3使用配方法解方程x24x30的算法的正确步骤是()配方得(x2)21;移项得x24x3;
13、解得x1或x3;开方得x21.A BC D解析使用配方法的步骤应按移项、配方、开方、得解的顺序进行,故选B.答案B4在用二分法求方程零点的算法中,下列说法正确的是()A这个算法可以求所有的零点B这个算法可以求任何方程的零点C这个算法能求所有零点的近似解D这个算法可以求变号零点的近似解解析二分法的理论依据是函数的零点存在定理它解决的是求变号零点的问题,并不能求所有零点的近似值答案D5给出下面一个算法:第一步,给出三个数x,y,z.第二步,计算Mxyz.第三步,计算NM.第四步,得出每次计算结果则上述算法是()A求和 B求余数C求平均数 D先求和再求平均数解析由算法过程可知M为三数之和,N为这三个
14、数的平均数,故选D.答案D6已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:(1)计算c;(2)输入直角三角形两直角边长a,b的值;(3)输出斜边长c的值其中正确的顺序是_解析算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算答案(2)(1)(3)7判断5是否为质数的算法步骤如下:第一步:用2除5,得余数为1.因为余数不为0,所以2不能整除5.第二步:_.第三步:用4除5,得余数为1.因为余数不为0,所以4不能整除5.因此,5是质数答案用3除5,得余数为2.因为余数不为0,所以3不能整除58已知一个学生的语文成绩为89,数学成绩为96,外语成绩为9
15、9.求他的总分和平均分的一个算法为:第一步,令A89,B96,C99.第二步,计算总分S_.第三步,计算平均分M_.第四步,输出S和M.答案ABC9写出解方程x22x30的一个算法解解法一:第一步,移项得x22x3.第二步,式两边同加1,并配方得(x1)24.第三步,式两边开方,得x12.第四步,解得x3或x1.解法二:第一步,计算出一元二次方程的判别式的值,并判断其符号,显然2243160.第二步,将a1,b2,c3代入求根公式x1,2得,x13或x21.10下面给出一个问题的算法:第一步,输入x.第二步,若x4,则执行第三步,否则执行第四步第三步,输出2x1结束第四步,输出x22x3结束问
16、:(1)这个算法解决的问题是什么?(2)当输入的x的值为多少时,输出的数值最小?解(1)这个算法解决的问题是求分段函数y的函数值的问题(2)本问的实质是求分段函数最小值的问题当x4时,y2x17;当x1)第二步,判断n是否等于2,若n2,则输出n;若n2,则执行第三步第三步,依次从2到n1检验能不能整除n,若不能整除n,则执行第四步;若能整除n,则执行第一步第四步,输出n.则输出的n的值是()A奇数 B偶数 C质数 D合数解析根据算法可知n2时,输出n的值2;若n3,输出n的值3;若n4,2能整除4,则重新输入n的值,故输出的n的值为质数答案C12小明中午放学回家自己煮面条吃,有下面几道工序:
17、洗锅、盛水2分钟;洗菜6分钟;准备面条及佐料2分钟;用锅把水烧开10分钟;煮面条和菜共3分钟以上各道工序,除了之外,一次只能进行一道工序小明要将面条煮好,最少要用()A13分钟 B14分钟C15分钟 D23分钟解析第一步,洗锅、盛水花2分钟;第二步,用锅把水烧开10分钟,同时洗菜6分钟、准备面条及佐料2分钟,总计10分钟第三步,用烧开的水煮面条和菜要3分钟总计共用210315分钟答案C13. 下面给出了解决问题的算法:第一步,输入x.第二步,若x1,则y2x1,否则yx23.第三步,输出y.(1)这个算法解决的问题是_;(2)当输入的x值为_时,输入值与输出值相等解析由算法过程知这个算法解决的
18、问题是求分段函数y的函数值,由或解得x1.答案(1)求分段函数y的函数值(2)114已知一个算法如下:第一步,令ma.第二步,如果bm,则mb.第三步,如果cm,则mc.第四步,输出m.如果a3,b6,c2,则执行这个算法的结果是_解析这个算法是求a,b,c三个数中的最小值,故这个算法的结果是2.答案215设计一个算法,找出闭区间20,25上所有能被3整除的整数解第一步,用20除以3,余数不为0,故20不能被3整除;第二步,用21除以3,余数为0,故21能被3整除;第三步,用22除以3,余数不为0,故22不能被3整除;第四步,用23除以3,余数不为0,故23不能被3整除;第五步,用24除以3,余数为0,故24能被3整除;第六步,用25除以3,余数不为0,故25不能被3整除;第七步,指出在闭区间20,25上能被3整除的整数为21和24.