资源描述
实验:求斐波那契数列的值
斐波那契数列的公式为:
F(n-1) +F(n-2) (n>=2)
1 (0<=n <2)
F(n) =
要求:
①根据用户输入的n值编写一个计算数列的子函数,并利用子函数的计算结果来显示数列的值。
②程序的界面的运行结果如下:
目的:掌握Visual Basic.NET的基本语法和程序的基本结构以及过程的使用。
实验步骤:
1、新建一个Visual Basic.NET的Windows应用程序项目Ch4P。
打开Visual Basic.NET2005开发环境,从菜单中选择“文件”|“新建项目”,弹出“新建项目对话框”,在对话框的“类型”中选择Visual Basic.NET,在模板中选择“Windows”应用程序。输入项目名称为Ch4P。
2、界面设计
从工具箱中拖一个文本框TextBox控件、两个标签控件Label与一个按钮控和一个Button控件到窗体上,设计界面如图4-1。
图4-1 程序界面
按表4-5设置各控件的属性。
表4-5 各控件的属性
控件
属性
属性值
Form
Name
FrmCalcs
Text
计算斐波那契数列
Label
Text
计算要输入的值
Label
Name
lblResult
Text
计算机结果:
ForceColor
Red
TextBox
Name
txtN
Button
Name
btnCalcs
Text
计算
Click事件
btnCalcs_Click
3、代码设计
1) 编写一个计算数列的函数
'F(n) = F(n-1) + F(n-2) (n>=2)
'F(n) = 1 (0<=n<2)
Function calc(ByVal n As Integer) As Integer
'定义变量
Dim i As Integer = 0
'表示F(n)
Dim Fn As Double = 0
'Fn1 表示F(n-1)
Dim Fn1 As Double = 0
'Fn2 表示F(n-2)
Dim Fn2 As Double = 0
'循环计算结果
For i = 0 To n
Select Case i
Case 0, 1
Fn1 = 1
Fn2 = 1
Fn = 1
Case Else
Fn = Fn1 + Fn2
Fn2 = Fn1
Fn1 = Fn
End Select
Next
Return Fn
End Function
2)在用双击“计算”按钮,产生btnCalcs_Click事件,在事件处理程序中编写下列代码:
Private Sub btnCalcs_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnCalcs.Click
Dim n As Integer
'检测输入的是否是数字
Try
n = Me.txtN.Text
Catch ex As Exception
MsgBox("请输入数字", MsgBoxStyle.Information, Me.Text)
Exit Sub
End Try
'只能输入非负整数
If n < 0 Then
MsgBox("请输入一个非负整数", MsgBoxStyle.Information, Me.Text)
Exit Sub
End If
'调用子函数计算并显示结果
Me.lblResult.Text = "计算结果:F(" & n & ")=F(n-1)+F(n-2)=" & calc(n)
End Sub
4、F5调试运行程序,结果如图4-2。
图4-2 计算斐波那契数列
【专家提示】
在此程序中应考虑结果溢出的情况,当输入的n值比较大时,程序将会溢出,得不到正确的结果。因此在编程时要考虑到数数据类型的表示范围。
展开阅读全文