1.1.1
算法的概念
同步练习
下列关于算法的说法错误的是( )
A.一个算法的步骤是可逆的
B.描述算法可以有不同的方式
C.设计算法要本着简单方便的原则
D.一个算法不可以无止境地运算下去
解析:选A.由算法定义可知B、C、D对,A错.
下列可以看成算法的是( )
A.学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做作业,之后做适当的练习题
B.今天餐厅的饭真好吃
C.这道数学题难做
D.方程2x2-x+1=0无实数根
解析:选A.是学习数学的一个步骤,所以是算法.
早上从起床到出门需要洗脸刷牙(5
min)、刷水壶(2
min)、烧水(8
min)、泡面(3
min)、吃饭(10
min)、听广播(8
min)几个过程.则下列选项中最好的一种算法是( )
A.第一步,洗脸刷牙.第二步,刷水壶.第三步,烧水.第四步,泡面.第五步,吃饭.第六步,听广播
B.第一步,刷水壶.第二步,烧水同时洗脸刷牙.第三步,泡面.第四步,吃饭.第五步,听广播
C.第一步,刷水壶.第二步,烧水同时洗脸刷牙.第三步,泡面.第四步,吃饭同时听广播
D.第一步,吃饭同时听广播.第二步,泡面.第三步,烧水同时洗脸刷牙.第四步,刷水壶
解析:选C.因为A选项共用时间36
min,B选项共用时间31
min,C选项共用时间23
min,D选项的算法步骤不符合常理.
4.一个算法步骤如下:
S1,S取值0,i取值1;
S2,如果i≤10,则执行S3,否则执行S6;
S3,计算S+i并将结果代替S;
S4,用i+2的值代替i;
S5,转去执行S2;
S6,输出S.
运行以上步骤输出的结果S=( )
A.16
B.25
C.36
D.以上均不对
解析:选B.由以上计算可知:S=1+3+5+7+9=25,答案为B.
5.有如下算法:
第一步,输入不小于2的正整数n.
第二步,判断n是否为2.若n=2,则n满足条件;若n>2,则执行第三步.
第三步,依次从2到n-1检验能不能整除n,若不能整除,则n满足条件.
则上述算法满足条件的n是( )
A.质数
B.奇数
C.偶数
D.约数
解析:选A.根据质数、奇数、偶数、约数的定义可知,满足条件的n是质数.
6.下列各式中S的值不能用算法求解的是________.
①S=12+22+32+42+…+1002;
②S=++++…+;
③S=1+2+3+4+5+…;
④S=1-2+3-4+5-6+…+99-100.
解析:根据算法的有限性知③不能用算法求解.
答案:③
写出作y=|x|图象的算法.
第一步,当x>0时,作出第一象限的角平分线.
第二步,当x=0时,即为原点.
第三步,________________________.
解析:依据算法解决的问题知,第三步应为“当x<0时,作出第二象限的角平分线”.
答案:当x<0时,作出第二象限的角平分线
如下算法:
第一步,输入x的值;
第二步,若x≥0,则y=x;
第三步,否则,y=x2;
第四步,输出y的值,
若输出的y值为9,则x=________.
解析:根据题意可知,此为分段函数y=的算法,当x≥0时,x=9;当x<0时,x2=9,所以x=-3.
答案:9或-3
写出求方程组的解的算法.
解:法一:第一步,①-②得:2x=14+2; ③
第二步,解方程③得:x=8;
④
第三步,将④代入②得:8+2y=-2;
⑤
第四步,解⑤得:y=-5;
第五步,得到方程组的解为.
法二:第一步,由②式移项可得:x=-2-2y;
③
第二步,把③代入①得:y=-
5;
④
第三步,把④代入③得:x=8;
第四步,得到方程组的解为.
试设计一个判断圆(x-a)2+(y-b)2=r2和直线Ax+By+C=0位置关系的算法.
解:第一步,输入圆心的坐标、直线方程的系数和半径r.
第二步,计算z1=Aa+Bb+C.
第三步,计算z2=A2+B2.
第四步,计算d=.
第五步,如果d>r,则相离;如果d=r,则相切;如果d[高考水平训练]
结合下面的算法:
第一步,输入x,
第二步,判断x是否小于0,若是,则输出x+2,否则执行第三步.
第三步,输出x-1.
当输入的x的值为-1,0,1时,输出的结果分别为( )
A.-1,0,1
B.-1,1,0
C.1,-1,0
D.0,-1,1
解析:选C.根据x值与0的关系选择执行不同的步骤.
一个人带着三只狼和三只羚羊过河,只有一条船,该船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃羚羊.该人将动物转移过河的算法如下.请在横线上填上适当的步骤:
第一步,人带两只狼过河,并自己返回.
第二步,人带一只狼过河,自己返回.
第三步,____________________________________________________.
第四步,人带一只羚羊过河,自己返回.
第五步,人带两只狼过河.
解析:因为没有人在的时候,狼的数量应少于羚羊的数量,因此第三步人应带两只羚羊过河,且再带回两只狼.
答案:人带两只羚羊过河,并带两只狼返回
“韩信点兵”问题:韩信是汉高祖手下的大将,他英勇善战,谋略超群,为汉朝的建立立下了不朽功勋.据说他在一次点兵的时候,为保住军事秘密,不让敌人知道自己部队的军事实力,采用下述点兵方法:①先令士兵从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.国际奥委会宣布2020年夏季奥运会主办城市为日本的东京;据《中国体育报》报道:对参与竞选的5个夏季奥林匹克运动会申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票数超过总票数的一半,那么该城市将获得举办权;如果所有申办城市得票数都不超过总票数的一半,则将得票最少的城市淘汰,然后进行第二轮投票;如果第二轮投票仍没选出主办城市,将进行第三轮投票,如此重复投票,直到选出一个主办城市为止,写出投票过程的算法.
解:算法如下:
第一步,投票;
第二步,统计票数,如果一个城市得票数超过总票数的一半,那么该城市就获得主办权,否则淘汰得票数最少的城市转第一步.
第三步,宣布主办城市.