(1)找出等式中单个数字的最大值;
(2)从最大值加1的数制开始,按该数制的运算规则,把等式中所有数字转换成十进制数;
(3)如果等式两边的结论是成立的,那么该数制就是符合上述等式的最小数制,否则从下一个数制重新计算,直到十六进制为止。
小明为此编写了一个VB程序,程序运行时,在文本框Text1中输入一个等式,单击“计算”按钮Command1,在文本框Text2中显示该等式中数字所属的数制。程序运行界面如下图所示。

(1)根据上述算法,则等式“5+7=13”成立,则该等式中的数属于________进制数。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
①处代码为_________________②处代码为_________________③处代码为_______________
Private Sub Command1_Click()
Dim s1 As String,ysf As String,t1 As String,t2 As String,t3 As String
Dim ch As String,t As String,max As Integer,jz As Integer,i As Integer
s1=Text1. Text
t1=0:max=0
For i=1 To Len(s1)
ch= Mid(s1,i,1)If ch="+" Or ch="-" Or ch="*" Or ch="\" Then
ysf=ch:t1=t:t=" "
ElseIf ch="=" Then
t2=t:t=" "
ElseIf ch>="A" And ch <="F" Then
t=t+ch
temp= ①
If max<temp Then max=temp
Else
t=t+ch
If max<Val(ch)Then max=Val(ch)
End If
Next i
t3=t:jz=0
②
Do While i<= 16
If ysf="+" ThenIf XtoD(i,t1)+XtoD(i,t2)=XtoD(i,t3)Then jz=i:Exit Do
ElseIf ysf="-" Then
If XtoD(i,t1)-XtoD(i,t2)=XtoD(i,t3) Then jz=i:Exit Do
ElseIf ysf="*" Then
If XtoD(i,t1)* XtoD(i,t2)=XtoD(i,t3) Then jz=i:Exit Do
Else
If XtoD(i,t1)/XtoD(i,t2)=XtoD(i,t3) Then jz=i:Exit Do
End If
i=i+1
Loop
If jz < >0 Then
Text2.Text="该数属于"+Str(jz)+"进制"Else
Text2.Text="没有找到合适的进制"End If
End subFunction XtoD(x As Integer,s As String) As Integer
Dim j As Integer
j=0
For i=Len(s)To 1 Step-1
XtoD=XtoD+Val(Mid(s,i, 1))*x③
Next i
End Function
同类型试题

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2


y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

