自定义函数复习
进制转换中的应用
复 习
8 引言
程序通常由一个或多个函数组成,函数
是程序的基本模块。每个函数完成一定
的功能。
标准函数
(库函数)
用户自定义
函数
如:Abs()
Int()
Function 函数名(参数 as 类型) As 类型名
函数名=表达式
End Function
这样表达式的
结果才能做为
函数的返回值
函数调用的一般形式:
Private Sub Command1_Click()
Dim x As Integer
Do While x 0
r = __________
x = x \ 2
t = __________
Loop
End sub
x = Val(Text1.Text)
Text2.Text = t
13
1101
x mod 2
Str(r)+t
Private Sub Command2_Click()
Dim a As Integer
a = Val(Text1.Text)
Text2.Text = ______________
End Sub
Function cc(x As Integer) As String
End Function
Do While x 0
r = x Mod 2
x = x \ 2
___________________________
Loop
13
1101 cc(a)
cc=str(r)+cc
过程2
过程3
1.一个程序实现下列功能:在文本框Text1中输入一个数,在文本框text2中输
入需要转换数的进制(小于等于16),点击转换按钮,在标签 Label3输出转换
后的十进制数,程序运行界面如下:
Private Sub Command1_Click()
Dim s As String, k As Integer
s = Text1.Text
k = Val(Text2.Text)
Label3.Caption = "对应的十进制数:" + ______________
End Sub
Function TOD(s As String, k As Integer) As Integer
Dim ans As Integer, x As Integer
For i = 1 To Len(s)
If Mid(s, i, 1) >= "A" And Mid(s, i, 1) = "A" And Mid(s, i, 1) 0
r=n Mod b
n=n\ b
_____________________
Loop
End Function
Private Sub Command1_ Click()
Dim x As Long
Dim y As Integer
x= Val(Textl. Text)
y=Val(Text2. Text)
Text3.Text=__________________
End Sub
Private Sub Command1_ Click()
Dim x As Long
Dim y As Integer
x= Val(Textl. Text)
y=Val(Text2. Text)
Text3.Text=__________________
End Sub
Function trans(n As Long, b As Integer) As String
Dim hex As String
hex=“0123456789ABCDEF”
Do While n >0
r=n Mod b
n=n\ b
_____________________
Loop
End Function
trans(x,y)
trans=mid(hex,r+1,1)+trans
编写“不同进制数排序”的VB程序,功能如下,在文本框,Text1、Text2、Text3、
Text4中分别输入二进制数、八进制数、十进制数、十六进制数,单击“判断大
小”按钮command1,在标签Label5中显示比较的结果,程序运行界面如图所示,
根据上述描述设计了如下VB程序,请回答下列问题。
(1)若文本框Text1、Text2、Text3、Text4依次输入11110、37、23、2D,
则标签label5中显示的结果为________________________________________
(2)请在划线处填入合适的代码
Private Sub Commandl_Click()
Dim c As string,s as string
Dim a(1 to 4) as string
Dim b(1 to 4) as integer
a(1)=Text1.Text
a(2 )=Text2 Tert
a(3)=Text3 Text
a(4)=Text4.Text
b(1)=conv(a(1),2)
b(2)=conv(a(2),8)
b(3)=conv(a(3),10)
b(4)=conv(a(4),16)
For i = 4 To 2 Step -1
k = i
For j = 1 To i - 1
If ___________ Then k = j
Next j
If ik Then
t = b(i): b(i) = b(k): b(k) = t
c = a(i): a(i) = a(k): a(k) = c
End If
Next i
For i = 1 To 3
________________
Next i
Label5.Caption = s + a(4)
End Sub
Function change(st As String) As Integer
End Function
If st >= "A" And st