山东省学考算法与程序设计试题
选择题
1、下列VB表达式中:
⑴Sqr(x) ⑵Text1.text ⑶Command1.caption ⑷\⑸45+34值为字符串类型的是( )
A⑴⑵⑶ B⑵⑶⑷ C ⑴⑶⑸ D⑵⑷⑸
2、如果给出三条线段的长分别为a、b、c,且已知a≤b≤c,要问这三条线段能否构成三角形,仅需下列选项中的哪个判定条件即可?( )
A 其他选项都不对 B a+c>b C a+b>c D b+c>a 3、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>a B a+b>c or a+c>b And b+c>a C a+b>c Or a+c>b And b+c>a D a+b>c And a+c>b And b+c>a
18、已知海伦公式:S=p(p?a)(p?b)(p?c),其中p=(a+b+c),a、b、c分别为三角形的三条
2边长。利用海伦公式求三角形面积的算法属于( ) A 排序法 B 解析法 C 穷举法 D 查找法 9、以下程序段中循环体执行的次数是( ) s=0 i=0
Do While s<10 i=i+1 s=s+i*i Loop
A 1 B 3 C 2 D 4
10、下列VB表达式中,能正确表达不等式方程|x|>1的解的是( ) A x>-1 and x<1 B x>-1 or x<1 C x<-1 and x>1 D x<-1 or x>1
11、一元二次方程ax2+bx+c=0(a≠0)的两个实数根分别为: x1=?b?b2?4ac x2=?b?b2?4ac 下列表达式正确的是( ) 2a2aA x2=-b-sqr(b^2-4*a*c)/(2*a) B x1=(-b+sqr(b^2-4ac))/(2*a)
1
C x2=(-b-sqr(b^2-4*a*c))/(2*a) D x1=-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 Sub
A 33 B \
注意:把程序中的Val去掉,再执行程序,看结果是否发生改变。
16、在VB语言中,字符串运算符“+”和“&”的作用是把两个或多个字符串连接成一个字符串。则表达式\的运算结果是( )
A\17、两个阻值为R1、R2的电阻并联后,电路阻值R可由公式1?1?1求解,下面能正确求出R的
RR1R2VB表达式是( )
A R1*R2/(R1?R2) B(R1?R2)/(R1*R2) C R1?R2/(R1*R2) D R1*R2/R1?R2 18、下列问题不能用算法描述的是( )
A求一元二次方程ax2+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 5
20、在VB语言中表示“x属于区间(0,1]”的正确表达式是( )
A 0
Private Sub Command1_Click()
2
a=Val(Text1.text) b=a*a+1
Text1.text=b End Sub 程序运行时(如图所示),在文本框Text1中输入2,连续两次单击命令按钮Command1后,Text1中显示( )
A 2 B 677 C 26 D 5 22、下列流程图中能描述循环结构的是( )
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 18 A、(3)(4) B、(2)(3) C、(1)(2) D、(2)(4) 24、下列关于算法的描述错误的是( )
A、算法必须在有限步骤内实现
B、算法是解决某一类问题的方法和步骤
C、算法可以使用自然语言、伪代码、流程图等多种不同的方法来描述 D、一个有效的算法至少要有一个或多个输入
25、下列选项中,不属于计算机程序设计语言的是( )
A、高级语言B、自然语言C、汇编语言D、机器语言 26、下列程序段执行后,变量s的值是( )
s=0
For i=1 To 10 s=s+i Next i
A、1 B、0 C、55 D、10
选择题答案:1-5 BCCAD 6-10 ADBBD 11-15 CADBA 16-20 AACBC 21-25 CADDB 26 C
分析题
1、阅读下列程序,写出正确运行结果 Dim n As Long Dim s As Long Dim x As Long
n = Val(InputBox(\s = 0
Do While n > 0 x = n Mod 10 s = s + x
3
n = n \\ 10 Loop Print s
程序运行时,输入518,运行输出结果是: 14 (6分) 提示: \\ 整除运算 如:237\\10=23 Mod 取余运算 如:237 mod 10=7 分析: 初始值 第一步 第二步 X X=n mod 10 0 8 1 S S=s+s 0 0+8 0+8+1 N N=n \\ 10 518 51 5 2、阅读下列程序,写出正确运行结果 Dim sum As Long Dim i As Long sum = 0 i = 0
Do While sum < 10 i = i + 1
sum = sum + i * i Loop Print sum
运行结果是: 14 分析: 初始值 第一步 第二步 i i =i+1 0 0+1 0+1+1 Sum sum=sum+i * i 0 0+1^2 0+1^2+2^2 循环Sum<10 5 满足条1 条件 满足条件 满足条件 件 3、阅读下列程序,写出正确运行结果 Dim sum As Integer Dim k As Integer sum = 0
For k = 1 To 10
If k Mod 2 = 0 Then sum = sum + k Next k Print sum
程序运行后输出结果: 30 分析:2 4 6 8 10 的和
If k Mod 2 = 0 Then sum = sum + k 可写为
If k Mod 2 = 0 Then sum = sum + k End If
4、分析完善程序 考拉兹猜想:
4
第三步 5 0+8+1+5 0 第三步 0+1+1+1 0+1^2+2^2+3^2 14 不满足条件,循环终止 考拉兹猜想又称为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 Long
Dim cnt As Long '变换次数cnt n = Val(InputBox(\输入正整数n cnt = 0
Do While n > 1
cnt = cnt + 1 '变换次数cnt累加 If n Mod 2 = 0 Then n = n/2 Else
n = n*3+1 End If Loop
5、阅读下列程序,写出运行结果 Dim x As Integer Dim y As Integer y = 0
For i = 1 To 5
x = Val(InputBox(\请输入:\ y = y + x Next i print y
程序运行后,依次输入:10 20 30 40 50 运行输出结果是: 150 分析: 初第1次 第2次 第3次 第4次 第5次 第6次 始 i 0 1 2 3 4 5 6 x 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 终止 6、选择算法,解决问题 在使用计算机解决问题时,选择合适的算法,是有效解决问题的关键。
分析下面的问题,请选择最合适的算法:(填:解析法/穷举法/递归法/排序法,6分) 穷举法 搬砖问题:100块砖,100人搬,一个男人搬4块,一个女人搬3块,两个小孩抬1块,要求一次全搬完,问需男、女、小儿各多少人? 7、选择算法,解决问题
在使用计算机解决问题时,选择合适的算法,是有效解决问题的关键。
分析下面的问题,请选择最合适的算法:(填:解析法/穷举法/递归法/排序法,6分) 递归法 猴子吃桃问题:
小猴有一天摘了若干个桃子,它非常贪吃,当天就吃掉了一半还多一个,第二天接着吃剩下的桃子一半多一个,以后每天都是如此,至了第七天要吃桃子时,却发现只剩下一个。
5