相关试卷
-
1、编写“二进制加法”程序。
程序运行时,在文本框Text1和文本框Text2分别输入两个二进制数,单击按钮 Command11后在文本框Text3上输出两个二进制相加后的结果。
程序运行如图所示。
(1)、观察代码触发代码执行的事件名是。(2)、为实现上述功能,请在划线处填入合适的代码。Private Sub Command1_Click()
Dim b1 As String, b2 As String, ans As String, t As String
Dim dist As Integer, jw As Integer
b1=Text1.Text: b2 Text2.Text: ans=""
If dist <0 Then
t=b1: b1=b2: b2=t: dist=-dist
End If
For i=1 To dist
b2="0"+b2
Next i
jw=0
For i= Len(b1)To 1 Step-1
x= Val(Mid(b1, i, 1))+ Val(Mid(b2, i, 1))+jw
ans Str(x Mod 2)+ans
Next i
IfThen ans ="1"+ ans
Text3.Text=ans
End Sub
-
2、逆序数在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。逆序数为偶数的排列称为偶排列;逆序数为奇数的排列称为奇排列。例如序列2431,逆序依次为(2,1),(4,3),(4,1),(3,1),因此该序列的逆序数为4,为偶排列。
编写VB程序,功能如下:程序运行时,在文本框Text1中输入序列,单击“计算”按钮Command11,在文本框Text2中输出逆序数,并在 Label3中输出判断结果(偶排列或者奇排列)。程序运行界面如图所示。
(1)、如果序列为“5872469”,则逆序数为。(2)、实现上述功能的VB程序如下,完善填空。Function NiXuShu(s As String) As Integer '逆序数计算
Dim i As Integer, j As Integer, c As Integer , n(1 To 100) As Integer
c=0
For i= 1 To Len(s)
n(i) =Val(Mid(s, i, 1))
For j=1 To i- 1
ifThen
c=c+ 1
End If
Next j
Next i
End Function
Private Sub Command1_ Click()
Dim x As String, y As Integer
x = Text1.Text
Text2.Text = Str(y)
If y Mod 2= 0 Then Label3.Caption = "偶排列" Else Label3.Caption = "奇排列"
End Sub
-
3、编写VB程序实现如下功能程序运行时产生n个数据并按升序排序显示在列表框List1中,在文本框Text1中输入一个正整数key,单击“查找”按钮 Command1,则在标签Label2中显示查找结果。程序界面如图所示。
实现上述功能的VB程序如下,但加框处代码有错误,请改正。
Const n=10
Dim d(1 To n)As Integer
Private Sub Form Load()
′随机产生n整数并存储在数组d中,并把数组d按升序排序
′在列表框中显示排序后的数据,代码略
End Sub
Private Sub Command1_Click()
Dim key As Integer, p As Integer
key =Val(Text1.Text)
‘①If p<>0 Then
Label2. Caption="该数据在第"+Str(p)+"个位置"
Else
Label2. Caption="没有找到! "
End If
End Sub
Function search(key As Integer) As Integer
i=1: j=n
Do While i<= j
m=(i+j)\2
If d(m)=key Then
search =m
Exit Function
ElseIf key<d(m)Then
j=m-1
Else
i=m+1
End If
Loop
‘②End Function
-
4、某对分查找算法的VB程序段如下:
t="": i=0: j=9: key=62: f=False
Do While i <=j And Not f
m=Fix((i+j)/2)
t=t+Str(m)
If a(m)= key Then
f=True
ElseIf a(m)>key Then
i=m+1
t=t+"→"
Else
j=m-1
t=t+"←"
End If
Loop
数组元素a(0)到a(9)的值依次为“99,94,90,87,78,70,63,56,45,36”执行该程序段的值是( )
A、"4→7←5→" B、"4→7←5→6→" C、"4→7←5→6" D、"4→7←-5" -
5、某排序算法的VB程序段如下:
For i=1 To 4
k=i
For j=5 To i+1 Step-1
If a(j)<a(k) Then k=j
Next j
If k<> i Then
tmp=a(k) : a(k)=a(i) : a(i)=tmp
f(i)=True
End If
Next i
当数组元素a(1)到a(5)的值依次为“8,2,1,21,3”数组f的初值均为 False,执行该程序段,f数组中元素值为True的个数有( )
A、1个 B、2个 C、3个 D、4个 -
6、下列程序执行后文本框Text1显示的内容是( )
Dimx As String, y As String, ans As Integer
x="12": y="100"
if x> Then ans=Val(x) Else ans=val(y)
Text1.Text Str(ans)
A、12200 B、12112 C、124 D、21210 -
7、下列VB表达式中,不是字符串的是( )A、Chr((Rnd*26)+65) B、Len("中国2019") C、Mid("r12b",2,2) D、(n+1) Mod 5&6
-
8、有如下VisualBasic自定义函数:
Function f(x As Integer) As Single
f=Abs(x)
End Function
该函数返回值的数据类型是( )
A、整数型 B、日期型 C、逻辑型 D、单精度实数型 -
9、某算法的部分流程图如下图所示,执行这部分流程后,输出c,s的值分别是( )
A、8,10 B、10,14 C、12,6 D、12,24 -
10、有如下VB程序段:
Fori=1 To 3
For j=6 To i+1 Step-1
If a(j) > a(j-1) Then
k=a(j): a(j)=a(j-1): a(j-1)=k
End If
Next j
s=s+“"”+str(a(i))
Next i
Text1. Text=str(s)
数组元素从a(1)到a(6)的数据依次为“3、7、25、8、9”,经过该程序“加工”后,文本框Text1中显示的是( )
A、2 3 5 B、9 8 7 C、3 7 2 D、7 3 2 -
11、有如下程序:
Private Sub Command1_Click()
Dim a(5) as Integer
Dim n as Integer, i as Integer
n=Val(Text1.Text)
i=0
a(1)=1: a(2)=1
For i=3 To n
a(i)=a(i-1)+a(i-2)
Next i
Label1.Caption=a(i)
End Sub
若在Text1中输入5,则点击按钮后的运行结果为( )
A、Label11中输出5 B、Label1中输出10 C、报“下标越界”错误 D、Label11中无内容 -
12、下列程序执行后文本框Text1显示的内容是( )
x= "abcdcba": ans = 0
For i= 1 To Len(x) \2.
If Mid(x, i, 1) = Mid(x, Len(x)-i+ 1, 1) Then ans = ans+ 1
Next i
Text1.Text = Str(ans)
A、1 B、2 C、3 D、4 -
13、在VisualBasic中,能表示整数x是完全平方数(如=3*3,9是完全平方数)的表达式是( )A、x^2=x*x B、sqr(x)=x\2 C、int(sqr(x))^2=x D、(x\2)^2=x3
-
14、小明在高中数学中学到了离散型随机变量的数学期望概念,即离散型随机变量的一切可能的取值Xi与对应的概率pi乘积之和称为该离散型随机变量的数学期望。公式为:
在程序设计课上,小明设计了一个程序用来计算离散型随机变量的数学期望,Text1中交替输入随机变量和相应概率,并以逗号“,”为分隔符,具体界面如下图所示。
(1)、上图窗体标题“数学期望计算”是通过设置窗体的属性实现的。(2)、程序代码如下,下划线处填上合适代码。Private Sub Cmd_Click()
Dim s As String, t As String, c As String,X As Single, p As Single, EX As Single
Dim n As Integer, k As Integer
s = Text1.Text
n = Len(s)
k = 0: EX = 0: t = ""
For i = 1 To n
c = Mid(s, i, 1)
If c = "," Then
k = k + 1
If Then
X = Val(t)
Else
p = Val(t)
EX =
End If
Else
t = t + c
End If
Next i
Text2.Text =
End Sub
(3)、若Text1中输入:“1,0.3,2,0.3,3,0.4,”,则单击“计算”按钮后,Text2中显示。 -
15、星猫接收到一组外星人空间坐标,经过初期破译,获悉它是二进制代码,其中“/”代表0,“\”代表1,“|”代表分隔符。编写破译程序,在文本框Text1输入外星人坐标,单击“解密”按钮,在文本框Text2输出地球人坐标。运行界面如下图所示。
(1)、代码中“Private Sub Cmd_Click()”中的“Cmd_Click”是(填字母,A .对象名,B .事件名,C .事件处理过程名)(2)、阅读下列代码,下划线处填上合适代码。Private Sub Cmd_Click()
Dim dec As Integer, n As Integer, i As Integer, w As Integer
Dim s As String, c As String, sd As String
s = Text1.Text
n =
sd=""
For i = 1 To n
c =
If c <> "|" Then
If c = "/" Then
w = 0
Else
w = 1
End If
dec =
Else
sd = sd + Str(dec) + ","
dec = 0
End If
Next i
Text2.Text = sd
End Sub
(3)、如上所示,如果输入的外星人坐标,漏了最后一个“|”,那么输出的地球人坐标是。 -
16、小李为2022年北京与张家口联合申办的冬奥会做了一个宣传动画片,部分制作画面如
图a所示。请回答下列问题:
图 a
(1)、舞台中的“吉祥物”实例来源于库中“吉祥物”影片剪辑元件。编辑库中的“吉祥物”元件,舞台中的“吉祥物”实例(选填:会/不会)随之改变。(2)、图a中,“人物”图层补间动画应用库中的“运动员”图形元件实例制作而成,实现在滑雪的同时移动到舞台右侧,说明该图层的补间动画类型为(填字母:A .动画补间 ; B .形状补间 ; C .逐帧动画)。(3)、“退出”按钮的部分编辑界面如图b所示,测试影片时发现该按钮不能实现点击效果,下列可行的解决方法是 (多选,填字母)。
图 b
A、选择“图形”图层的点击帧,执行“删除帧”命令 B、选择“图形”图层的按下帧,执行“清除帧”命令 C、选择“图形”图层的按下帧,执行“清除帧关键”命令 D、选择“文字”图层的点击帧,执行“插入空白关键帧”命令(4)、测试影片时,在场景播放结束后自动跳转到“申办”场景的第一帧并停止,则“ac”图层第45 帧添加的动作命令为。(5)、若要将作品发送给同学欣赏,并支持交互,应将作品发布为(多选,填字母:A .fla ; B .swf ; C .exe ; D .gif)格式。 -
17、小王为了解国外新冠疫情,根据2020年6月10日数据制作了“国外TOP10国家疫情统计汇总”表。
图a
(1)、如图a所示,“死亡占比(%)”反映“死亡”人数与“累计”得病人数之间的占比关系(死亡占比(%)=死亡/累计*100),G4:G12由G3单元格向下自动填充完成,则G3中的公式为:。(2)、如图a所示,对图中所有国家,以“死亡占比(%)”为主要关键字降序排序,则排序时应选择的数据区域为:。(3)、根据图a数据,制作如图b所示图表,则该图表所使用的数据区域为:。
图b
(4)、复制A2:G12的数据区域到新工作表,新工作表中设置“死亡”和“死亡占比(%)”列筛选条件均如图c所示,最终筛选出的国家是。
图c
-
18、编写一个程序,计算出满足1+2+3+…+n<100的n的最大值,并在文本框Text1中显示出来。
Dim s As Integer ‘’变量s存放和
Dim n As Integer
n = ① '为n赋初值
s = ② '为s赋初值
Do While s < 100
n = n + 1
s = s + n
Loop
Text1.Text = Str( ③ )
程序空格处,①、②、③应分别填写( )
A、 0,0,n B、 0,0,n-1 C、 1,0,n-1 D、 0,1,n -
19、阅读下列程序代码:
Dim s As String, c As String
Dim i As Integer, n As Integer, p As Integer
s = Text1.Text
n = Len(s)
p = 1
For i = 1 To n
c = Mid(s, i, 1)
If c >= "A" And c <= "Z" Then
t = c + t
Else
t = Mid(t, 1, p - 1) + c + Mid(t, p, Len(t) - p + 1)
p = p + 1
End If
Next i
Text2.Text = t
如果文本框Text1中输入“ABCD@1234”,则文本框Text2中输出( )
A、 ABCD@1234 B、 @1234ABCD C、 @1234DCBA D、 1234@ABCD -
20、有如下程序段:
x="10":y="5" : z="8"
If x>y Then w=x+y Else w=x+z
该程序段运行后,w的值为( )
A、15 B、105 C、18 D、108