操作题 适中0.65 引用1 组卷28
图图基于排序算法设计了一个数字矩阵排序的 VB 程序,功能如下:在文本框 Text1 中输入矩阵的大小 n,单击“生成”按钮 Command1,在左侧列表框 List1 中显示行数和列 数均为 n 的随机整数矩阵。单击“排序”按钮 Command2,奇数行从左到右升序排序, 偶数行从左到右降序排序,结果显示在列表框 List2 中,输出时保持矩阵大小不变。运 行结果如图所示。
请回答下列问题:
(1)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。
Dim a(1 To 100) As Integer
Dim n As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Dim s As String, k As Integer
n = Val(Text1.Text)
For i = 1 To n
①_____
For j = 1 To n
k = (i - 1) * n + j
a(k) = Int(Rnd() * 45 + 5) * 2
s = s + “ ” + Str(a(k))
Next j
List1.AddItem s
Next i
End Sub
Private Sub Command2_Click()
Dim i As Integer, L As Integer, R As Integer
Dim f As Integer
For i = 1 To n
If i Mod 2 = 1 Then
f = 1
Else
f = -1
②____
R = i * n
List2.AddItem sort(L, R, f)
Next i
End Sub
Function sort(left As Integer, right As Integer, order As Integer) As String
Dim i As Integer, j As Integer, k As Integer
Dim s As String, t As Integer s = “”
For i = left To right - 1 k = i
For j = i + 1 To right
If③______ Then
k = j
Next j
If k <> i Then
t = a(k): a(k) = a(i): a(i) = t
End If
s = s + “ ” + Str(a(i))
Next i
sort = s
End Function
(2)若删除上述 VB 程序中加框处代码,_______ (选填:会/不会)影响程序运行结果。
请回答下列问题:
(1)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。
Dim a(1 To 100) As Integer
Dim n As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Dim s As String, k As Integer
n = Val(Text1.Text)
For i = 1 To n
①
For j = 1 To n
k = (i - 1) * n + j
a(k) = Int(Rnd() * 45 + 5) * 2
s = s + “ ” + Str(a(k))
Next j
List1.AddItem s
Next i
End Sub
Private Sub Command2_Click()
Dim i As Integer, L As Integer, R As Integer
Dim f As Integer
For i = 1 To n
If i Mod 2 = 1 Then
f = 1
Else
f = -1
②
R = i * n
List2.AddItem sort(L, R, f)
Next i
End Sub
Function sort(left As Integer, right As Integer, order As Integer) As String
Dim i As Integer, j As Integer, k As Integer
Dim s As String, t As Integer s = “”
For i = left To right - 1 k = i
For j = i + 1 To right
If③
k = j
Next j
If k <> i Then
t = a(k): a(k) = a(i): a(i) = t
End If
s = s + “ ” + Str(a(i))
Next i
sort = s
End Function
(2)若删除上述 VB 程序中加框处代码,
21-22高二上·浙江绍兴·期末
类题推荐
可以用二分法来求算术平方根近似值。对f(x)=x2来说,在x∈[1,2]的范围内,f(x)单调递增,这就给二分法创造了条件,例如求解√2 ,由于√2 是无理数,因此只能获得它的近似值,我们以一定精度为例来逼近√2。
(1)如果f(mid)>2,说明mid>√2,应当在[left,mid]的范围内继续逼近,故令right=mid。
(2)如果f(mid)<2,说明mid<√2,应当在[mid,right]的范围内继续逼近,故令left=mid。
为实现这一算法,编写VB程序如下:
Function f(x As Single) As Single
Private Sub Command1_Click()
下面说法错误的是( )
(1)如果f(mid)>2,说明mid>√2,应当在[left,mid]的范围内继续逼近,故令right=mid。
(2)如果f(mid)<2,说明mid<√2,应当在[mid,right]的范围内继续逼近,故令left=mid。
为实现这一算法,编写VB程序如下:
Function f(x As Single) As Single
f = x ^ 2
End FunctionPrivate Sub Command1_Click()
Dim i As Integer, j As Single, m As Single
Dim n As Integer
n = Val(text1.Text)
i = 1: j = 2
Do While j - i > 10 ^ -5
m = (i + j) / 2
If f(m) > n Then j = m Else i = m
Loop
label1.Caption = Str(n) & "的算术平方根近似值为" & Str(m)
End Sub下面说法错误的是( )
A.该程序不可用于计算10的算术平方根 |
B.该程序的精度j、i差值小于等于10-5 |
C.代码“Function f(x As Single) As Single”不可修改为“Function f(x As Double) As Single” |
D.代码中j=m可修改为j=m-1 |
组卷网是一个信息分享及获取的平台,不能确保所有知识产权权属清晰,如您发现相关试题侵犯您的合法权益,请联系组卷网