修改时间:2024-07-13 浏览次数:228 类型:月考试卷
s = "Hello, Taizhou!"
n= Len(s): ans =""
For i=1 To n
c=Mid(s, i, 1))
If Abs(i-n)<n\2 Then
If c>="a" And c<="z" Then c=Char(Asc(c)-Asc("a")+Asc("A"))
End If
ans=ans+c
Next i
Labell.Caption=ans
执行上述程序段后,标签Labell中输出的内容为( )
key = Val(Text1.Text)
i=1:j=n
Do While i<j
m=(i+j)\2
If Then
i=m+1
Else
End If
Loop
If a(i)=key Then Label1.Caption =Str(i) Else Label1.Caption ="找不到"
上述程序段两个方框处的语句分别为( )
(提示:COUNTIF函数用于统计某个区域满足条件的单元格个数。例如:=COUNTIF(B4:B20,B4)表示在数据区域B4:B20中统计数值等于B4的单元格个数。)
请回答下列问题:
测试影片时,首先播放的场景是(填场景名)。
Dim n As Integer
Dim a(1 To 100) As Integer
Dim b(1 To 100) As Integer
Private Sub Form Load()
‘读取若干数据依次存储到数组a中,并将数据元素的总个数存储到变量n中。
‘将每段数据的元素个数及排序的次序依次存储到数组b中;
‘b(1)、b(2)分别存储第1段数据的元素个数、排序的次序,
‘b(3)、b(4)分别存储第2段数据的元素个数、排序的次序,.....
“代码略。
End Sub
Private Sub Command1_Click())
Dim i As Integer, j As Integer, k As Integer, t As Integer
Dim pb As Integer, endpos As Integer
pb=1: endpos =b(1)
For i=1 To n-1
If i=endpos Then
pb=pb+2:i=endpos+1
①
End If
k=i
For j =i+1 To endpos
If Then k=j ‘⑵
Next j
If k<>i Then
②
End If
Next i
Text3.Text ="" ‘⑷
For i=1 To n
Text3.Text=Text3.Text + Str(a(i))
Next i
End Sub
① ②
⑴查找相邻两个非降序数据段在未处理的数据区域中,从前往后找出第一个最长非降序数据段。若该数据段后而没有元素,则本轮处理完毕;否则在第1个数据段的后面,从前往后找出数组中第二个最长非降序数据段。
⑵合并两个数据段
借助数组tmp,将查找到的两个相邻数据段合并成一个非降序数据段,然后将合并后的数据依次存回到原数组中。
⑶若数组中还有未处理的数据,则重复⑴⑵步骤。
每一轮数据处理完毕后,重新从数组第1个数据开始进行下一轮处理。若检测到某一轮没有合并处理,则说明n个数据己构成非降序数据段,数据处理结束。
Const n As Integer = 10
Dim a(1 To n+5) As Integer
Dim tmp(1 To n + 5) As Integer
Private Sub Form_Load())
‘读取n个整数保存到数组a中,并在文本框Textl中显示,代码略。
End Sub
Function Position(low As Integer) As Integer
Dim i As Integer
For i=low To n-1
If ① Then Exit For
Next i
Position=i
End Function
Then Exit For
Function Merge() As Boolean
Dim i As Integer, flag As Boolean, p1 As Integer, p2 As Integer
Dim low1 As Integer, high1 As Integer, high2 As Integer
flag=False:low1=1
Do While lowl1<n
High1=Position(low1)
If high1=n Then Exit Do Else flag=True
high2=Position(high1+1)
p1=low1:p2=high1+1
i=low1
Do While ②
If p2>high2 Or p1<=high1 And a(p1)<a(p2) Then
tmp(i)=a(p1):p1=p1+1
Else
tmp(i)=a(p2):p2=p2+1
End If
i=i+1
Loop
For i=low1 To high2
a(i)=tmp(i)
Nexti
③
Loop
Merge=flag
End Function
Private Sub Command1_Click()
Do While True
If Not Merge() Then Exit Do
‘’在列表框List1中输出这一轮合并后的数据,代码略。
Loop
End Sub
① ② ③
试题篮