题型:综合题 题类:模拟题 难易度:困难
浙江省2019年信息技术选考模拟试卷二
第一步:区间中点m= 。
第二步:若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b),将新得到的含零点的区间仍记为[a,b]。
第三步:判断[a,b)的长度是否小于一个足够小的值d。若是,则m是方程的近似解;否则,返回第一步。
于是我们设计函数f(x)=x2-c,用此算法求出任意非负常数c的非负平方根。程序运行效果如下图所示,程序中还输出了区间的左右端点和区间长度值。
实现上述功能的VB代码如下,但加框处代码有错,请改正。
Const min As Single = 0.00005
Dim c As Single
Function fn(x As Single)As single
fn = x*x - c
End Function
Private Sub Command1_Click() '按钮上的程序
Dim a , b , m As Single
c = Val(Text1.Text)
a = 0 : b = c
Do While b-a > min
‘(1)
List1.AddItem Str(a)&" "&Str(b)&" "&Str(b-a)
If Then ‘(2)
b = m
Else
a = m
End If
Loop
Label2.Caption = Str(m)
End Sub
以上程序段运行时,为了实现上述功能,加框处代码应改正为:
⑴;⑵。
长度小于等于 100),在列表框 List1 里输出所有配对括号在表达式中的位置。例如在文本框 Text1 里入:“12*(3-(1+2))*3”,程序运行效果如图所示。
实现上述功能的 VB 代码如下,在划线的地方填入合适代码,完善程序。Private Sub Command1_Click()
Dim s As String
Dim a(1 To 100) As Integer
|
i = 1 top = 0
Do While i <= Len(s)
If Mid(s, i, 1) = "(" Then
top = top + 1
{#blank#}1{#/blank#}
End If
If Mid(s, i, 1) = ")" Then
List1.AddItem Str(a(top)) + " " + Str(i)
{#blank#}2{#/blank#}
End If
i=i+1 Loop
End Sub
试题篮