教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 办公应用> 解决方案> 昆明理工大学VB综合实验作业答案

昆明理工大学VB综合实验作业答案

上传者:史彦斌
|
上传时间:2017-06-07
|
次下载

昆明理工大学VB综合实验作业答案

  VB综合实验作业

  综合实验报告

  实验题目:科学计算器成绩:

  学院及班级:环境工程学院 学号:201510701137 姓名:朱敏

  一、 实验目的

  1.通过本实验,进一步理解Visual Basic的编程方法。

  2.提高运用Visual Basic编程的能力。

  3.培养对所学知识的综合运用能力。

  二、实验内容

  1.分析问题,选择算法

  本科学计算器主要实现基本的加减乘除运算、正弦、余弦、正切、对数和求绝对值等函数功能。

  为实现上述功能,我的基本思路是在窗体上建立三个控件数组,第一个控件数组有九个命令按钮,分别实现正弦、余弦、正切、对数和求绝对值等函数功能;第二个控件数组作包括十一个命令按钮,用来进行计算器的数据输入;第三个控件数组为基本的运算符号,实现基本加减乘除和乘方运算。退格、清除、等于、退出作为独立的命令按钮。在这个计算器的程序中,我用到了单行选择语句If … Then …Else…,If语句的嵌套,多条件选择语句Select Case等。

  2. 设计流程框图

  昆明理工大学VB综合实验作业答案1

  1

  三、实验步骤 1.建立用户界面 建立如下界面:

  2、设置窗体和控件属性

  昆明理工大学VB综合实验作业答案2

  昆明理工大学VB综合实验作业答案3

  2

  3.编写代码,进行调试

  编写代码如下: 通用

  Dim i As Integer, p As Integer, op(100) As Double, j As Integer, k As Integer Dim m As Integer, n As Integer, u As Integer, v As Integer, w As Integer Function e(ByVal o As Integer, t As Double) As Double '定义e函数 e = 1 t = 1

  For o = 1 To 100 t = t / o

  3

  昆明理工大学VB综合实验作业答案4

  op(u) = Label1.Caption

  End If

  If Index = 15 Then

  If w = 1 Then

  Label1.Caption = Label1.Caption

  Else

  If j = 1 Then

  Label1.Caption = op(u - 1) + op(u)

  ElseIf j = 2 Then

  Label1.Caption = op(u - 1) - op(u)

  4

  Label1.Caption = Label1.Caption + 2 * 10 ^ (-n) n = n + 1

  End If

  End If

  k = k + 1

  op(u) = Label1.Caption

  w = 0

  v = 1

  End If

  If Index = 3 Then

  If k = 0 Then

  Label1.Caption = 3

  Else

  If m = 1 Then

  Label1.Caption = Label1.Caption * 10 + 3 5

  Label1.Caption = Label1.Caption + 5 * 10 ^ (-n) n = n + 1

  End If

  End If

  k = k + 1

  op(u) = Label1.Caption

  w = 0

  v = 1

  End If

  If Index = 6 Then

  If k = 0 Then

  Label1.Caption = 6

  Else

  If m = 1 Then

  6

  Label1.Caption = Label1.Caption * 10 + 8 Else

  Label1.Caption = Label1.Caption + 8 * 10 ^ (-n) n = n + 1

  End If

  End If

  k = k + 1

  op(u) = Label1.Caption

  w = 0

  v = 1

  End If

  If Index = 9 Then

  If k = 0 Then

  Label1.Caption = 9

  Else

  7

  Label1.Caption = op(u - 1) + op(u)

  ElseIf j = 2 Then

  Label1.Caption = op(u - 1) - op(u)

  ElseIf j = 3 Then

  Label1.Caption = op(u - 1) * op(u)

  ElseIf j = 4 Then

  Label1.Caption = op(u - 1) / op(u)

  End If

  If u = -1 Then

  u = 0

  End If

  8

  u = u - 1

  End If

  If j = 1 Then

  Label1.Caption = op(u - 1) + op(u) ElseIf j = 2 Then

  Label1.Caption = op(u - 1) - op(u) ElseIf j = 3 Then

  Label1.Caption = op(u - 1) * op(u) ElseIf j = 4 Then

  Label1.Caption = op(u - 1) / op(u) End If

  9

  If u = -1 Then

  u = 0

  End If

  k = 0

  op(u) = Label1.Caption

  j = 3

  i = i + 1

  m = 1

  n = 1

  u = u + 1

  v = 0

  End If

  If Index = 14 Then

  If v = 0 Then

  u = u - 1

  End If

  If j = 1 Then

  Label1.Caption = op(u - 1) + op(u) ElseIf j = 2 Then

  Label1.Caption = op(u - 1) - op(u) ElseIf j = 3 Then

  Label1.Caption = op(u - 1) * op(u) ElseIf j = 4 Then

  Label1.Caption = op(u - 1) / op(u) End If

  If u = -1 Then

  u = 0

  End If

  k = 0

  op(u) = Label1.Caption

  j = 4

  i = i + 1

  m = 1

  n = 1

  u = u + 1

  v = 0

  End If

  If Index = 19 Then

  a = Label1.Caption

  b = Sin(a)

  Label1.Caption = b

  u = u + 1

  v = 0

  w = 1

  End If

  If Index = 20 Then

  a = Label1.Caption

  10

  w = 1

  End If

  If Index = 23 Then

  a = Label1.Caption

  If Label1.Caption = 0 Then MsgBox 0不能坐真数

  ElseIf Label1.Caption 0 Then MsgBox 负数不能坐真数 Else

  b = Log(a) / Log(10) Label1.Caption = b

  End If

  u = u + 1

  11

  'temp = temp * (ki / (ki - 1)) * (ki / (ki + 1)) 'ni = ni + 1

  'Loop Until Abs(pi - temp) 0.000000000000001 'Label1.Caption = pi

  Label1.Caption = 3.14159265358979

  u = u + 1

  v = 0

  w = 1

  End If

  If Index = 29 Then

  Label1.Caption = e(1, 1)

  u = u + 1

  v = 0

  12

  w = 1

  End If

  If Index = 31 Then If n1 = 0 Then

  m1 = Label1.Caption Else

  Label1.Caption = m1 op(u) = Label1.Caption End If

  n1 = n1 + 1

  End If

  If Index = 32 Then If n2 = 0 Then

  m2 = Label1.Caption Else

  Label1.Caption = m2 op(u) = Label1.Caption End If

  n2 = n2 + 1

  End If

  If Index = 33 Then If n3 = 0 Then

  m3 = Label1.Caption Else

  Label1.Caption = m3 op(u) = Label1.Caption End If

  n3 = n3 + 1

  End If

  If Index = 30 Then If n4 = 0 Then

  m4 = Label1.Caption Else

  Label1.Caption = m4 op(u) = Label1.Caption End If

  n4 = n4 + 1

  End If

  If Index = 27 Then If n5 = 0 Then

  m5 = Label1.Caption Else

  Label1.Caption = m5 op(u) = Label1.Caption End If

  n5 = n5 + 1

  End If

  13

  End If

  If KeyAscii = 51 Then

  If k = 0 Then

  Label1.Caption = 3

  Else

  If m = 1 Then

  Label1.Caption = Label1.Caption * 10 + 3

  Else

  Label1.Caption = Label1.Caption + 3 * 10 ^ (-n)

  n = n + 1

  End If

  End If

  14

  w = 0

  v = 1

  End If

  If KeyAscii = 54 Then

  If k = 0 Then

  Label1.Caption = 6

  Else

  If m = 1 Then

  Label1.Caption = Label1.Caption * 10 + 6 Else

  Label1.Caption = Label1.Caption + 6 * 10 ^ (-n) n = n + 1

  End If

  15

  op(u) = Label1.Caption

  w = 0

  v = 1

  End If

  If KeyAscii = 57 Then

  If k = 0 Then

  Label1.Caption = 9

  Else

  If m = 1 Then

  Label1.Caption = Label1.Caption * 10 + 9 Else

  Label1.Caption = Label1.Caption + 9 * 10 ^ (-n) n = n + 1

  16

  ElseIf j = 3 Then

  Label1.Caption = op(u - 1) * op(u)

  ElseIf j = 4 Then

  Label1.Caption = op(u - 1) / op(u)

  End If

  If u = -1 Then

  u = 0

  End If

  k = 0

  op(u) = Label1.Caption

  i = i + 1

  j = 1

  m = 1

  17

  Label1.Caption = op(u - 1) + op(u) ElseIf j = 2 Then

  Label1.Caption = op(u - 1) - op(u) ElseIf j = 3 Then

  Label1.Caption = op(u - 1) * op(u) ElseIf j = 4 Then

  Label1.Caption = op(u - 1) / op(u) End If

  If u = -1 Then

  u = 0

  End If

  k = 0

  op(u) = Label1.Caption

  18

  Label1.Caption = Label1.Caption Else

  If j = 1 Then

  Label1.Caption = op(u - 1) + op(u) ElseIf j = 2 Then

  Label1.Caption = op(u - 1) - op(u) ElseIf j = 3 Then

  Label1.Caption = op(u - 1) * op(u) ElseIf j = 4 Then

  Label1.Caption = op(u - 1) / op(u) End If

  u = u + 1

  19

  v = 0

  End If

  End If

  End Sub

  Private Sub Form_Load()

  Label1.Caption = 0 '对各个值和循环条件进行初始化 i = 0 '

  j = 0 'j的值对应相应的运算符

  k = 1 '

  m = 1 '判断一个运算数输入过程中小数点前后 n = 1 '存储小数点的位数

  v = 0 '防止连续连续运算时出现错误

  u = 0 '存储各个运算数数组的下标

  w = 0 '

  op(u) = Label1.Caption '初值赋给op(0) End Sub

  4.运行结果界面图

  昆明理工大学VB综合实验作业答案5

  昆明理工大学VB综合实验作业答案6

  20

  5. 程序调试步骤,及遇到的问题

  调试步骤:

  调试 → 设断点 → 添加监视 → 修改程序

  遇到的问题:

  ① 变量未定义

  ② 编译错误(这个问题在整个过程中都存在)

  ③ 缺少结束语句;没有end if语句等

  ④ 类型不匹配

  ⑤ 发生二义性错误

  6.设计问题的不足和改进方案

  不足:

  在进行优先级和简易科学两个不同界面间进行变换时需要通过指定按钮进行变换。

  改进方案:

  设计一个公共窗体,通过选择按钮来实现两个不同界面的变换 (类似于windows系统自带计算器的界面)

  四、实验总结

  这次实验编写科学计算器的程序,事实上是借鉴了很多书上与网上案例再结合自己修改才完成的,感觉真的真的是非常不容易,运行时会遇到很多程序错误需要不断调试,深切地体会到了程序猿辛苦。但每一次程序错误之后的改进都会给自己带来很大的成就感,在不断的探索中也激发了起自己对编程的兴趣。

  同时还更好地掌握了标准控件数组,更深刻地理解了VB的逻辑思维,增加了对VB编程的认识 。VB其实并不难,只要理清思路,逻辑正确,再了解一定的VB基本语法要求,编写一个程序也并不不是想象中的那样难,只要开始编写就有希望运行出结果。

  昆明理工大学VB综合实验作业答案7

  21

  五、参考文献

  1、 陈明锐.《Visual Basic程序设计及应用教程》.北京:高等教育出版 社,2008.12

  2、 张春英.《Visual Basic程序设计实例教程》.北京:北京邮电大学出版社, 2010.1

  3、 匡松 吕峻闽《Visual Basic程序设计基础教程》. 北京:中国铁道出版社,20 06.1

  22

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注视频

