1、11算法与程序框图11.1算法的概念学习目标1通过解二元一次方程组的方法,体会算法的基本思想2了解算法的含义和特征3会用自然语言表述简单的算法知识链接1初中时,可以通过消去法解二元一次方程组.2只能够被1和本身整除的大于1的整数叫质数3对于区间a,b上连续不断且f(a)f(b)x1;求所有能被3整除的正数,即3,6,9,12,.能称为算法的有_(填序号)答案解析根据算法的含义和特征:都是算法;不是算法其中,3xx1不是一个明确的步骤,不符合明确性;的步骤是无穷的,与算法的有限性矛盾要点二算法的设计例2(1)设计一个算法,判断7是否为质数(2)设计一个算法,判断35是否为质数解(1)S1用2除7
2、,得到余数1,所以2不能整除7.S2用3除7,得到余数1,所以3不能整除7.S3用4除7,得到余数3,所以4不能整除7.S4用5除7,得到余数2,所以5不能整除7.S5用6除7,得到余数1,所以6不能整除7.因此,7是质数(2)S1用2除35,得到余数1,所以2不能整除35.S2用3除35,得到余数2,所以3不能整除35.S3用4除35,得到余数3,所以4不能整除35.S4用5除35,得到余数0,所以5能整除35.因此,35不是质数规律方法设计一个具体问题的算法,通常按以下步骤:(1)认真分析问题,找出解决此题的一般数学方法;(2)借助有关变量或参数对算法加以表述;(3)将解决问题的过程划分为
3、若干步骤;(4)用简练的语言将这个步骤表示出来跟踪演练2判断一个大于2的整数是否为质数的算法步骤如何设计?解S1给定一个大于2的整数n.S2令i2.S3用i除n,得到余数r.S4判断“r0”是否成立若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示S5判断“in1”是否成立若是,则n是质数,结束算法;否则,返回S3.要点三算法的应用例3一次青青草原园长包包大人带着灰太狼、懒羊羊和一捆青草过河河边只有一条船,由于船太小,只能装下两样东西在无人看管的情况下,灰太狼要吃懒羊羊,懒羊羊要吃青草,请问包包大人如何才能带着它们平安过河?试设计一种算法解包包大人采取的过河的算法可以是:S1包包大
4、人带懒羊羊过河;S2包包大人自己返回;S3包包大人带青草过河;S4包包大人带懒羊羊返回;S5包包大人带灰太狼过河;S6包包大人自己返回;S7包包大人带懒羊羊过河规律方法对于像查找、变量代换、文字处理等非数值型计算问题,设计算法时,首先建立过程模型,然后根据过程设计步骤,完成算法跟踪演练3一位商人有9枚银元,其中有1枚略轻的是假银元,你能用天平(无砝码)将假银元找出来吗?解法一算法如下:S1任取2枚银元分别放在天平的两边,若天平左、右不平衡,则轻的一枚就是假银元,若天平平衡,则进行S2.S2取下右边的银元放在一边,然后把剩下的7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元法
5、二算法如下S1把9枚银元平均分成3组,每组3枚S2先将其中两组放在天平的两边,若天平不平衡,则假银元就在轻的那一组;否则假银元在未称量的那一组S3取出含假银元的那一组,从中任取2枚银元放在天平左、右两边称量,若天平不平衡,则假银元在轻的那一边;若天平平衡,则未称量的那一枚是假银元.1下列关于算法的描述正确的是()A算法与求解一个问题的方法相同B算法只能解决一个问题,不能重复使用C算法过程要一步一步执行D有的算法执行完以后,可能没有结果答案C解析算法与求解一个问题的方法既有区别又有联系,故A不对算法能够重复使用,故B不对每一个算法执行完以后,必须有结果,故D不对2下列四种自然语言叙述中,能称作算
6、法的是()A在家里一般是妈妈做饭B做米饭需要刷锅、淘米、添水、加热这些步骤C在野外做饭叫野炊D做饭必须要有米答案B解析算法是做一件事情或解决一个问题等的程序或步骤,故选B.3在用二分法求函数零点的算法中,下列说法正确的是()A这个算法可以求所有的零点B这个算法可以求任何函数的零点C这个算法能求所有零点的近似解D这个算法可以求变号零点近似解答案D解析二分法的理论依据是函数的零点存在定理它解决的是求变号零点的问题,并不能求所有零点的近似值4计算下列各式中的S值,能设计算法求解的是()S123100;S123100;S123n(n1,nN)AB CD答案B解析由算法的有限性知不正确,而都可通过有限的
7、步骤操作,输出确定结果5已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99,求成绩的总分和平均分的一个算法如下,请将其补充完整:S1取A89,B96,C99.S2_.S3_.S4输出计算结果答案计算总分DABC计算平均分E1算法的特点:(1)有限性:一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束(2)确定性:算法的计算规则及相应的计算步骤必须是唯一确定的,既不能含糊其词,也不能有二义性(3)可行性:算法中的每一个步骤都是可以在有限的时间内完成的基本操作,并能得到确定的结果2算法没有一个固定的模式,但有以下几个基本要求:(1)符合运算规则,计算机能操作;(2)每个步骤都有
8、一个明确的计算任务;(3)对重复操作步骤作返回处理;(4)步骤尽可能少;(5)每个步骤的语言描述要准确、简明.一、基础达标1下列可以看成算法的是()A学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做作业,之后做适当的练习题B今天餐厅的饭真好吃C这道数学题难做D方程2x2x10无实数根答案A解析A是学习数学的一个步骤,所以是算法2下列所给问题中,不可以设计一个算法求解的是()A二分法求方程x230的近似解B解方程组C求半径为3的圆的面积D判断函数yx2在R上的单调性答案D解析A、B、C选项中的问题都可以设计算法解决,D选项中的问题由于x在R上取值无穷尽,所以不能设计一个算法求解3下列
9、各式中T的值不能用算法求解的是()AT122232421002BTCT12345DT12345699100答案C解析根据算法的有限性知C不能用算法求解4小明中午放学回家自己煮面条吃,有下面几道工序:洗锅盛水2分钟;洗菜6分钟;准备面条及佐料2分钟;用锅把水烧开10分钟;煮面条3分钟以上各道工序,除了之外,一次只能进行一道工序小明要将面条煮好,最少要用的分钟数为()A13B14 C15D23答案C解析洗锅盛水2分钟、用锅把水烧开10分钟(同时洗菜6分钟、准备面条及佐料2分钟)、煮面条3分钟,共为15分钟5已知A(x1,y1),B(x2,y2),求直线AB的斜率的一个算法如下:S1输入x1,y1,
10、x2,y2的值S2计算xx2x1,yy2y1.S3若x0,则输出斜率不存在,否则(x0),k_.S4输出斜率k.则处应填_答案6给出下列算法:S1输入x的值S2当x4时,计算yx2;否则执行下一步S3计算y.S4输出y.当输入x0时,输出y_.答案2解析04,执行S3,y2.7已知某梯形的底边长ABa,CDb,高为h,写出一个求这个梯形面积S的算法解算法如下:S1输入梯形的底边长a和b,以及高h.S2计算ab的值S3计算(ab)h的值S4计算S的值S5输出结果S.二、能力提升8对于算法:S1输入n.S2判断n是否等于2,若n2,则n满足条件;若n2,则执行S3.S3依次从2到(n1)检验能不能
11、被整除n,若不能被整除n,则执行S4;若能整除n,则结束算法S4输出n.满足条件的n是()A质数 B奇数 C偶数D约数答案A解析此题首先要理解质数,只能被1和自身整除的大于1的整数叫质数.2是最小的质数,这个算法通过对2到(n1)一一验证,看是否有其他约数,来判断其是否为质数9下面给出了解决问题的算法:S1输入x.S2若x1,则y2x1,否则yx23.S3输出y.(1)这个算法解决的问题是_;(2)当输入的x值为_时,输入值与输出值相等答案(1)求分段函数y的函数值(2)110请说出下面算法要解决的问题_S1输入三个数,并分别用a,b,c表示;S2比较a与b的大小,如果ab,则交换a与b的值;
12、S3比较a与c的大小,如果ac,则交换a与c的值;S4比较b与c的大小,如果bb.S3运行后ac.S4运行后bc,abc.S5运行后,显示a,b,c的值,且从大到小排列11写出方程x24x120的一个算法解法一S1移项,得x24x12.S2式两边同加4并配方,得(x2)216.S3式两边开方,得x24.S4解得x6或x2.法二S1将方程左边因式分解,得(x6)(x2)0.S2由得x60或x20.S3解得x6或x2.法三S1计算方程的判别式424120.S2将a1,b4,c12代入求根公式x,得x16,x22.三、探究与创新12鸡兔同笼问题:鸡和兔各若干只,数腿共100条,数头共30只,试设计一个算法,求出鸡和兔各有多少只解S1设有x只鸡,y只兔,列方程组S22(1),得y20.S3把y20代入x30y,得x10.S4得到方程组的解S5输出结果,鸡10只,兔20只13写出求123456的一个算法解法一S1计算12,得到2.S2将S1的运算结果2乘3,得到6.S3将S2的运算结果6乘4,得到24.S4将S3的运算结果24乘5,得到120.S5将S4的运算结果120乘6,得到720.S6输出运算结果法二S1输入n的值6.S2令i1,S1.S3判断“in”是否成立,若不是,输出S,结束算法;若是,执行下一步S4令S的值乘i,仍用S表示,令i的值增加1,仍用i表示,返回S3.