计算机考试二级VB常用算法(4):排序
1.算法描述
1)十进制正整数M转换成R (2-16)中的字符串。
思路:将M除以R得到余数,直到商为0,将余数求逆得到结果。
算法实现:
私有函数tran (byval m为整数,byval r为整数)as string
dimstr dtor为字符串,n为整数
Do While m o
n = m Mod r
m = m \ r
如果n > 9,则
str dtor = Chr(65+n-10)& str dtor
Else
str dtor = n
思路:R十进制数是每一位数的和乘以重量。
算法实现:
私有函数tran (byval s为string,byval r为integer)为integer
dim n为integer,dec为integer
s = ucase(trim(s))
for I % = 1 to len(s)
if mid(s,I,1) >= "A "则
n = Asc(Mid(s,I,1)) - Asc("A") + 10
解题技巧
十进制转换的原理要清楚,写代码时要注意十六进制中A-F字符的处理。
2.实践练习
1)补充代码(秋二2002 (9))
这个程序是把给定的二进制整数转换成八进制整数。
Private Sub command 1 _ Click()
Dim A As String,b As String,c As String
Dim L As Integer,m As Integer
A = InputBox("请输入一个二进制数","输入框")
(1)
A = string (L," 0")&A
(2)
for M. 3 * m - 2,3)
(3)
Text = c
结束Sub
私有函数zh(s As String)As String
Dim I As Integer,n As Integer,p As Integer
p = 1
For I = 2 To 0 Step-1
(4)
p = p+1
Next I
zh = Str(n)
End函数
2)补充代码(Spring 2,2001 (7))
下面的过程是把给定的十六进制正整数转换成十进制数。
选项显式
Privateform _ click ()
Dim st为整数,Dem为Long
St=InputBox("输入一个十六进制数")
Dem = convert(St)
printst;">=";Dem
结束Sub
私有函数convert(s as string)long
dim n as integer,I As Integer,substring * 1
dim p as long,k as C1 as integer
n =(1)
p=16^n
for I = 1 to n
p = p/16
substring =(2)
select case substring
case " 0 " to " 9 "
k = k+p *
0条评论