2014山东省信息技术学考算法与程序设计试题答案附后讲解山东省学考算法与程序设计试题选择题1、下列VB表达式中:⑴Sqr(x) ⑵Text1.text ⑶Command1.caption ⑷"45"+"34" ⑸45+34值为字符串类型的是()A⑴⑵⑶ B⑵⑶⑷ C ⑴⑶⑸ D⑵⑷⑸2、如果给出三条线段的长分别为a、b、c,且已知a≤b≤c,要问这三条线段能否构成三角形,仅需下列选项中的哪个判定条件即可?()A 其他选项都不对B a+c>bC a+b>cD b+c>a3、VB程序中“Dim n As Integer”这条语句的作用是()A 定义一个事件过程B 定义一个数据输入方法C 定义一个变量D 定义一个数据处理方法4、关于算法的描述,下列选项中正确的是()A 算法的每一步骤必须有确切的含义B 算法必须有输入C 算法的步骤可以是无穷的D 算法本身就是一种程序设计语言5、关于算法的描述,正确的是()A同一种算法只能用一种程序语言实现B算法就是数值计算的方法C描述算法的方法只有流程图D算法是描述解决问题的方法和步骤6、算法的描述方法有多种,下列选项中不适合描述算法的是()A机器语言 B自然语言 C流程图 D伪代码7、长度分别为a、b、c的三条线段,能够组成三角形的条件是()A a+b>c Or a+c>b Or b+c>aB a+b>c or a+c>b And b+c>aC a+b>c Or a+c>b And b+c>aD a+b>c And a+c>b And b+c>a8、已知海伦公式:()()()p p a p b p c---p=12(a+b+c),a、b、c分别为三角形的三条边长。
利用海伦公式求三角形面积的算法属于()A 排序法B 解析法C 穷举法D 查找法9、以下程序段中循环体执行的次数是()s=0i=0Do While s<10i=i+1s=s+i*iLoopA 1B 3C 2D 410、下列VB表达式中,能正确表达不等式方程|x|>1的解的是()A x>-1 and x<1B x>-1 or x<1C x<-1 and x>1D x<-1 or x>111、一元二次方程ax2+bx+c=0(a≠0)的两个实数根分别为:x124b b ac-+-224b b ac---下列表达式正确的是()A x2=-b-sqr(b^2-4*a*c)/(2*a) B x1=(-b+sqr(b^2-4ac))/(2*a)C x 2=(-b-sqr(b^2-4*a*c))/(2*a)D x 1=-b+sqr(b^2-4*a*c)/(2*a) 12、关于算法的描述,下列选项中正确的是( )A 、一个算法可以没有输入B 、算法只能用流程图表示C 、一个算法,当没有输入时,也没有输出D 、一个算法的执行步骤可以是无限的。
13、如果一个4位数恰好等于它的各位数字的4次方和,则这个4位数成为“玫瑰花”数。
例如1634就是一个玫瑰花数:1634=1^4+6^4+3^4+4^4。
如果要求出所有的玫瑰花数,下列算法最合适的是( )A 解析法B 排序法C 查找法D 穷举法 14、一个单窗体VB 程序的运行界面如右图所示。
下列说法正确的是( ) ⑴窗体内有1个按钮 ⑵窗体内有2个文本框 ⑶窗体内有3个标签⑷该窗体的标题(Caption )属性值是“加法计算器” A ⑵⑶ B ⑴⑷ C ⑴⑵ D ⑶⑷ 15、下列VB 程序运行时(如图所示),在文本框Text1中输入20,在文本框Text2中输入13,单击命令按钮Command1后,文本框Text3中显示的内容是( )Private Sub Command1_Click() a=Val(Text1.text) b=Val(Text2.text) Text3.text=a+b End SubA 33B "33 "C "2013 "D 2013注意:把程序中的Val 去掉,再执行程序,看结果是否发生改变。
16、在VB 语言中,字符串运算符“+”和“&”的作用是把两个或多个字符串连接成一个字符串。
则表达式"20"+"13"&"20+13"的运算结果是( )A"201320+13" B"201333" C"332013" D"3333" 17、两个阻值为R 1、R 2的电阻并联后,电路阻值R 可由公式12111RR R =+求解,下面能正确求出R 的VB 表达式是( )A1212*/()R R R R + B 1212()/(*)R R R R + C 1212/(*)R R R R + D 1212*/R R R R +18、下列问题不能用算法描述的是( )A 求一元二次方程ax 2+bx+c=0(a ≠0)的两个实数解B 计算某班英语平均分C 求方程y=2x+1的所有整数解D 已知圆锥的底面半径和高,求表面积和体积19、已知在VB 语言中,int(x)函数的功能是返回不大于x 的最大整数,abs(x)函数的功能是返回x 的绝对值,则表达式abs(int(2.88)+int(-3.14))的值是( ) A 0 B 2 C 1 D 520、在VB 语言中表示“x 属于区间(0,1]”的正确表达式是( )A 0<x<=1B x>0 and x<1C 0<x and x<=1D x>0 or x<=1 21、某VB 的事件过程如下:Private Sub Command1_Click()a=Val(Text1.text)b=a*a+1Text1.text=bEnd Sub程序运行时(如图所示),在文本框Text1中输入2,连续两次单击命令按钮Command1后,Text1中显示()A 2B 677C 26D 522、下列流程图中能描述循环结构的是()A⑵⑷ B⑴⑶ C⑴⑵⑷ D⑵⑶⑷23、二分查找又称折半查找,是一种应用于有序数列的高效查找算法。
下列数列中适合二分查找算法的是()(1)11 99 5 17 2 39 (2)30 52 63 71 78 81(3)67 62 68 6 15 15 (4)85 78 59 53 19 18A、(3)(4)B、(2)(3)C、(1)(2)D、(2)(4)24、下列关于算法的描述错误的是()A、算法必须在有限步骤内实现B、算法是解决某一类问题的方法和步骤C、算法可以使用自然语言、伪代码、流程图等多种不同的方法来描述D、一个有效的算法至少要有一个或多个输入25、下列选项中,不属于计算机程序设计语言的是()A、高级语言B、自然语言C、汇编语言D、机器语言26、下列程序段执行后,变量s的值是()s=0For i=1 To 10s=s+iNext iA、1B、0C、55D、10选择题答案:1-5 BCCAD 6-10 ADBBD 11-15 CADBA 16-20 AACBC 21-25 CADDB 26 C分析题1、阅读下列程序,写出正确运行结果Dim n As LongDim s As LongDim x As Longn = Val(InputBox("n="))s = 0Do While n > 0x = n Mod 10s = s + xn = n \ 10LoopPrint s程序运行时,输入518,运行输出结果是: 14 (6分)提示: \ 整除运算如:237\10=23Mod 取余运算如:237 mod 10=7初始值第一步第二步第三步X X=n mod 10 0 8 1 5S S=s+s 0 0+8 0+8+1 0+8+1+5N N=n \ 10 518 51 5 0Dim sum As LongDim i As Longsum = 0i = 0Do While sum < 10i = i + 1sum = sum + i * iLoopPrint sum运行结果是: 14初始值第一步第二步第三步i i =i+1 0 0+1 0+1+1 0+1+1+1Sum sum=sum+i * i 0 0+1^2 0+1^2+2^2 0+1^2+2^2+3^2循环条件Sum<10 满足条件1满足条件5满足条件14不满足条件,循环终止Dim sum As IntegerDim k As Integersum = 0For k = 1 To 10If k Mod 2 = 0 Then sum = sum + k Next kPrint sum程序运行后输出结果: 30分析:2 4 6 8 10 的和If k Mod 2 = 0 Then sum = sum + k 可写为If k Mod 2 = 0 Thensum = sum + kEnd If4、分析完善程序考拉兹猜想:考拉兹猜想又称为3n+1猜想,指的是对于给定的每一个正整数,经过下列有限次变换后,最终都能变为1:如果它是偶数,则对它除以2;如果它是奇数,则对它乘3再加1;…………如此循环,直到得到1为止。
例如 n=6 ,根据上述规则需要8次变换后得到1,变换过程:6—3—10—5—16—8—4—2—1。
以下是验证考拉兹猜想的主要VB程序片段,请你补全代码:(8分)Dim n As LongDim cnt As Long '变换次数cntn = Val(InputBox("n=")) '输入正整数ncnt = 0Do While n > 1cnt = cnt + 1 '变换次数cnt累加If n Mod 2 = 0 Thenn = n/2Elsen = n*3+1End IfLoop5、阅读下列程序,写出运行结果Dim x As IntegerDim y As Integery = 0For i = 1 To 5x = Val(InputBox("请输入:"))y = y + xNext iprint y程序运行后,依次输入:10 20 30 40 50运行输出结果是: 150初始第1次第2次第3次第4次第5次第6次i 0 1 2 3 4 5 6x 0 10 20 30 40 50 不满足条件,循环终止y 0 0+10 0+10+20 0+10+20+30 0+10+20+30+40 0+10+20+30+40+50在使用计算机解决问题时,选择合适的算法,是有效解决问题的关键。