1、第 1 页 共 8 页1算法的三种基本结构是()(A)顺序结构、条件结构、循环结构 (B)顺序结构、循环结构、模块结构(C)顺序结构、模块结构、条件结构 (D)模块结构、条件结构、循环结构2将两个数 a=25,b=9 交换,使 a=9,b=25,下面语句正确一组是()(A)(B)(C)(D)3下列给变量赋值的语句正确的是()(A)5a (B)a2a (C)ab4 (D)a2*a4下面程序运行后,a,b,c 的值各等于 ()a=3b=-5c=8a=bb=cc=aPRINT a,b,cEND(A)5,8,-5 (B)5,8,3 (C)8,5,3 (D)8,5,85为了在运行下面的程序之后得到输出
2、y16,键盘输入 x 应该是()。Input xIf x 9 (B)i=9 (C)i=8 (D)i 810下列四个有关算法的说法中,正确的是 .(要求只填写序号)(1)算法的某些步骤可以不明确或有歧义,以便使算法能解决更多问题;(2)正确的算法执行后一定得到确定的结果;(3)解决某类问题的算法不一定是唯一的;(4)正确的算法一定能在有限步之内结束。甲:i=1 乙:i=1000S=0 S=0WHILE i=1000 DOS=S+i S=S+ii=i+1 i=i-1WEND LOOP UNTIL i1PRINT S PRINT SEND END否是开始i2,sum0sumsumiii2i1000?
3、结束(第 9 题)第 3 页 共 8 页11右边的程序框图(如图所示),能判断任意输入的整数 x 是奇数或是偶数。其中判断框内的条件是_。12已知有如下两段 QBasic 程序:问:程序 1 运行的结果为_。程序 2 运行的结果为_。13把下面求 n!(n!=n(n-1)321)的程序补充完整14.画出计算2222210099321 的算法的程序框图。结结 束束开开 始始输入输入 xm=x 除以除以 2 的余的余数数是是 否否 输出输出“x 是偶数是偶数”输出输出“x 是奇数是奇数”程序 1 如下:i=51sum=0while i 50print sumend_“n”;ni1s1WHILE _
4、i=i+1WENDPRINT sEND第 4 页 共 8 页S1 输入 xS2 若 x 2,执行 S3;否则,执行 S6S3 y=x21S4 输出 yS5 执行 S12S6 若2=x 2,执行 S7;否则执行S10S7 y=xS8 输出 yS9 执行 S12S10 y=x21S11 输出 yS12 结束。15已知算法:(1)指出其功能(用算式表示),(2)将该算法用流程图描述之。16以下程序流程图及其相应程序是实现用二分法求近似值,但步骤并没有全部给出,请补上适当的语句或条件,以保证该程序能顺利运行并达到预期的目的。17.已知 S=12223242(n1)2n2,请设计程序框图,算法要求从键盘
5、输入 n,输出 S。并写出计算机程序。f(x)=x2-5Input“a=”;aInput“b=”;bInput“d=”;dDo 2bamIf f(m)=0 then a=m b=mElse If f(a)f(m)0 then _ Else _ End ifEnd ifLoop until _Print a,bEnd第 5 页 共 8 页18.给出50个数,1,2,4,7,11,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,以此类推.要求计算这50个数的和.先将所给出的程序框图补充完整,再请你根据程序框图写出相应的程序.(2)结 束i=i+1(1
6、)开 始是输出 s否i=1P=1S=0S=s+p第 6 页 共 8 页算法试题答案算法试题答案A C D A C B B B C11(2)(3)(4)12m=0?130,51 14Input,i=n,s=s*i三、解答题15解:f(x)=2x 4+3x 3+5x4 =x(2x 3+3x 2+5)4 =xx2(2x+3)+54f(x)=222(2*2+3)+54 =24*7+54 =2*334 =6216解:算法的功能为:)2()22()2(1122xxxxxxy 程序框图为:开始输入 x输出 y结束x 2?x 2?是y=xy=x 2+1否是否y=x 21第 7 页 共 8 页17程序如下:De
7、fine f(x)=x2-5Input“a=”;aInput“b=”;bInput“d”;dDo 2bamIf f(m)=0 then a=m b=mElse If f(a)f(m)0 then _b=m_ Else _ a=m _ End ifEnd ifLoop until _abs(ab)d_Print a,bEnd第 8 页 共 8 页18解:由表达式规律可知,输入的 n 必须为偶数。程序框图为:注:程序框图也可以不对 n 进行奇数和偶数的讨论,直接进入循环。i i =5050;(;(2 2)p=p=p p +i i开始输入 n输出 S结束n mod 2=0?是否i=1,S=0i=i1S=S(1)i+1*i 2i=n?否是输出错误信息