相关试卷
-
1、用蒙特卡洛法求圆周率PI的近似值,其算法如下:使用随机函数Rnd,随机生成两个[0,1)之间的随机数,由此构成一个投点坐标(x, y),然后根据x2+y2<=1投点是否在圆内来求PI的近似值。其中总共随机投点n次,统计落点在单位圆内的点数为s,则4s/n即为所求PI的近似值。程序界面如图所示,在Text1中输入投点的个数,单机“计算”按钮,PI的近似值结果显示在Text2中。)
(1)、要使得按钮的文字显示为“计算”,应该修改该对象的属性。(2)、要实现上述功能,请在划线处填入合适代码。Private Sub Command1_Click()
Randomize '随机数初始化
Dim i As Long, n As Long, s As Long
Dim x As Double, y As Double, z As Double
n = Val(Text1.Text)
①
s = 0
Do While i <= n '随机投点n次
x = Rnd: y = Rnd
z = ②
If z <= 1 Then
s = s + 1
End If
i = i + 1
Loop
Text2.Text = ③
-
2、(加试题)小李同学碰到了一个数学问题:400个同学按顺序进行编号后围成一个大圈,按1至2报数(从1号位置开始),报到2的同学出列,以此一直循环报数下去,问最后剩下的那位同学他的编号是几号?
例如以6个同学编号为例,按1至2报数(从1号位置开始)依次出列的编号次序为2-4-6-3-1-5,那么最后剩下的就是编号为5的同学。
为了解决这个问题,小李用VB编写了如下程序尝试解决,其中列表list1显示出列的顺序编号,文本框text1中显示最后留下的编号,程序代码如下(测试界面如下图):
Private Sub Command1_Click()
Dim s, f, t As Integer
Dim a(1 To 400) As Boolean
For i = 1 To 400
a(i) = False
Next i
s = 0
f = 0
i = 0
Do While f < 399
i = i + 1
If i = 401 Then i =
If a(i) = False Then s = s + 1
If s = 2 Then
List1.AddItem Str(i)
a(i) = True
f =
End If
Loop
For i = 1 To 400
If Then text1.text=str(i)
Next i
End Sub
在程序划线处填入合适的代码。
-
3、编写“素数查找”程序,实现如下功能:单击“生成”按钮,随机生成50个150至200(包括150和200)之间的正整数,显示在下方,每行显示10个,共5行。单击“筛选”按钮,从上面50个数中筛选出是素数的数,重复的只显示一次。程序运行界面如图所示。

