您的位置:逆风者 VB 正文
原作者:www.upwinder.com 添加时间:2007-09-01 原文发表:2007-08-31 人气:7 来源:未知

算法是编程的灵魂。不可想象,没有算法的程序会是一个高水平的程序。窗体的形状、大小涉及到算法;控件自身以及与其它控件的诸多关系需要计算;字符串的查找、截取和替换更离不开它了……总之,从小到一个按钮的安放位置,大到……(哪里呀?我不知道),无不与算法息息相关。
逆风编程技术
算法或是很简单,或是很复杂。凡事从简单做起,这是捷径吧。本文将从最简单的算法说明一下学习算法从哪开始。
有时简单的事也会让我们做成很复杂。比如:计算a的b次方吧,有人这样处理:
Dim a As Single, Total As Single, b As Integer
a = Text1.Text: b = Text2.Text: Total = 1
Do While b <> 0
Total = Total * a
b = b - 1
Loop
Text3.Text = Total
甚至这样:
Private Sub Command1_Click()
Dim a As Single, Total As Single
Dim b As Integer, n As Integer

a = Text1.Text
Total = Text1.Text
b = Text2.Text

Select Case b
Case 0
Total = 1
Case Is < 0
MsgBox "非法数据", VBOKOnly, "出错"
Text3.Text = ""
Exit Sub
Case Else
For n = 1 To b - 1
Total = Total * a
Next
End Select
Text3.Text = Total
End Sub

其实,如若知道VB中有一个专门计算此类问题的运算符“^”,则会简单可靠得多。试看:
Dim a As Double, b As Integer, c As Double
a = Text1.Text: b = Text2.Text
c = a ^ b
Text3.Text = c
再比如,VB编程乐园最近有一篇关于翻转字符串的文章,讨论如何利用递归原理编制一个翻转字符的函数,算法很精密,非常有意思(推荐认真研究一下):
Function reversestring(revstr As String) As String
Dim doreverse As Long
reversestring = ""
For doreverse = Len(revstr) To 1 Step -1
reversestring = reversestring & Mid$(revstr, doreverse, 1)
Next
End Function

不过如果我们用VB的内部函数StrReverse则更快更方便:
Text2.Text = StrReverse(Text1.Text)
看了这上面几个例子,你得出什么结论?哈,要学算法,首先得学一学VB的运算符和内部函数!吃透这些东西总没错,免得日后辛辛苦苦弄了个算法,回头一看,哇噻,VB自身早就有了!当然了,自己搞些算法不会没有好处的,至少可以锻炼锻炼嘛。只是在当今什么都飞速发展的年代,如果不是为了练习的需要,最好不要走太多的弯路。我说错了什么的话,敬请斧正!

相关文章

使VB的网格控件具有输入功能
在VB中运行Microsoft Access报表的好方法
如何取得中英混合字符串的长度
从DAO转换到ADO
获取鼠标在屏幕上的位置
(空字串)、Null、Empty、与 Nothing 的区别
ADO控件和DATA控件的冲突(不能共存)的解决
获得、设置鼠标双击间隔时间
DataGrid 控件的使用
VB常用术语释义
VB 神童教程第二章第八节——组合框控件
VB 神童教程第二章第五节——单选与复选控件
如何在数据控件断开所有的数据连接
数据库(拷贝或移动列表框或组合框中的内容)
在VB中引用.dbf及索引文件
在VB中直接用ODBC API访问数据库
如何用VB访问外来数据库
VB 神童教程第二章第十五节——窗体
VB 神童教程第四章第二节——综合示例七
VB 编程经验点滴

相关评论


本文章所属分类:首页 VB

  热门关键字: