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