请根据算法将下列程序补充完整。
Private Sub Command1_Click()
Label3.Caption = ""
For i = 1 To 50
a(i) =
If i Mod 10 = 0 Then
Label3.Caption = Label3.Caption + CStr(a(i)) + vbCrLf '换行
Else
Label3.Caption = Label3.Caption + CStr(a(i)) + " "
End If
Next i
End Sub
Private Sub Command2_Click()
Label4.Caption = ""
n = 0
For i = 1 To 50
For k = 2 To a(i) - 1
If Then Exit For
Next k
If k = a(i) Then
n = n + 1
If n = 1 Then b(n) = a(i)
For j = 1 To n - 1
If b(j) = a(i) Then: Exit For
If j = n - 1 Then b(n) = a(i)
Next j
End If
Next i
For j = 1 To n
Label4.Caption = Label4.Caption + + " "
Next j
-
4、小明编写了一个寻找非常幸运数的程序。程序运行时,单击“求解”按钮,则在列表框中输出所有的六位数中的非常幸运数,在标签Label2中输出非常幸运数的个数。
所谓的非常幸运数是指符合下列条件的整数:
⑴该数的偶数位数字之和等于奇数位数字之和。
⑵该数的前一半的各位数字之和正好等于后一半的各位数字之和。
实现上述功能的VB程序如下,在程序划线处填入合适的代码。
Private Sub Command1_Click()
Dim a(1 To 6) As Integer, sum(1 To 4) As Integer
Dim x As Long, i As Long, count As Long, k As Long
For i=100000 To 999999
x=i
k=1
Do While x > 0
a(k)=
x=x\10
k=k+1
Loop
sum(1)=a(1) +a(2)+a(3)
sum(2)=a(4)+a(5)+a(6)
sum(4)=a(2)+a(4)+a(6)
If sum(1)=sum(2) And sum(3)=sum(4)Then
List1.AddItem Str(i)
End If
Next i
Label2.Caption="共有个数:" + str(count)
End Sub
-
5、下列VB程序的功能是:求得1000以内的所有水仙花数,并在list1中显示。水仙花数是指一个n位数(n)=3),它的每个位上的数字的n次幂之和等于它本身(例如:1^3+5^3+3^3=153)
Private Sub Command1_Click()
List1.clear
Dim a As Integer
For i = 1 To 1000
s = 0
i= Len(Str(i)) - 1
For j = 0 To i - 1
a =
s = s + a ^ 3
Next j
If i = s Then
List1.AddItem i
End If
Next i
End Sub
横线处应填写 ( )
A、i / 10 ^ j Mod 10 B、i \ 10 ^ j Mod 10 C、i \ 10 ^ (j Mod 10) D、(i \ 10) ^ j Mod 10 -
6、现有36个人搬36块砖,男的搬4块,女的搬3块, 2个小孩抬一块。要求一次正好全搬完,问男、女、小孩各需多少人?如果用编程的方法求解,以下算法最合适的是( )。A、解析法 B、枚举法 C、冒泡排序法 D、选择排序法
-
7、设有n盏灯,放在一排。从1 到 n依次顺序编号。有 n个人也从1到n依次编号。第1个人(1号)将灯全部关闭,第2个人(2号)将凡是2的倍数的灯打开,第3个人(3号)将凡是3的倍数的灯做相反处理(该灯如果为打开的,则将它关闭,如关闭的将它打开),以后的人和3号一样,将凡是自己号数倍数的灯做相反处理。问当n个人操作后,哪几盏灯是亮的。(亮灯为0,关闭为1)
为了实现这一目标,完善下列程序,使之能完成该功能。
Private Sub Command1_Click()
Const n=20
Dim i As Integer, j As Integer
Dim a(1 To n) As integer
For j=1 To n
a(j)=0
Next j
For i=1 To n
For j=1 To n
If j Mod i=0 Then
End If
Next j
Next i
For j=1 To n
If Then List1.AddItem Str(j)
Next j
End Sub
-
8、《孙子算经》中有一个“物不知其数”的问题,某数以3除余2,以5除余3,以7 除余 2。下面的 VB 程序用于求 1000 以内满足该条件的自然数及个数,请在程序划线处应填入合适的表达式。
Private Sub Command1_Click()
Dim c As Integer, n As Integer c = 0 : n = 9
Do While n <= 1000
If n Mod 3 = 2 And n Mod 5 = 3 Then
List1.AddItem Str(n)
c =
End If
n =
Loop
Label1.Caption = "1000 以内满足条件的数有" & Str(c)& "个"
End Sub
-
9、数学中的“自守数”:如果一个数的平方数的末几位等于该数本身,这个数就是自守数。例如:
5*5=25
6*6=36
25*25=625
76*76=5776
……
那么,5、6、25、76 等数被称为自守数。小袁编写一个 VB 程序,实现如下功能:找出 10000 以内所有可能的自守数,单击“统计”按钮 Command1,将符合要求的自守数显示在列表框 List1 中,统计个数显示在标签 Label1 中,运行界面如图所示。
(1)、程序运行时要在按钮上显示“统计”,应设置该按钮的属性。(2)、为实现上述功能,请在划线处填入合适的代码。Private Sub Command1_Click()
Dim n As Single, k As Integer, t As Integer, c As Integer
List1.Clear c=0
For n = 5 To 10000
k = Len(Trim(n)) 'Trim()函数用于删除字符串前后的空格
t = (n * n) Mod ①
If t = n Then
List1.AddItem Str(n)
②
End If
Next n
Label1.Caption = "自守个数为:" + Str(c)
End Sub
为实现上述功能,划线处应填入的代码分别为
① ②
(3)、解决该问题采用了(选填:枚举/解析)算法。 -
10、一辆卡车运矿石,晴天每天运20次,雨天每天最多运12次,他一共运了8天,共112次,则晴天和雨天各有几天。用VB程序来解决这个问题,单击按钮Command1,在文本框Text1中输出晴天的天数,在文本框Text2中输出雨天的天数,程序代码如下:
Private Sub Command1_Click()
i=1
j=7
Do While _______
i=_______
j=________
Loop
Text1.Text=Str(i)
Text2.Text=Str(j)
End Sub
则下列说法正确的是( )
A、①应填的代码为 i*20+j*12<>112 B、②应填的代码为i-1 C、③应填的代码为j+1 D、描述该算法的思想为解析算法 -
11、古希腊著名科学家毕达哥拉斯把1、3、6、10、15、21、28……称为三角形数。这些三角形数序列有一定的规律,后一个数与前一个数的差刚好构成一个等差数列2、3、4、5、6、7、……,所以,第2位的“3”等于序列的第1位数“1”加上等差数“2”,第3位的6等于序列的第2位数“3”加上等差“3”……,第n位数m等于序列的第n-1位数加上等差数n。小金利用这个规律编写了一个判断三角形数的VB程序,在文本框Text1中输入一个大于1的正整数,单击“判断”按钮Command1,在标签Label1中显示判断结果。程序设计界面如图所示。
(1)、在设计程序界面时,要清空标签中显示的内容“Label1”,应修改该标签的属性。(2)、VB程序代码如下,请在划线处填入合适代码。Private Sub Command1_Click( )
Dim n As Integer, s As Integer
s = 0
n = Val(Text1. text)
If n > 1 Then
For i = 1 To n
s =
If n = s Then
Label1. Caption = Str(n) +“是一个三角形数。”
Exit For
Label1. Caption = Str(n) +“不是一个三角形数。”
Exit For
End If
Next i
Else
Labell.Caption = “请输入一个大于1的正整数”
End If
End Sub
(3)、若文本框Text1中输入的内容为“27”,单击按钮Command1后,标签Label1中显示的内容是 -
12、穷举法的适用范围是( )A、一切问题 B、解的个数极多的问题 C、解的个数有限且可以一一列举 D、不适合设计算法
-
13、列出所有可能的情况,逐个判断有哪些符合问题所要求的条件,从而解决问题,这是( )思路A、递归算法 B、顺序查找算法 C、穷举法 D、解析法
-
14、设计算法,求同时满足以下条件的所有四位正整数之合s。①不大于n(n的值由键盘输入),②能被9整除,③十位数是2。算法流程图如下所示:
(1)、解决上述问题的算法属于( )A、枚举法 B、擂台法 C、解析法 D、对分法(2)、判断x能被9整除的设计思路是();取x十位上数字的设计思路是( )。A、x除以9的余数为0;先求x除以10的余数,再求该余数除以10的商 B、x除以9的商为0;先求x除以10的余数,再求该余数除以100的商 C、x除以9的商为0;先求x除以100的余数,再求该余数除以100的商 D、x除以9的余数为0;先求x除以100的余数,再求该余数除以10的商(3)、小明根据上述思路,设计了一段不完整的程序。请完善划线处内容,完成上述功能。Dim n as Integer, x as Integer, s as long
s=0
n=InputBox(“输入四位数上限值”)
For
If and Then
s=s+x
End If
Next
-
15、珠心算是在大脑中以算珠表象作为载体,运用珠算法则所进行的计算。某学校的珠心算老师采用一种快速考查珠心算加法能力的测验方法,他随机给出一个正整数集合,集合中的数各不相同,然后要求学生回答:其中共有多少个数恰好等于集合中另外两个(不同的)数之和,例如集合{1,2,3,4},一共有2个数等于集合中另外两个数之和,它们是3、4(4=3+1,3=2+1)。将上述算法编写成程序,其功能如下:程序运行时产生n个范围在[1,100]内的不同的随机整数存储在数组a中,并在列表框List1中显示,单击按钮Command1后,在标签Label1上输出结果,如图所示。
(1)、集合{1,2,3,4,5,6}中一共有个数等于集合中另外两个数之和。(2)、实现上述功能的VB程序如下,请在划线处填入合适代码。Const n=12
Dim a(1 To n) As Integer
Dim flag(1 To 100) As Boolean
Private Sub Form_Load()
Dim i As Integer, t As Integer
For i=1 To 100
flag(i)=False
Next i
i=1
Do While i <=n
t=Int(Rnd * 100)+1
If Not flag(t) Then
List1.AddItem Str(t)
flag(t)=True
i=i+1
End If
Loop
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, ans As Integer
ans=0
For i=1 To n
For j=i+1 To n
If a(i)+a(j)<=100 Then
If Then
ans=ans+1
flag(a(i)+a(j))= False
End If
Next j
Next i
Label1.Caption="共有"+Str(ans)+"个数!"
End Sub
-
16、使用穷举法解决问题,在列举问题可能解的过程中( )。A、不能遗漏,但可以重复 B、不能遗漏,也不应重复 C、可以遗漏,但不应重复 D、可以遗漏,也可以重复
-
17、学校使用Access软件设计学生考勤系统,实现刷卡签到功能,有关两张数据表相互关联,数据库设计的部分界面如图所示。
下列说法正确的是( )
A、“考勤表”中必须包含与“学生表”中“姓名”字段内容相同的字段 B、“考勤表”包含与“学生表”中“卡号”字段相匹配的字段 C、“学生表”只有在设计视图状态下,才能增加一个名为“联系电话”的字段 D、在不知道学生卡号的情况下,可以添加一条卡号为空的学生记录 -
18、建立数据库的基本过程有( )。
①分析信息特征 ②定义数据库结构 ③收集相关信息 ④编辑数据库 ⑤确定特征之间关系
以下较为合理的排序是( )。
A、①②③④⑤ B、④⑤①③② C、③①⑤②④ D、④⑤①②③ -
19、李浩在网上购物后,即可在网上查询到自己的购物订单,这些订单存放在( )。
A、文本文件 B、Word文档 C、电子表格 D、数据库 -
20、张兵在南京的一个售票点买到了成都到拉萨的往返火车票,这体现了( )。A、数据库的共享性能好 B、张兵比较幸运 C、售票点机器性能较好 D、张兵认识售票员