InputBox函数
语法:InputBox(提示信息[,[标题][,[默认值][,Xpos,Ypos]]])
MsgBox函数
语法:MsgBox(信息[,[格式码][,标题]])
条件语句
If … Then … Else语句
IIf(<条件>,V1,V2)
select case语句
循环语句
for循环
do...loop [while | until 循环条件]
do [while | until 循环条件]...loop
while 条件...end while
exit for/do/while
跳转语句
Go To{标号|行号}
With语句
With 对象...End With
'
'
'---------------------------------------------------------------------------------
'
'
目前世界人口为60亿,如果以每年1.2 %的速度增长,多少年后世界人口达到或超过70亿?
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim p As Double = 6000000000.0
Dim r As Single = 0.012
Dim n As Integer
n = 0
Do Until p >= 7000000000.0
p = p * (1 + r)
n = n + 1
Loop
MsgBox(Str(n) & "年后世界人口达" & Str(Int(p + 0.5)), , "")
End Sub
最大公约数最小公倍数
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim m1, n1, m, n, r
n1 = InputBox("输入n1")
m1 = InputBox("输入m1")
If m1 > n1 Then
m = m1 : n = n1
Else
m = n1 : n = m1
End If
Do
r = m Mod n
If r = 0 Then Exit Do
m = n
n = r
Loop
TextBox1.Text = n
TextBox2.Text = m1 * n1 / n
End Sub
从键盘上输入字符,对输入的字符进行计数,当输入的字符为“?”时,停止计数,并输出结果。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ch1 As Char
Dim msg As String
Const ch = "?"
Dim counter As Short = 0
msg = "enter a character:"
ch1 = InputBox(msg)
While ch1 <> ch
counter = counter + 1
ch1 = InputBox$(msg)
End While
MsgBox("number of character entered:" & counter)
End Sub
判断一个正整数是否为素数。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim n, k, i, swit As Integer
n = InputBox("请输入一个正整数(n>=3)")
k = Int(Sqrt(n))
i = 2
swit = 0
While i <= k And swit = 0
If n Mod i = 0 Then
swit = 1
Else
i += 1
End If
End While
If swit = 0 Then
MsgBox(Str(n) & "是一个素数", , "")
Else
MsgBox(Str(n) & "不是一个素数", , "")
End If
End Sub
编写程序,输出“九九乘法表”。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i, j, k, temp As Short
Debug.WriteLine("")
For i = 1 To 3
Debug.Write(" ")
Next i
Debug.WriteLine(" 9 * 9 table")
Debug.WriteLine("")
Debug.Write(" *")
For i = 1 To 9
Debug.Write(" " & Str(i))
Next i
Debug.WriteLine("")
For j = 1 To 9
Debug.Write(Str(j) & " ")
For k = 1 To j
temp = j * k
If temp >= 10 Then
Debug.Write(" " & Str(temp))
Else
Debug.Write(" " & Str(temp) & " ")
End If
Next k
Debug.WriteLine("")
Next j
End Sub
求100-300之间的所有素数。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim n, k, i, d, swit As Short
Debug.WriteLine("")
For n = 101 To 300 Step 2
k = Int(sqrt(n))
i = 2
swit = 0
While i <= k And swit = 0
If n Mod i = 0 Then
swit = 1
Else
i = i + 1
End If
End While
If swit = 0 Then
d = d + 1
If d Mod 5 = 0 Then
Debug.Write(Str(n) & " ")
Debug.WriteLine("")
Else
Debug.Write(Str(n) & " ")
End If
End If
Next n
Debug.Write("")
End Sub
求自然对数e的近似值,要求其误差小于0.00001。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i%, n&, t!, e1!
e1 = 0 : i = 0 : n = 1 : t = 1
Do While t > 0.00001
e1 = e1 + t '累加和
i = i + 1
n = n * i '连乘,求阶乘
t = 1 / n '计数第i项值
Loop
MsgBox("求e时计算了" & Str(i) & "项的和是" & Str(e1))
End Sub
百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim x%, y%, z%
For x = 0 To 33
For y = 0 To 50
If 3 * x + 2 * y + 0.5 * (100 - x - y) = 100 Then
Debug.Writeline("母鸡" & Str(x) & "公鸡" & Str(y) & "小鸡" & Str(100 - x - y))
End If
Next
Next
End Sub
猴子吃桃子。小猴在一天摘了若干个桃子,当天吃掉一半多一个;第二天接着吃了剩下的桃子的一半多一个;以后每天都吃尚存桃子的一半零一个,到第7天早上要吃时只剩下一个了,问小猴那天共摘下了多少个桃子?
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim x%, i%
x = 1
Debug.WriteLine("第7天的桃子数为:1只")
For i = 6 To 1 Step -1
x = (x + 1) * 2
Debug.WriteLine("第" & Str(i) & "天的桃子数为:" & Str(x) & "只")
Next i
End Sub
有一根长度为321米的钢材料,要将它截取成两种规格的短料,规格a、b的长度分别为17米和27米,每种至少1段,问分隔成a,b各多少段后,剩余的残料r最少?
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim a%, b%, r!, ia%, ib%, t!
r = 321 '最小值初值取钢材料的长度
For b = 1 To 321 / 27 'b最多的段数
For a = 1 To 321 / 17 - b 'a最多的段数
t = 321 - b * 27 - a * 17 '当前的残料
If t >= 0 And t < r Then '当前的残料大于等于零(才有意义)并且比
'最短的残料小,替换最短残料
r = t ` ‘求最短的残料
ia = a '最短残料时a的段数
ib = b '最短残料时b的段数
End If '最短残料时b的段数
Next a
Next b
MsgBox("17米长的" & ia & "段," & "27米长的" & ib & "段," & "剩余残料为" & Str(r) & "米", , "")
End Sub