春节放假,闲着没事,静下心来,看看vb,做了几个练习题,感觉还可以,请大家看看写怎么样?
练习1:编写一个程序,使用函数方式求s=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)的值
源代码如下:
Function sum(n As Integer)
Dim a, j, c As Integer
c = 0
a = 0: j = 1
For i = 1 To n
a = a + j
c = a + c
j = j + 1
Next
sum = c
End Function
Private Sub Command1_Click()
Dim x As Integer
Dim y As String
y = Text1.Text
x = Val(Right(y, 2))
x = sum(x)
Text2.Text = x
End Sub
希望大家提提意见,向同志们学习一下
练习1:编写一个程序,使用函数方式求s=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)的值
源代码如下:
Function sum(n As Integer)
Dim a, j, c As Integer
c = 0
a = 0: j = 1
For i = 1 To n
a = a + j
c = a + c
j = j + 1
Next
sum = c
End Function
Private Sub Command1_Click()
Dim x As Integer
Dim y As String
y = Text1.Text
x = Val(Right(y, 2))
x = sum(x)
Text2.Text = x
End Sub
希望大家提提意见,向同志们学习一下
Function Sum(m As Integer) As Long
Dim i As Integer
For i = m To 1 Step -1
Sum = Sum + doSum(i)
Next i
End FunctionFunction doSum(n As Integer) As Long
Dim i As Integer
For i = n To 1 Step -1
doSum = doSum + i
Next
End FunctionPrivate Sub Command1_Click()
Dim x As Integer
x = Val(Right(Text1.Text, 2))
Text2.Text = Sum(x)
End Sub
Dim i As Integer
Dim j As Integer
For i = m To 1 Step -1
For j = i To 1 Step -1
Sum = Sum + j ' doSum(i)
Next j
Next i
End Function
python一句代码:
sum(map(lambda x:sum(range(1,x+1)),range(1,11)))SML两句代码:
fun range x= if x=0 then [] else x::range (x-1);
foldr op+ 0 (map (fn (x)=>foldr op+ 0 (range x)) (range 10))scheme三句代码:
(define (range x) (if (= x 0) () (cons x (range (- x 1)))))
(define (sum x)(if (null? x) 0 (+ (car x) (sum (cdr x)))))
(sum (map (lambda (x) (sum (range x))) (range 10)))
放弃VB吧,呵呵 #-_-
'这算几句?
Msgbox "SUM=" & sum '显示结果写这一下简单,就表明其他的语言更适合所有的开发者?往往是不了解、不熟悉的人才说这个语言咋样咋样。
k=1 to n
=(1+1)*1/2+(1+2)*2/2... +(1+n)*n/2
=(1+n)*n/4+(2*n+1)*(n+1)*n/12
=(n+2)*(n+1)*n/6
化简完毕
所以
Function Sum(m As Integer) As Long
Sum=m*(m+1)*(m+2)/6
End Function