很多时候做题时都遇到一些函数就有点不知怎么做,可能因为没有什么语言基础啦!请问怎样才能学好循环、数组与函数呢?
很多时候做题时都遇到一些函数就有点不知怎么做,可能因为没有什么语言基础啦!请问怎样才能学好循环、数组与函数呢?
多写程序,多看程序。。。很多程序语言的经典问题你可以试试做做的。。。如一定范围内素数,完数的判断输出;约瑟夫环问题;汉诺塔等等 。。。。太多了。。。等你都理解了以后这些什么循环,数组你就会运用自如了
没那么复杂吧
循环的关键点是循环条件的设置
你只要掌握两种循环就行了
For Next循环和Do While ... Loop循环
For循环的循环条件是起始值和终止值已经确定
要注意的是其中的Step语句
他是指每次循环的步幅,比如
for i=1 to 10 step 2 会执行循环5次
i=1,3,5,7,9
for i=1 to 10 step 3 会执行循环4次
i=1,4,7,10
注意:循环第一次会执行初值后再增(减)Step 的值
另外你可以向下循环,这时候step 的值是负数
比如
for i=10 to 0 step -1
函数其实没有什么深奥的
比如有一段程序是这样的
Private Sub Command1_Click()
Dim i%, XSum%, XTotal%
For i = 1 To 10
XSum = i + 1
Next
For i = 1 To 10
XTotal = XTotal + 1
Next
Print XSum
Print XTotal
End Sub
可以变成如下函数的方式
Function funSum() As Integer
Dim i%, XSum%
For i = 1 To 10
XSum = i + 1
Next
funSum = XSum
End Function
Function FunTotal() As Integer
Dim i%, XTotal%
For i = 1 To 10
XTotal = XTotal + 1
Next
FunTotal = XTotal
End Function
Function funPrint(x As Integer, y As Integer) As Boolean
Print x
Print y
funPrint = True
End Function
Private Sub Command1_Click()
dim i as boolean
i=funprint(funsum(),funtotal())
end sub
当然,现实中没有这么无聊的程序
首先,你的函数定义错了
sub 前不能print
你要有这样的想法,就是要区分函数内和函数外的参数的传递类型
传递类型有按值传递和按引用传递两种,Vb默认是按引用传递参数的,
当传递是按引用传递的时候,函数内的参数会改变调用时传递的参数,
比如上题中,第一个Call,因为是引用传递,所以他们调用后的形式如下:
因为在函数内,y被传递的参数是x
x=1: z=3
x=3*z+1
x=2*z
z=x+x
注意不要被函数的参数迷惑,你可以把它们设置成a,b,c
但是调用后的形式就是上面的形式,因为外部参数地址被传给函数
函数里面的处理是对外部参数的处理
[此贴子已经被作者于2007-4-26 16:26:45编辑过]