一、目的与任务
本实验主要练习vb.net的控件的综合运用。熟悉vb.net的集成开发环境,掌握vb.net编程技巧和开发过程。
实验学时数:4学时
二、考核方法及标准
1、考核方法:
本次实验成绩的评定分为三个部分: 出勤
实验完成情况 实验报告完成情况 2、考核标准:
本次实验成绩总分为100分,具体分数分布如表1-1所示。
表1-1 成绩分布情况
每部分的具体评分标准如下:
(1)出勤:迟到扣1分,早退扣1分(在为完成本实验的情况想),否则得满分。
(2)实验完成部分:
未完成,或存在严重缺陷得35分以下; 内容基本完成,但存在小缺陷得36~41分; 内容全部完成,没有错误得42~48分; 内容全部完成并具有创新的加49~60分。
(3)实验报告完成部分:
实验报告内容不完整得0~14分; 实验报告内容基本完整得15~24分;
实验报告内容正确、排版清晰、有条理得25~30分。
三、实验内容
某商店为了迎接“五一”将进行促销活动,促销的商品包括服装、鞋、箱包、化妆品和床上用品五类。在促销期间,每类产品的规定品牌前40件以3折出售,每类产品每人限购1件,售完为止。买这五类产品的促销商品列表如下表:
(1)基本要求:每次在列表框中点击相应的商品时,会显示商品的名称、数量、单价折扣,并把用户所采购的所有商品在文本框内进行汇总,当输入实付款后单击“收款”按钮后计算应找的零钱。
(2)进一步要求:添加菜单,使得对于特价商品的种类、品牌商品、价格和折扣进行编辑。
(3)创新提示:无。要求自行寻找可改进的地方和创新点。
四、思考题
1、什么情况下应该使用Label控件?
2、vb.net中菜单控件有哪几种类型?是否可以为命令按钮添加上下文菜单? 3、OpenFileDialog控件和SaveFileDialog控件能否自己打开并读写文件的内容?
4、定时器控件的Interval属性是以什么为单位的?是否只要设定了Interval属性,定时器就能自动启动?
一、实验目的和要求
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
运行结果: