高中人教B版必修3第一章算法初步课时作业1.2.1.docx
高中参考资料知识归纳/真题/试卷/习题/检测卷第一章 基础巩固一、选择题1. (2015甘肃白银育正中学高一月考)下列给出的赋值语句正确的是()A. 5=MB. x=xC. B=A = 3D. x+y=0答案B解析赋值号左边只能是变量,而不能是表达式,故选项A、D错误;在一个赋值语 句中只能给一个变量赋值,不能出现两个或多个“=",故C错.2 .执行“print(%io,3 + 5)”的输出结果是()A. 3+5 = 3 + 5B. 3 + 5 = 8C. 8D. 8 = 8答案C解析输出语句有计算功能,3 + 5 = 8.3 .下列输入、输出语句正确的是()A.输入语句input a; b; c8 .输入语句input x = 3C.输出语句print A=4D.输出语句 print(%io(2), x)答案D解析A中,变量之间应用逗号“,”隔开;B中,input语句中只能是变量,而不能是表达式;C中,print语句中不能再用赋值号“=”;D中,print语句可以输出变量、表达式的值,故选D.4 .将两个数A = 9, 5=15交换使得A=15, B=9,下列语句正确的一组是()ABCD答案D解析此语句功能是交换两个变量的值,要找一个中间变量来过渡.5 .以下程序运行后输出结果是()x = 58;a=x10;b = modulo(x, 10);x= 10*b+a;print(%io(2), x);1 . 58B. 882 . 13D. 85答案D解析Vx=58, 为58除以10的整数商,=5.又”为58除以10的余数,:.b=S.Ax=10X8 + 5 = 85.6 .下列程序若输出的结果为3,则输入的x值可能是()x = input(“ x=" );y = x*x + 2*x;print(%io(2), y);A. 1B. -3C. -1D. 1 或一3答案D解析依题意,得r+2x=3,j=1或x=3,即输入的x的值可能是1或一3.二、填空题7 .下列程序的运行结果是.a=l;b = 3;a=a+b;b = b*a;print(%io(2), a, b);答案12,4解析 Va=l9 b=3, .q=q+/7=4; b=b*a=3X4=12,故输出结果为 12,4.8 .执行下列程序:A = 20;B = 15;A = A + B;B = A-B;A = A*B;B = A + B;print(%io(2), B);运行结果为.答案720解析.A = 20, B = 15, .A = A + B = 35, B = A B = 20, JA = AXB = 35X20= 700, .B = A+B = 700+20=720.故运行结果为720.三、解答题9 .在一次数学考试中,小明、小亮、小强的成绩分别为。、b, c,后来发现统计错了 .小 亮的成绩记在了小明的名下,小强的成绩记在了小亮的名下,而小明的成绩记在小强的名下 了.设计程序更正成绩单,并输出.解析程序如下:a=input( );b=input( “b= ”);c = input( "c=");x = a;a=c;c=b;b = x;print(%io(2), a, b, c);10 .求下列赋值语句各变量的值:a=2; b=5; c=a+b2;ba+b.解析c=a-b1.。为 2, b 为 5,故 c=27.4=a+c, a 为 2, c 为27,故 4=29.b=a+b, a 为 29, b 为 5,故/?=34.故。、b、c 的值为 29、34、27.能力提升一、选择题11 给出下列程序:xi=input( "xi =";) yi=input( "yi = "); X2 = input( "X2=");y2=input( "y2=” );a=X|X2;m = aA2;b=yy2;n=bA2;s = m+n; d = sqrt(s); print(%io(2), d);此程序的功能为() A.求点到直线的距离 C.求一个多项式函数的值B.求两点之间的距离D.求输入的值的平方和答案B解析I输入的四个实数可作为两个点的坐标,程序中的服b分别表示两个点的横、 纵坐标之差,而机、分别表示两点横、纵坐标之差的平方;s是横、纵坐标之差的平方和, d是平方和的算术平方根,即两点之间的距离,最后输出此距离.12 .给出下面一个程序:A = 5;B = 8;X = A;A = B;B = X + A;print(%io(2), A, B);此程序运行的结果是()A. 5,8B. 8,5C. 8,13D. 5,13答案C解析先将A的值赋给X,此时X=5,再将3的值8赋给A,此时A = 8,再将X+ A(即5 + 8=13)的值赋给3,此时8=13,最后出A、B,则A = 8, B=13.二、填空题13 下列程序的运行结果是.a=2;b = 3;c=4;a=b;b = a+c;c=b + a;a=(a+b+c)/2;print(%io(2), a);答案10解析b=3, c=4, ci b39 Z?=+c=7, c=6+q=10,q+Z7+c 3 + 7+10故运行结果为10.14 如图的程序框图所对应的程序是/ 输、c/y=2x/输答案x = input(v x=" );y=2 八 x;print(%io(2), y);I解析输入尤、输出y分别转化为输入语句、输出语句,y=2转化为赋值语句.三、解答题15 编写一个程序,要求输入两个正数a和b的值,输出ab与9的值.解析解法一:程序为:a=input( “a=” );b=input( “b=”);A = aAb; B = bAa; print(%io(2), A); print(%io(2), B);解法二:程序为:a=input( “a=” ); b=input( ab=v ); A = aAb; print(%io(2), A); x = a; a=b; b=x;A = aAb; print(%(2), A);16 以下是用Scilab语言编写的一个程序,解释每步程序的作用.x = input( "x =”);y = input( “y=” ); print(%io(2), x/2); print(%io(2), 3*y);x = x+1 ; y = y+l; print(%io(2), y, x);解析x = input( “x=”)的作用是输入x的值, y = input( “y=”)的作用是输入y的值,xprint(%io(2), x/2)的作用是输出5的值,print(%io(2), 3*y)的作用是输出3y的值,x = x+l的作用是将x的值增加1,y=y+l的作用是将y的值增加1,print(%io(2), y, x)的作用是顺次输出了、y的值.