《空中课堂》二年级下册 数学第一单元第1课时
沪教版牛津小学英语(深圳用) 四年级下册 Unit 3
冀教版小学数学二年级下册第二单元《有余数除法的竖式计算》
冀教版英语五年级下册第二课课程解读
苏科版数学 八年级下册 第八章第二节 可能性的大小
沪教版牛津小学英语(深圳用) 四年级下册 Unit 12
沪教版牛津小学英语(深圳用) 四年级下册 Unit 4
【部编】人教版语文七年级下册《过松源晨炊漆公店(其五)》优质课教学视频+PPT课件+教案,江苏省
19 爱护鸟类_第一课时(二等奖)(桂美版二年级下册)_T3763925
沪教版牛津小学英语(深圳用) 五年级下册 Unit 10
沪教版八年级下册数学练习册21.3(2)分式方程P15
七年级英语下册 上海牛津版 Unit9
外研版英语三起5年级下册(14版)Module3 Unit1
沪教版八年级下次数学练习册21.4(2)无理方程P19
8.练习八_第一课时(特等奖)(苏教版三年级上册)_T142692
化学九年级下册全册同步 人教版 第18集 常见的酸和碱(二)
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,辽宁省
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
冀教版小学数学二年级下册第二单元《租船问题》
苏教版二年级下册数学《认识东、南、西、北》
冀教版英语四年级下册第二课
冀教版小学英语五年级下册lesson2教学视频(2)
冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣
第19课 我喜欢的鸟_第一课时(二等奖)(人美杨永善版二年级下册)_T644386
冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣.mp4
外研版英语三起5年级下册(14版)Module3 Unit2
冀教版英语三年级下册第二课
飞翔英语—冀教版(三起)英语三年级下册Lesson 2 Cats and Dogs
沪教版牛津小学英语(深圳用) 五年级下册 Unit 12
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,天津市