您的当前位置:首页正文

大一vb的实验报告

2024-05-18 来源:客趣旅游网

  一、实验目的和要求

  1、掌握正确书写表达式、赋值语句的规则。

  2、掌握InputBox与MsgBox的使用。

  3、掌握Print方法和Format格式使用。

  4、掌握单分支与双分支条件语句的使用。

  5、掌握多分支条件语句的使用。

  6、掌握For语句和Do语句的各种形式的使用。

  7、掌握如何控制循环条件,防止死循环和不循环。

  二、实验内容和原理

  1、输入半径,计算圆周长和圆面积。

  为了保证程序运行的正确,对输入半径要进行合法性检查,数据检查调用IsNumeric函数;若有错,利用MsgBox显示错误信息,通过SetFocus方法定位于出错的文本框处,重新输入;计算结果保留两位小数。

  提示:使用Text1_KeyPress事件,按Enter键,返回参数“KeyAscii”的值为13表示输入结束。

  2、随机产生三个整数,按从小到大的顺序显示。

  3、计算π的近似值,π的计算公式为:

  ?2n?224262

  π=2…× 2n-1?2n+11?33?55?7 注意:①、分别显示当n=10、100、1000时的结果,由此可见,此计算公式收敛如何?

  ②、要防止大数相乘时结果溢出的问题,将变量类型改为长整型 或实数型。

  三、主要仪器设备

  计算机

  四、实验结果与分析

  实验界面:

  1、输入半径,计算圆周长和圆面积。

  程序:

  Private Sub Form_Activate

  Text1.Text = "输入半径值"

  Text1.SetFocus

  Text1.SelStart = 0

  Text1.SelLength = Len(Text1.Text)

  End Sub

  Private Sub Text1_KeyPress(KeyAscii As Integer) '圆面积,周长

  Dim r

  r = Text1.Text

  Const PI = 3.14159

  If KeyAscii = 13 Then

  Cls

  If IsNumeric(r) Then

  Print "当圆的半径为"; r; "时:"

  Print "圆面积为: "; Format(PI * r ^ 2, "0.00")

  Print "圆面积为"; Format(PI * r ^ 2, "0.00")

  Else

  Text1 = "半径值输入有误"

  End If

  Text1.SetFocus

  Text1.SelStart = 0

  Text1.SelLength = Len(Text1.Text)

  Else

  End If

  End Sub

  运行结果:

  输入值

  :2

  2、随机产生三个整数,按从小到大的顺序显示。

  程序:

  Private Sub Command1_Click

  Cls

  Dim x%, y%, z%, a%

  Randomize

  x = Int(Rnd * 101)

  y = Int(Rnd * 101)

  z = Int(Rnd * 101)

  Print "随机产生三个整数: "; x; Spc(2); y; Spc(2); z; Spc(2)

  If x > y Then

  a = x: x = y: y = a

  End If

  If y > z Then

  a = y: y = z: z = a

  If x > y Then

  a = x: x = y: y = a

  End If

  End If

  Print "从小到大排序:  "; x; Spc(2); y; Spc(2); z; Spc(2)

  End Sub

  运行结果:

  3、计算π的近似值

  ①、分别显示当n=10、100、1000时的结果,由此可见,此计算公式收敛如何?

  ②、要防止大数相乘时结果溢出的问题,将变量类型改为长整型或实数型。 程序:

  Private Sub Command2_Click

  Cls

  Dim n As Long, PI, i As Long

  n = 1

  Do

  n = n * 10

  PI = 2

  For i = 1 To n

  PI = PI * ((2 * i) ^ 2 / ((2 * i - 1) * (2 * i + 1)))

  Next i

  Print "当n="; n; "时,π="; PI

  Loop While n < 1000

  End Sub

  运行结果:

因篇幅问题不能全部显示,请点此查看更多更全内容