1、1算法的基本思想一、选择题1.下列可以看成算法的是()A.学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做作业,之后做适当的练习题B.今天餐厅的饭真好吃C.这道数学题难做D.方程2x2x10无实数根答案A解析A是学习数学的一个步骤,所以是算法.2.下列关于算法的描述正确的是()A.算法与求解一个问题的方法相同B.算法只能解决一个问题,不能重复使用C.算法过程要一步一步执行,每步执行的操作必须确切D.有的算法执行完后,可能无结果答案C解析算法与求解一个问题的方法既有区别又有联系,故A不对;算法能重复使用,故B不对;每个算法执行后必须有结果,故D不对;由算法的有序性和确定性可知C正确.
2、3.我们已学过的算法有求解一元二次方程的求根公式,加减消元法求二元一次方程组的解,二分法求出函数的零点等,对算法的描述有:对一类问题都有效;算法可执行的步骤必须是有限的;算法可以一步一步地进行,每一步都有确切的含义;是一种通法,只要按部就班地做,总能得到结果.以上算法的描述正确的有()A.1个 B.2个 C.3个 D.4个答案D解析由算法的概念可知都正确,故选D.4.如下算法:(1)输入x的值.(2)若x0,则yx.(3)否则,yx2.(4)输出y的值.若输出的y值为9,则x的值为()A.3 B.3 C.3或3 D.3或9答案D解析根据题意可知,此为分段函数y的算法,当x0时,x9;当x0时,
3、x29,所以x3.综上所述,x的值是3或9.5.关于一元二次方程x25x60的求根问题,下列说法正确的是()A.只能设计一种算法B.可以设计多种算法C.不能设计算法D.不能根据解题过程设计算法答案B解析算法具有不唯一性,对于一个问题,我们可以设计不同的算法.6.对于算法:(1)输入n;(2)判断n是否等于2,若n2,则n满足条件;若n2,则执行第(3)步;(3)依次从2到(n1)检验能不能整除n,若不能整除n,则执行第(4)步;若能整除n,则执行第(1)步;(4)输出n.满足条件的n是()A.质数 B.奇数 C.偶数 D.约数答案A解析此题首先要理解质数,只能被1和自身整除的大于1的整数叫质数
4、.2是最小的质数,这个算法通过对2到(n1)一一验证,看是否有其他约数,来判断其是否为质数.7.早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、泡面(3 min)、吃饭(10 min)、听广播(8 min)几个过程.下列选项中最好的一种算法是()A.第一步,洗脸刷牙.第二步,刷水壶.第三步,烧水.第四步,泡面.第五步,吃饭.第六步,听广播B.第一步,刷水壶.第二步,烧水同时洗脸刷牙.第三步,泡面.第四步,吃饭.第五步,听广播C.第一步,刷水壶.第二步,烧水同时洗脸刷牙.第三步,泡面.第四步,吃饭同时听广播D.第一步,吃饭同时听广播.第二步,泡面.第三步,烧
5、水同时洗脸刷牙.第四步,刷水壶考点算法的设计与应用题点应用问题的算法设计答案C解析最好算法的标准是方便、省时、省力.A中共需528310836(min),B中共需28310831(min),C中共需2831023(min),D中共需1038223(min),但算法步骤不合理,最好的算法为C.8.一个算法步骤如下:(1)S取值0,i取值1.(2)若i9,则执行第(3)步;否则,执行第(6)步.(3)计算Si并用结果代替S.(4)用i2的值代替i.(5)转去执行第(2)步.(6)输出S.运行以上算法,则输出的结果S等于()A.16 B.25C.36 D.以上均不对考点算法的设计与应用题点循环型算法
6、设计答案B解析解本题关键是读懂算法,本题中的算法功能是求S1357925.9.结合下面的算法:(1)输入x.(2)判断x是否小于0,若是,则输出x2,否则执行第(3)步.(3)输出x1.当输入的x的值为1,0,1时,输出的结果分别为()A.1,0,1 B.1,1,0C.1,1,0 D.0,1,1考点算法的概念题点算法功能的判断与结果的求解答案C解析依据算法可知,当x1时,满足x0,则输出x2121;当x0时,不满足x0,则输出x1011;当x1时,不满足x0).2.判断“x800”是否成立,若是,则y0.7x,转第4步;否则,执行第3步.3.判断“x400”是否成立,若是,则y0.8x,转第4
7、步;否则,yx.4.输出y,结束算法.14.如图所示,汉诺塔问题是指有3根杆子A,B,C,杆子上有若干碟子,把所有的碟子从B杆移动到A杆上,每次只能移动一个碟子,大的碟子不能叠在小的碟子上面.把B杆上的3个碟子全部移动到A杆上,最少需要移动的次数是_.考点算法的设计与应用题点应用问题的算法设计答案7解析直接进行分析,将最小的碟子命名为,中间的碟子命名为,最大的碟子命名为,进行如下移动:A,C,C,A,B,A,A,此时按要求全部放好,移动7次.15.鸡兔同笼问题:鸡和兔各若干只,数腿共100条,数头共30个,试设计一个算法,求出鸡和兔各有多少只.解算法步骤如下:1.设有x只鸡,y只兔,列方程组 2.2(1),得y20.3.把y20代入x30y,得x10.4.得到方程组的解5.输出结果,鸡10只,兔20只.