1、第一章 算法初步1.1 算法与程序框图1.1.1 算法的概念A级基础巩固一、选择题1下列四种自然语言叙述中,能称作算法的是()A在家里一般是妈妈做饭B做米饭需要刷锅、淘米、添水、加热这些步骤C在野外做饭叫野炊D做饭必须要有米解析:算法是做一件事情或解决一类问题的程序或步骤,故选B.答案:B2以下对算法的描述正确的有()对一类问题都有效;算法可执行的步骤必须是有限的;算法可以一步一步地进行,每一步都有确切的含义;是一种通法,只要按部就班地做,总能得到结果A1个B2个C3个 D4个答案:D3给出下面一个算法:第一步,给出三个数x,y,z.第二步,计算Mxyz.第三步,计算NM.第四步,得出每次计算
2、结果则上述算法是()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对于算法:第一步,输入n.第二步,判断n是否等于2,若n2,则n满足条件;若n2,则执行第三步第三步,依次从2到(n1)检验能不能整除n,若不能整除n,则执行第四步;若能整除n,则执
3、行第一步第四步,输出n.满足条件的n是()A质数 B奇数C偶数 D约数解析:此题首先要理解质数,只能被1和自身整除的大于1的整数叫质数.2是最小的质数,这个算法通过对2到(n1)一一验证,看是否有其他约数,来判断其是否为质数答案:A二、填空题6给出下列算法:第一步,输入x的值第二步,当x4时,计算yx2;否则执行下一步第三步,计算y.第四步,输出y.当输入x0时,输出y_解析:因为04,执行第三步,所以y2.答案:27已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:(1)计算c.(2)输入直角三角形两直角边长a,b的值(3)输出斜边长c的值其中正确的顺序是_解析:算法的步骤是
4、有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算答案:(2)(1)(3)8如下算法:第一步,输入x的值;第二步,若x0,则yx;第三步,否则,yx2;第四步,输出y的值若输出的y值为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某商场举办优惠促销活动若购物金
5、额在800 元以上(不含800 元),打7折;若购物金额在400 元以上(不含400 元),800 元以下(含800 元),打8折;否则,不打折请为商场收银员设计一个算法,要求输入购物金额x,输出实际交款额y.解:算法步骤如下:第一步,输入购物金额x(x0)第二步,判断“x800”是否成立,若是,则y0.7x,转第四步;否则,执行第三步第三步,判断“x400”是否成立,若是,则y0.8x;否则,yx.第四步,输出y,结束算法B级能力提升1结合下面的算法:第一步,输入x.第二步,判断x是否小于0,若是,则输出x2;否则,执行第三步第三步,输出x1.当输入的x的值为1,0,1时,输出的结果分别为(
6、)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只