I=0
P=0
DO WHILE P<10
P=P+I
I=I+2
LOOP
PRINT P
Private Sub Command1_Click()
Dim s As String, s1 As String, t As Integer, c As Integer
Const code = "0123456789ABCDEF"
s = Text1.Text
t = 0: s1 = ""
For i = Len(s) To 1 Step -1
c = Val(Mid(s, i, 1))
t = t + c * 2 ^ ((Len(s) - i) Mod 4)
If (Len(s) - i + 1) Mod 4 = 0 Or ① Then
②
t = 0
End If
Next i
Text2.Text = s1
End sub
① ②
Private Sub Command1_Click()
Dim s As Double
s = 0
Do While s <> 5
s = s + 2
Loop
Label1.Caption = Str(s)
End Sub
该事件处理过程代码违背了算法特征中的( )
Private Sub Command1_Click()
Dim a(0 To 5) As Integer
Dim i As Integer '①
a(0) = 1 '②
For i = 1 To 5
a(i) = 2 * a(i - 1) + 1 '③
Next i
Text1.Text = Str(a(6)) '④
End Sub
Private Sub Command1_Click()
Dim a As Integer,b As Integer
a=10 ‘①
b=20 ‘②
Text1.Text=“a+b=”+Val(a+b) ‘③
End Sub ‘④
发生“类型不匹配”错误时所执行的语句是( )
a = a + b b = a - b a = a - b
下列选项中,和以上程序段功能相同的是( )
数学问题 |
错误的表达式 |
正确的表达式 |
⑴判断a是否能被b整除 |
a//b=0 |
|
⑵求二进制数1011的十进制数值 |
1×23+0×22+1×21+1×20 |
|
Private Sub Command1_Click()
Dim As Single, b As Single, c As Single, p As Single, s As Single
a≡Val(Text1. Text)
b=Val(Text2. Text)
c=Val(Text3. Text)
p=(a+b+c)/2
If a<=p Or b>=p Or c>=p Then
Label1. Caption="不能构成三角形"
Else
s=Sqr(p*(p-a)*(p-b)*(p-c))*p
Label1. Caption="面积为"& s
End If
End Sub
小吴设计一个根据校验码校验物品代码的VB程序,功能如下:在文本框Text1中输入物品代码,单击“校验”按钮Command1,如果输入的校验码与计算所得的校验码一致,则输出“校验通过。”(如下左图所示),否则输出“校验不通过!”(如下右图所示)。
实现上述功能的VB程序如下
Dim s As String '用于存储输入的物品代码
Dim t As String
Dim i As Integer, j As Integer
Dim sum As Integer '用于存储计算校验码的累加和
Dim check_old As Integer '用于存储输入物品代码中的校验码Y
Dim check_new As Integer '用于存储按照前面9个数字X计算所得的新校验码
Dim a(1 To 10)As Integer
Private Sub Command1_Click()
'从物品代码中取出9个数字X依次存储到a(1)到a(9)中,取出校验码Y存储到a(10)中
s= Text ⑴
j=0
For i=1 To 13
t=Mid(s,i,1)
If(t>="0")And(t<="9") Then
j=j+1
a(j)=Val(t)
End If
Next i
'计算新的校验码并和输入的校验码进行比较
sum=0
For i=1 To 9
sum=sum+ ⑵
Next i
check_new= ⑶
check_old=a(10)
If check_old=check_new Then
Label1.Caption="校验通过。"
Else
Label1.Caption="校验不通过! "
End If
End Sub
加框处代码有错,请改正。
⑴ ⑵ ⑶
s1 = Text1.Text : s2 = Text2.Text
i = 1: j = 1: k = 1
Do While ⑴
If j > Len(s2) Or i <= Len(s1) And Mid(s1, i, 1) < Mid(s2, j, 1) Then
⑵
Else
⑶
End If
Loop
Text3.Text = s
上述程序段3个方框处的代码分别为( )
n=int((“请输入一个三位数:”))
a=n//100
b=
c=n % 10
print(“个位和十位对调后的三位数为:”,)
一共有n(3<=n<=100)个学校,各所学校之间的线路长度以一行共n*n个数据输入,
第i组的n个数据为从第i个学校出发到其他学校的线路长度,保证第i组的第i个数据为0。
编写VB程序,实现上述功能。运行程序,在文本框Text1中输入学校总数,
在文本框Text2中按题述方法输入各校之间的距离,点击命令按钮Command1后,在标签Label1中显示最短的线路总长。程序运行界面如图所示。
请回答下列问题:
Const INF = 2147483646
Dim n As Long, a As Long
Dim dis(1 To 10001) As Long, flag(1 To 10001) As Boolean
Dim head(1 To 10001) As Long, nxt(1 To 10001) As Long
Dim ed(1 To 10001) As Long, value(1 To 10001) As Long
Dim cnt As Long, tby As Long, sss As String
Dim i As Long, j As Long
Private Sub Command1_Click()
cnt = 0
n = Val(Text1.Text)
For i = 1 To n
dis(i) = INF : flag(i) = False : head(i) = 0
Next i
tby = 1
sss = Text2.Text
For i = 1 To n
For j = 1 To n
If i <> j Then Call addedge(i, j, a)
Next j
Next i
Dim ans As Long
dis(1) = 0 : ans = 0
For i = 1 To n
Dim hg As Long, u As Long
hg = INF
u = 0
For j = 1 To n
If Then
hg = dis(j)
u = j
End If
Next j
flag(u) = True
Dim p As Long
p = head(u)
Do While p <> 0
Dim v As Long
v = ed(p)
If Not flag(v) And dis(v) > value(p) Then
dis(v) = value(p)
End If
p = nxt(p)
Loop
Next i
Label1.Caption = Str(ans)
End Sub
Sub addedge(a As Long, b As Long, x As Long)
cnt = cnt + 1
value(cnt) = x
ed(cnt) = b
nxt(cnt) = head(a)
head(a) = cnt
End Sub
Function Getin() As Long
Dim aaa As String
aaa = Mid(sss, tby, 1)
If aaa = " " Then tby = tby + 1
aaa = Mid(sss, tby, 1)
Dim bbb As Long
bbb = 0
Do While aaa <> " " And tby <= Len(sss)
bbb = bbb * 10 + Val(aaa) : tby = tby + 1
aaa = Mid(sss, tby, 1)
Loop
Getin = bbb
End Function