S=0
For i=1 To 3
s=s+2
Next i
Print s
Private Sub Command1_Click()
Dim a(1 To 8) As Integer, x As Integer, b As String
x = Abs(Val(Text1.Text))
For i = 1 To 7 ‘求反码
a(i) =
x = x \ 2
Next i
b = “1”: i = 1
a(1) = a(1) + 1
Do WhileAnd i < 7
a(i) = 0
i=i+1
Loop
For i = 7 To 1 Step -1
b = b + Trim(Str(a(i))) ‘Trim()函数去除字符前后空格
Next i
Text2.Text = b
End Sub
●小球落在孔上,入孔:
●垂直落在平板上,停下;
●落在左滑坡向左滚动,右滑坡向右滚动。若遇平板继续滚动,遇孔则入孔;遇隔板或滑坡则停下;或超出边界;
●落在隔板上,可能向左或向右滑落,概率分别为50%。滑落后运动规律与左右滑坡相同。
假设两个隔板不相邻且左右滑坡总是以“八”出现。小球入孔或超出边界则消失,记消失的概率为100%;小球若停下,记消失的概率为0。
如图a所示,小球随机落下,最终消失的平均概率计算过程如下:
(100%+100%+100%+0.5*(100%+0)+0+0+100%+100%+0.5*(100%+100%)+100%)/10=75%
编写VB程序求解小球消失的概率,程序运行界面如图b所示,代码如下,请回答下列问题:
Dim s As string
Dim prob As single
Private Sub Command1 Click()
Dim i As Integer, c As string
s Text1 Text
prob =0
For i =1 To Len(s)
c= Mid(s, i, 1)
If c=“.” Then
prob= prob +100
ElseIf c =“/”Then
prob= prob slope(i, True)
ElseIf c=“\” Then
prob prob+ slope(i, False)
ElseIf c=“|” Then
prob =prob+
End If
Next i
Text2 Text= Str(prob Len(s))
End sub
Function slope(k As Integer, flag As Boolean)As Single
Dim c As string
If flag Then
For j=
c= Mid(s, j, 1)
If c =“.” Then slope =100: Exit For
If c=“|” Or c=“\”Then slope =0: Exit For
Next j
If j< 1 Then slope =100
Else
For j=k+ 1 To Len (s)
c= Mid(s, j, 1)
If c=“.”Then slope =100: Exit For
If c=“|” Or c=“/” Then slope =0: Exit For
Next j
If j>Len(s) Then slope =100
End If
End Function
Private Sub Command1 _Click( )
Dim As Integer, As Integer, temp As Integer i As Integer Dim c As String, s As String
L= Val (Text1. Text)
R= Val(Text2.Text)
If R-L <10 Then
temp =R
Else
temp= ①
End If
②
Do While i < = temp
c= ③
s=+c
i=1+1
Loop
Label5.Caption =s
End Sub
① ② ③
部分程序如下:
k=0: s=0
For i = 2 To n
If a(i) > a(i-1) Then
Else
If k = 1 Then
s = s+1
k = 0
End If
End If
Next i
Text1. Text= Str(s)
方框中的正确语句是( )
程序运行时,在文本框Text1中依次输入一个整数后按回车键,输入的整数顺序显示在列表框List1中,单击“排序”按钮 Command1,排序后的数据显示在列表框List2中程序运行界面如图所示,回答以下各题:
Dim a (1 To 20) As Integer, n As Integer ‘ 定义全局变量
Sub jh (x As Integer, y As Integer)
‘jh 为自定义过程,其功能是交换变量x、y的值 Dim temp As Integer
temp = x
x = y
y = temp
End Sub
Private Sub Command1_Click ( )
Dim i As Integer, temp As Integer
Dim swap As Boolean
swap = True
Do while swap = True
swap = False
For i = 1 To n-1
If a(i) > a(i+1) Then
Call jh (a(i), a(i+1)) ‘ 调用过程jh,对两个数进行交换
①
End If
Next i
Loop
For i = 1 To n
List2. AddItem a (i)
Next i
End sub
‘ 输入数据,存储在数组a中,并显示在列表框List1中
Private Sub Text1_ Key Press (KeyAscii As Integer)
If KeyAscii = 13 Then ‘表示按下回车键
n = n+1
②
List1. AddItem a(n)
Text1. Text =“ ”
End if
End sub
Private Sub Form_ Load ( )
n = 0
End sub
① ②
key = Val (Text1. Text)
i=1: j=n*2: flag =False
Do While i+1< = j And Not flag
m=(i+j)\2
If ① Then m=m- 1
If a(m)=key Or a(m+1)=key Then
flag = True
ElseIf a(m) > key Then
②
Else
③
End If
Loop
If a(i) = key Or a(j) = key Then flag = True
If flag Then Label1.Caption = "yes" Else Label1.Caption = "no"
划线处的代码正确的是
s = "491053"
For i = 1 To 3
n = Len(s)
k = 1
For j = 2 To n
If Mid(s, k, 1) >= Mid(s, j, 1) Then
k = j
Else
Exit For 'Exit For表示退出循环
End If
Next j
s = Mid(s, 1, k - 1) + Mid(s, k + 1, n - k)
Next i
Label1.Caption = s
执行该程序段后,标签Label1中显示的值是( )
count=0
For i=1 To 20
a(i) =Int(Rnd*100) + 1
Next i
For i= 1 To 20
①
Next i
For i= 1 To 100
If b(i) <> 0 Then count =count+1
Next i
Label 1.caption=“不重复数字个数”+Str(count)
为实现上述功能,则程序①处应填入的语句为( )
n=0
For i= 64 To 127
k=i:t=0
Do While k>0
m=k Mod 2
k=k\2
t=t+m
Loop
If t=5 Then n=n+1
Next i
Label 1.Caption=Str(n)
执行该程序段后,则在标签Label 1中显示的内容是( )
……
Private Sub Command1_Click()
Const n = 15
Dim a(1 To n) As Integer, search As Integer, key As Integer
Dim i As Integer, j As Integer, m As Integer
'读取一组正整数,按上述规则存入数组a中,代码略。
key = Val(Text1.Text)
i = 1: j = n: search = 0
Do While i <= j
m = (i + j) \ 2
If m Mod 3 <> 0 Then '① 把m调整到三个一组的最后一个数的位置
If key = a(m) Then
search = m : Exit Do
ElseIf key < a(m) Then
j = m - 3
ElseIf Then '②
i = m + 1
ElseIf key = a(m - 2) Then
search = m - 2 : Exit Do
ElseIf key = a(m - 1) Then
search = m - 1 : Exit Do
Else
search = 0 : Exit Do
End If
Loop
If search <> 0 Then
Text2.Text = Str(search)
Else
Text2.Text = "找不到"
End If
End Sub
加①②
i = 1: flag = True
Do While i < = 4 And flag = True
flag=False
For j = 6 To i + 1 Step -1
If a(j) > a(j - 1) Then
t = a(j): a(j)=a(j-1): a(j-1) = t
flag = True
End If
Next j
i = i + 1
Loop
数组元素a(1)到a(6)的值依次为48,36,24,97,77,23,经过该程序段加工后,变量i的值是( )
执行该算法,输出s的值为( )