第一章算法初步1.1算法与程序框图1.1.1算法的概念1.下面的结论正确的是【】A.一个程序的算法步骤是可逆的B.一个算法可以无止境地运算下去的C.完成一件事情的算法有且只有一种D.设计算法要本着简单方便的原则2.下面对算法描述正确的一项是【】A.算法只能用自然语言来描述B.算法只能用图形方式来表示C.同一问题可以有不同的算法D.同一问题的算法不同,结果必然不同3.下面哪个不是算法的特征【】A.抽象性B.精确性C.有穷性D.唯一性4.算法的有穷性是指【】A.算法必须包含输出B.算法中每个操作步骤都是可执行的C.算法的步骤必须有限D.以上说法均不正确5.早上从起床到出门需要洗脸刷牙(5min)、刷水壶(2min)、烧水(8min)、泡面(3min)、吃饭(10min)、听广播(8min)几个步骤,从下列选项中选最好的一种算法【】A.S1洗脸刷牙、S2刷水壶、S3烧水、S4泡面、S5吃饭、S6听广播B.S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭、S5听广播C.S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭同时听广播D.S1吃饭同时听广播、S2泡面;S3烧水同时洗脸刷牙;S4刷水壶6.看下面的四段话,其中不是解决问题的算法是【】A.从济南到北京旅游,先坐火车,再坐飞机抵达B.解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1C.方程210x有两个实根D.求1+2+3+4+5的值,先计算1+2=3,再计算3+3=6,6+4=10,10+5=15,最终结果为157.写出求1+2+3+4+5+6+…+100的一个算法.可运用公式1+2+3+…+n=(1)2nn直接计算.第一步______①_______;第二步_______②________;第三步输出计算的结果.8.写出1×2×3×4×5×6的一个算法.1.1.2程序框图1.算法的三种基本结构是【】A.顺序结构、模块结构、条件结构B.顺序结构、循环结构、模块结构C.顺序结构、条件结构、循环结构D.模块结构、条件结构、循环结构2.给出以下四个问题,①输入x,输出它的相反数;②求面积为6的正方形的周长;③在三个不等实数,,abc中,求一个数的最大数;④求函数1,0()2,0xxfxxx的函数值。其中不需要用条件语句来描述其算法的有【】A1个B2个C3个D4个3用二分法求方程022x的近似根的算法中要用哪种算法结构【】A顺序结构B条件结构C循环结构D以上都用4.在输入语句中,若同时输入多个变量,则变量之间的分隔符号是【】A.逗号B.空格C.分号D.顿号5.下列程序执行的目的是【】6.在程序语言中,下列符号分别表示什么运算*;\;∧;SQR();ABS()?7.下列程序运行后,a,b,c的值各等于什么?(1)a=3(2)a=3b=-5b=-5c=8c=8a=ba=bb=cb=cPRINTa,b,cc=aENDPRINTa,b,cEND8.写出下列程序运行的结果.(1)a=2(2)x=100i=1i=1WHILEi<=6DOa=a+1x=x+10PRINTi,aPRINTi,xi=i+1i=i+1WENDLOOPUNTILx=200ENDEND9.某次考试,满分100分,按规定:x≥80者为良好,60≤x80者为及格,小于60者不及格,设计一个当输入一个同学的成绩x时,输出这个同学属于良好、及格还是不及格的算法,并画出程序框图.1.2基本算法语句1.2.1输入语句、输出语句和赋值语句1.对赋值语句的描述正确的是【】①可以给变量提供初值②将表达式的值赋给变量③可以给一个变量重复赋值④不能给同一变量重复赋值A.①②③B.①②C.②③④D.①②④2.下列给出的赋值语句中正确的是【】A.4MB.MMC.3BAD.0xyA.求261068的值B.求12368的值C.求24668的值D.求24666的值i=2S=1DOS=S﹡ii=i+2LOOPUNTILi68PRINTSEND3.将两个数a=8,b=7交换,使a=7,b=8,使用赋值语句正确的一组【】A.a=b,b=aB.c=b,b=a,a=cC.b=a,a=bD.a=c,c=b,b=a4.给出四个输入语句、输出语句和赋值语句⑴输出语句输出a;b;c(2)输入语句输入x=3(3)赋值语句3=B(4)赋值语句A=B=2则其中正确的个数是【】A.0个B.1个C.2个D.3个5.下面一段程序执行后输出结果是。程序:A=2A=A*2A=A+6输出A6.写出图1、图2中程序框图的运行结果:(1)图1中输出S=_______________;(2)图2中输出a=_______________.7.设计一个算法,计算一个学生数学、语文、英语三门课的平均成绩。8.设计一个算法,交换两个变量A和B的值,并输出交换前后的值。1.2.2-1.2.3条件语句和循环语句1.下面为一个求30个数的平均数的程序,在横线上应填充的语句为【】s=0i=1DOINPUT“x=”,xs=s+x开始输入a,b2a4babSba输出S结束开始输入R/2bR2ab输出a结束图1图2i=i+1LOOPUNTIL____________a=s/30PRINTaENDA30iB.30iC.30iD.30i2.执行下边的程序框图,若8.0p,则输出的n为【】A.3B.2C.4D.53如果右边程序执行后输出的结果是132,那么在程序until后面的“条件”应为【】A.i11B.i=11C.i=11D.i114.右边程序执行后输出的结果是【】A.-1B.0C.1D.25.图(b)中所示的是一个算法的流程图,已知31a,输出的7b,则2a的值是a2=6.已知f(x)=x3-3x2+2x+1,写出任意一个x的值对应的函数值f(x)的求法程序.7.计算236312222,写出算法的程序.开始10nS,Sp?是输入p结束输出n12nSS否1nnn=5s=0WHILEs15s=s+nn=n-1WENDPRINTnEND(第4题)i=12s=1DOs=s*ii=i-1LOOPUNTIL“条件”PRINTsEND(第3题)8.写出已知函数).0(1),0(0),0(1xxxy输入x的值,求y的值程序.9.给出30个数:1,2,4,7,……,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依此类推.要计算这30个数的和,现已给出了该问题算法的程序框图(如右下图所示):(1)该算法使用什么类型的循环结构;(2)图中①处和②处应填上什么语句,使之能完成该题算法功能;(3)根据程序框图写出程序.1.3算法案例1.228与1995的最大公约数是【】A.171B.75C.57D.542.将二进制数100111转化为十进制数的结果是【】A.38B.39C.83D.933.将二进制数101101(2)化为十进制结果为;再化为八进制数,结果为___.4.(1)用辗转相除法求8251与6105的最大公约数.5.(1)将101111011(2)转化为十进制的数;(2)将53(8)转化为二进制的数.6.用冒泡排序法将下列各数排成一列:8,6,3,18,21,67,54.并写出各趟的最后结果及各趟完成交换的次数.7.用秦九韶算法写出求f(x)=1+x+0.5x2+0.16667x3+0.04167x4+0.00833x5在x=-0.2时的值的过程.8.我国《算经十书》之一《孙子算经》中有这样一个问题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二.问物几何?答曰:二十三.”你能用程序解决这个问题吗?第一章算法初步参考答案②①NY1.1算法与程序框图1.1.1算法的概念1.D2.C3.D4.C5.C6.C7.①取100n;②计算12nnS.8.按照逐一相乘的程序进行第一步:计算1×2,得到2;第二步:将第一步的运算结果2与3相乘,得到6;第三步:将第二步的运算结果6与4相乘,得到24;第四步:将第三步的运算结果24与5相乘,得到120;第五步:将第四的运算结果120与6相乘,得到720;第六步:输出结果.1.1.2程序框图1.C2.B3.D4.A5.C6.乘、除、乘方、求平方根、绝对值7.(1)a=-5,b=8,c=8;(2)a=-5,b=8,c=-5.8.(1)1,3;2,4;3,5;4,6;5,7;6,8.(2)1,110;2,120;3,130;4,140;5,150;6,160;7,170;8,180;9,190;10,200.9.算法如下::第一步:输入一个成绩X(0≤X≤100)第二步:判断X是否大于等于80,若是,则输出良好;否则,判断X是否大于等于60,若是,则输出及格;程序框图否则,输出不及格;第三步:算法结束.1.2基本算法语句1.2.1输入、输出语句和赋值语句1.A2.B3.B4.A5106522R7.8.输入A,B输出A,BX=AA=BB=X输出A,B1.2.2-1.2.3条件语句和循环语句1.A2.C3.D4.B5.11开始x=80?结束-------输出良好Y输入xx=60?输出及格输出不及格NNY开始输入a,b,c3abcy结束输出y6.INPUT“请输入自变量x的值:”;xm=x*(x-3)n=x*(m+2)y=n+1PRINT“x=”;xPRINT“f(x)=”;yEND7.s=1n=2i=1WHILEi<=63s=s+n∧ii=i+1WENDPRINT“1+2+2∧2+2∧3+…+2∧63=”;sEND8.INPUT“请输入x的值:”;xIFx0THENy=1ELSEIFx=0THENy=0ELSEy=-1ENDIFENDIFPRINT“y的值为:”;yEND9.(1)该算法使用了当型循环结构,因为是求30个数的和,故循环体应执行30次,其中i是计数变量,因此判断框内的条件就是限制计数变量i的,故应为30i.算法中的变量p实质是表示参与求和的各个数,由于它也是变化的,且满足第i个数比其前一个数大1i,,第1i个数比其前一个数大i,故应有ipp;(2)①处应填30i?;②处应填ipp;(3)程序如右图所示:1.3算法案例1.C2.B3.55(8)i=1p=1s=0WNLIEI=50s=s+pp=p*(i+1)i=i+1WENDPRINTsEND开始x=80?结束-------输出良好Y输入xx=60?输出及格输出不及格NNY4.用辗转相除法求8251与6105的最大公约数.8251=6105×1+21466105=2146×2+18132146=1813×1+3331813=333×5+148333=148×2+37148=37×4+0所以8251与6105的最大公约数是37.5.(1)101111011(2)=1×28+0×27+1×26+1×25+1×24+1×23+0×22+1×21+1=379.(2)53(8)=5×81+3=43.余数4321105212222220110101∴53(8)=101011(2)6.每一趟都从头开始,两个两个地比较,若前者小,则两数位置不变;否则,调整这两个数的位置.第一趟的结果是:63818215467完成3次交换.第二趟的结果是:36818215467完成1次交换.第三趟交换次数为0,说明已排好次序,即36818215467.7.先把函数整理成f(x)=((((0.00833x+0.04167)x+0.16667)x+0.5)x+1)x+1,按照从内向外的顺序依次进行.x=-0.2a5=0.00833V0=a5=0.008333a4=0.04167V1=V0x+a4=0.04a3=0.016667V2=V1x+a3=0.15867a2=0.5V3=V2x+a2=0.46827a1=1V4=V3x+a1=0.90635a0=1V5=V4x+a0=0.81873∴f(-