1、第一章 算法初步1.1 算法与程序框图1.1.1 算法的概念A级基础巩固一、选择题1下列四种自然语言叙述中,能称作算法的是()A在家里一般是妈妈做饭B做米饭需要刷锅、淘米、添水、加热这些步骤C在野外做饭叫野炊D做饭必须要有米解析:算法是做一件事情或解决一类问题的程序或步骤,故选B.答案:B2下列关于算法的说法正确的是()A一个算法的步骤是可逆的B描述算法可以有不同的方式C算法可以看成是按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列只能解决当前问题D算法只能用一种方式显示解析:由算法的定义可知A、C、D错答案:B3给出下面一个算法:第一步,给出三个数x,y,z.第二步,计算Mxyz.
2、第三步,计算NM.第四步,得出每次计算结果则上述算法是()A求和B求余数C求平均数 D先求和再求平均数解析:由算法过程知,M为三数之和,N为这三数的平均数答案:D4一个算法步骤如下:S1,S取值0,i取值1;S2,如果i10,则执行S3;否则,执行S6;S3,计算Si并将结果代替S;S4,用i2的值代替i;S5,转去执行S2;S6,输出S.运行以上步骤后输出的结果S()A16 B25C36 D以上均不对解析:由以上计算可知:S1357925.答案:B5有如下算法:第一步,输入不小于2的正整数n.第二步,判断n是否为2.若n2,则n满足条件;若n2,则执行第三步第三步,依次从2到n1的检验能不能
3、整除n,若不能整除,则n满足条件则上述算法满足条件的n是()A质数 B奇数C偶数 D约数解析:根据质数、奇数、偶数、约数的定义可知,满足条件的n是质数答案:A二、填空题6给出下列算法:第一步,输入x的值第二步,当x4时,计算yx2;否则执行下一步第三步,计算y.第四步,输出y.当输入x0时,输出y_解析:因为00时,作出第一象限的角平分线第二步,当x0时,即为原点第三步,_.解析:依据算法解决的问题知,第三步应为“当x0时,作出第二象限的角平分线”答案:当x0时,作出第二象限的角平分线8如下算法:第一步,输入x的值;第二步,若x0,则yx;第三步,否则,yx2;第四步,输出y的值若输出的y值为
4、9,则x_解析:根据题意可知,此为求分段函数y的函数值的算法,当x0时,x9;当x0时,x29,所以x3.答案:9或3三、解答题9写出求123456的算法解:第一步,计算12得到2.第二步,将第一步的运算结果2乘3,得到6.第三步,将第二步的运算结果6乘4,得到24.第四步,将第三步的运算结果24乘5,得到120.第五步,将第四步的运算结果120乘6,得到720.10设计一个解方程x22x30的算法解:算法如下:第一步,移项,得x22x3.第二步,式两边加1,并配方得(x1)24.第三步,式两边开方,得x12.第四步,解得x3或x1.第五步,输出结果x3或x1.B级能力提升1结合下面的算法:第
5、一步,输入x.第二步,判断x是否小于0,若是,则输出x2;否则,执行第三步第三步,输出x1.当输入的x的值为1,0,1时,输出的结果分别为()A1,0,1 B1,1,0C1,1,0 D0,1,1解析:根据x值与0的关系选择执行不同的步骤答案:C2求过P(a1,b1),Q(a2,b2)两点的直线斜率有如下的算法,请将算法补充完整:S1取x1a1,y1b1,x2a2,y2b2.S2若x1x2,则输出斜率不存在;否则,_S3输出计算结果k或者无法求解信息解析:根据直线斜率公式可得此步骤答案:k3鸡兔同笼问题:鸡和兔各若干只,数腿共100条,数头共30只,试设计一个算法,求鸡和兔各有多少只解:第一步,设有x只鸡,y只兔,列方程组第二步,2,得y20.第三步,把y20代入,得x10.第四步,得到方程组的解第五步,输出结果,鸡10只,兔20只