第一章 1.1 1.1.1 算法的概念课时分层训练1.下列关于算法的描述正确的是( )A.算法与求解一个问题的方法相同B.算法只能解决一个问题,不能重复使用C.算法过程要一步一步执行,每步执行的操作必须明确D.有的算法执行完后,可能无结果解析:选C 算法与求解一个问题的方法既有区别又有联系,故A不对;算法能重复使用,而且是某一类问题的解决步骤,故B不对;每个算法执行后必须有结果,故D不对;由算法的有序性和确定性可知C正确.2.下列可以看成算法的是( )A.学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做作业,之后做适当的练习题B.今天餐厅的饭真好吃C.这道数学题难做D.方程2x2-x+1=0无实数根解析:选A A是学习数学的一个步骤,所以是算法.3.如下算法:第一步,输入x的值.第二步,若x≥0,则y=x.第三步,否则,y=x2.第四步,输出y的值.若输出的y值为9,则x的值是( )A.3 B.-3C.3或-3D.-3或9解析:选D 根据题意可知,此为求分段函数y=的函数值的算法,当x≥0时,x=9;当x<0时,x2=9,所以x=-3.综上所述,x的值是-3或9.
4.对于算法:第一步,输入不小于2的正整数n.第二步,判断n是否等于2,若n=2,则执行第四步;若n>2,则执行第三步.第三步,依次从2到(n-1)检验能不能整除n,若不能整除n,则执行第四步;若能整除n,则执行第一步.第四步,输出n.满足条件的n是( )A.质数B.奇数C.偶数D.约数解析:选A 本题首先要理解质数,只能被1和自身整除的大于1的整数叫质数.2是最小的质数,这个算法通过对2到(n-1)一一验证,看是否有其他约数,来判断其是否为质数.5.一个算法步骤如下:第一步,S取值0,i取值1.第二步,若i≤9,则执行第三步;否则,执行第六步.第三步,计算S+i并将结果代替S.第四步,用i+2的值代替i.第五步,转去执行第二步.第六步,输出S.运行以上算法,则输出的结果S等于( )A.16B.25C.36D.以上均不对解析:选B 解本题关键是读懂算法,本题中的算法功能是求S=1+3+5+7+9=25.6.下列各式中S的值不能用算法求解的是________.①S=12+22+32+42+…+1002;②S=++++…+;③S=1+2+3+4+5+…;
④S=1-2+3-4+5-6+…+99-100.解析:根据算法的有限性知,③不能用算法求解.答案:③7.写出作y=|x|图象的算法.第一步,当x>0时,作出第一象限的角平分线.第二步,当x=0时,即为原点.第三步,__________________.解析:依据算法解决的问题知,第三步应为“当x<0时,作出第二象限的角平分线”.答案:当x<0时,作出第二象限的角平分线8.给出下列算法:第一步,输入x的值.第二步,当x>4时,计算y=x+2;否则y=2.第三步,输出y.当输入x=0时,输出y=________.解析:此算法的功能是计算y=故输入x=0时,输出值为2.答案:29.写出求1×2×3×4×5×6的一个算法.解:第一步,计算1×2,得到2.第二步,将第一步的运算结果2×3,得到6.第三步,将第二步的运算结果6×4,得到24.第四步,将第三步的运算结果24×5,得到120.第五步,将第四步的运算结果120×6,得到720.第六步,输出运算结果.10.已知某梯形的底边长AB=a,CD=b,高为h,写出一个求这个梯形面积S的算法.解:算法如下:第一步,输入梯形的底边长a和b,以及高h.第二步,计算a+b的值.第三步,计算(a+b)×h的值.
第四步,计算S=的值.第五步,输出结果S.1.对于求18的正因数,给出下面的两种算法:算法1:第一步,1是18的正因数,将1列出.第二步,2是18的正因数,将2列出.第三步,3是18的正因数,将3列出.第四步,4不是18的正因数,将4剔除.…第十八步,18是18的正因数,将18列出.算法2:第一步,18=2×9.第二步,18=2×32.第三步,列出所有的正因数1,2,3,32,2×3,2×32.则这两个算法( )A.都正确B.算法1正确,算法2不正确C.算法1不正确,算法2正确D.都不正确解析:选A 算法1是用1~18的整数逐一验证,得出的正因数.算法2利用因数分解得到18的正因数.两种算法都正确.故选A.2.能设计算法求解下列各式中S的值的是( )①S=+++…+;②S=+++…++…;③S=+++…+(n为确定的正整数).A.①②B.①③
C.②③D.①②③解析:选B 因为算法的步骤是有限的,所以②不能设计算法求解.易知①③能设计算法求解.3.现用若干张扑克牌进行扑克牌游戏.小明背对小亮,让小亮按下列四个步骤操作:第一步,分发左、中、右三堆牌,每堆牌不少于两张,且各堆牌的张数相同.第二步,从左边一堆拿出两张,放入中间一堆.第三步,从右边一堆拿出一张,放入中间一堆.第四步,左边一堆有几张牌,就从中间一堆拿出几张牌放入左边一堆.这时,小明准确地说出了中间一堆牌现有的张数,则中间一堆牌现有的张数是( )A.4B.5C.6D.8解析:选B 由第一步,知三堆牌的张数一样,设为x;第二步后,左边一堆牌的张数为(x-2),中间一堆牌的张数为(x+2);第三步后,中间一堆牌的张数为x+2+1=x+3;第四步,从中间一堆牌中抽出(x-2)张牌,则中间余下5张牌,故选B.4.阅读下面的算法:第一步,输入两个实数a,b.第二步,若a<b,则交换a,b的值,否则执行第三步.第三步,输出a.这个算法输出的是( )A.a,b中的较大数B.a,b中的较小数C.原来的a的值D.原来的b的值解析:选A a,b中较大的数,若a≥b,则输出a,若b>a,则输出b.5.有一问题的算法是:第一步,令i=1,S=0.第二步,若i≤100成立,则执行第三步;否则,输出S,结束算法.第三步,S=S+i.
第四步,i=i+1,返回第二步.则输出的结果是________.解析:S=0+1+2+…+100==5050.答案:50506.阅读下列算法:第一步,输入x.第二步,判断x>2是否成立,若是,y=x;否则,y=-2x+6.第三步,输出y.当输入的x∈[0,7]时,输出的y的取值范围是________.解析:由题意,y=x∈(2,7]y=x∈(2,7];x∈[0,2]y=-2x+6∈[2,6]所以输入的x∈[0,7]时,输出的y的取值范围是[2,7].答案:[2,7]7.一个人带着三只狼和三只羚羊过河,只有一条船,该船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃羚羊.此人将动物转移过河的算法如下.请在横线上填上适当的步骤:第一步,人带两只狼过河,并自己返回.第二步,人带一只狼过河,自己返回.第三步,________.第四步,人带一只羚羊过河,自己返回.第五步,人带两只狼过河.解析:如不将两只狼带回,则人第三步返回后,狼会吃羚羊.答案:人带两只羚羊过河,并带两只狼返回8.“韩信点兵”问题:韩信是汉高祖手下的大将,他英勇善战,谋略超群,为汉朝的建立立下了不朽功勋.据说他在一次点兵的时候,为保住军事秘密,不让敌人知道自己部队的军事实力,采用下述点兵方法:①先令士兵从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.