当前位置:文档之家› VB课程设计报告

VB课程设计报告

课程设计(论文)任务书机电学院专业班一、课程设计(论文)题目:数学宝典二、课程设计(论文)工作自20 年 1 月4日起至 20 年1 月 8 日止三、课程设计(论文) 地点: 计算中心机房四、课程设计(论文)内容要求:1. 本课程设计的目的(1)掌握VB语言的数据类型和各种语句、各种控件和函数的使用;(2)培养学生独立设计算法、编写调试程序的能力;(3)培养学生分析、解决问题的能力;(4)提高学生的科技论文写作能力。

2. 课程设计的任务及要求设计一个提供计算多项数学问题的程序,至少包含3个数学问题(例如求1!+2!+3!+……+n!;用公式计算e的近似值;)用户可自行选择计算的问题。

1)基本要求:(1)贯彻事件驱动的程序设计思想;(2)要求界面设计简洁、美观、实用;(3)编程、调试、运行结果正确;(4)给程序做出必要的注释,以增强程序的可读性。

(5).提供条件控制功能,如计算e的近似值时要将精度控制在10-9,(键盘提示出n 的取值范围)防止计算结果溢出;2)创新要求:在基本要求达到后,可进行创新设计,可以对界面或内容进行创新,界面友好,人性化,内容新颖。

3) 课程设计报告撰写及装订要求课程设计报告的撰写要求语句通顺,格式规范,图文并茂。

报告按如下内容和顺序用A4纸进行打印并装订成册。

(1)封面采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。

(2)设计任务书(3)评阅书(4)目录(5)正文(6)主要参考文献4) 课程设计评分标准:(1)考勤与课程设计态度:20分;(2)完成设计过程:40分;(3)完成调试:20分;(4)论文质量:20分。

5)参考文献:(1)吴昊 .《VB程序设计教程》中国铁道出版社(2)龚沛曾《VB程序设计简明教程》高等教育出版社(3)王栋《VB程序设计实用教程》清华大学出版社6)课程设计进度安排内容天数地点构思及收集资料1图书馆编程与调试3实验室撰写论文1图书馆、实验室学生签名:年月日课程设计(论文)评阅意见评阅人职称讲师20 年1月9日目录一、绪论 (5)1.1 Visual Basic 概念1.2 Visual Basic系统的术语1.3 系统的主要特点1.4课程设计的背景与目的二、需求分析 (7)2.1社会和技术需求分析2.2客户和功能需求分析三、概要设计 (8)3.1课程设计的开发流程3.2主要算法思想原理四、详细设计 (10)4.1程序源代码五、运行结果及分析 (13)5.1各数学问题的运行结果与分析5.2调试过程六、课程设计心得 (20)6.1此次课程设计总结6.2系统存在的问题及解决策略6.3对VB这门课程的学习心得七、参考文献 (21)第1章绪论1.1 Visual Basic 概念Visual Basic(简称VB)是Microsoft公司在Basic语言的基础之上推出的软件开发工具,它是一种基于对象的可视化编程语言,是目前Windows平台上设计应用程序最为快捷的工具之一。

它简单易学、效率高,且功能强大可以与 Windows 专业开发工具SDK相媲美。

在Visual Basic 环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。

我们所使用的Visual Basic 6.0,已经是非常成熟稳定的开发系统,能让企业快速建立多层的系统以及Web应用程序,成为当前 Windows 上最流行的 Visual Basic 版本。

1.2 Visual Basic系统的术语事件:由用户或操作系统引发的动作,例如击键、单击鼠标(Click)、双击鼠标(DblClick)、一段时间的限制,或从端口接收数据。

方法:嵌入在对象定义中的程序代码,它定义对象怎样处理信息并响应某事件。

例如,数据库对象有打开纪录集并从一个记录移动到另一个记录的方法程序的基本元素,它含有定义其特征的属性,定义其任务和识别它可以响应的事件的方法。

控件和窗体是Visual Basic中所有对象的示例。

物件:一个控件、窗体等都可被看作一个物件。

过程:为完成某些特定的任务而编写的代码段,过程通常用于响应特定的事件,也可以当作应用程序的用户自定义函数来使用。

属性:属性是组成用户界面的各对象的性质的具体描述。

例如上述“物件”中所提到的尺寸、位置、颜色、宽度、高度等等都称为控件的属性。

属性决定物件的外观,有时也决定物件的行为。

物件的属性绝大部分是VB中已经事先定义好的,但也有的属性是需要在应用过程中才去定义的。

属性即可为物件提供数据,也能从物件取回信息。

控件:简单的说,控件就是构成或者说建造 Visual Basic 应用程序的图形化工具,包括窗体、按钮、复选框、列表框、数据控件、表格控件和图片控件等等。

1.3系统的主要特点1.面向对象和可视化的程序设计Visual Basic 实现了对象的封装,是程序员只需把注意力集中到对象的设计.特别是对程序界面的设计。

2.事件驱动的运行机制Visual Basic程序是在Windwos环境下开发的,因此其运行机制是事件驱动的。

也就是只有发生某个动作 (如按下某键,鼠标移动等动作时发生的变化等),才会执行相应的程序段.这种机制使人机交互更为方便,程序的功能大大加强,也为多任务运行方式提供了保证。

3.结构化的程序设计语言在程序结构方面,Visual Basic继承了QBasic的所有优点,不但完全符合结构化程序设计的要求,而且具有较强的数值运算和字符串的处理能力。

4.多种数据库访问能力Visual Basic 具有很强的数据库访问能力,不但能方便的处理诸如Visual FoxFro,Access,等小型数据库中的数据,还可以轻松访问Microsoft SQL Server 等大中型数据库中的数据。

5.提供了功能完备的应用程序集成开发环境Visual Basic 的集成开发环境用户界面,代码编写,调试运行和编译打包等诸多功能于一体,为程序员提供了一整套功能强大的应用程序开发环境。

6.方便使用的联机帮助功能利用集成开发环境中的帮助菜单或F1功能键,用户可以随时获取和查阅有关的帮助信息(MSDN)。

1.4课程设计的背景与目的对于一名大学生来说,学以致用是必须拥有的一种能力。

我们学习了一个学期的VB,就应该充分利用学校提供的机房及其设备,运用自己所学的知识设计一套可运行的程序。

本次课程设计的目的如下:1.掌握VB语言的数据类型和各种语句和函数的使用;2.培养学生独立设计算法、编写调试程序的能力;3.培养学生分析、解决问题的能力;4.提高学生的科技论文写作能力。

第2章需求分析2.1 社会和技术需求分析在计算机的世界里,当我们遇到数学问题是,常常会使用Windows自带的计算器。

该计算器当然有不少值得学习的功能,如进制转换、三角函数计算、指数运算、幂运算等,但有一个令人遗憾的功能,即不能输入表达式进行计算(我们看到的永远只是一个中间结果)。

往往我们在用的时候必须先把要计算的表达式写下来,然后一个一个的输入,如果一不小心输错了,就只能重新输入,这对于普通用户来说是个不小的考验。

VB 中的“数学宝典”可以替广大群众解决更为复杂的数学问题,是一种科学计算器。

2.2 客户和功能需求分析“数学宝典”的功能类似于生活中的计算器,但其使用方法比计算器更加方便。

计算器是一种广泛应用在日常生活当中的小型电子设备,对于学习函数的学生而言是个好帮手,对于各类工程技术人员也很有用。

我们把客户常用的复杂计算式融入到“数学宝典”里,便可以为学生、技术人员等客户排忧解难。

第3章 概要设计3.1课程设计的开发流程其中,软件开发的流程如下:3.2 主要算法思想原理3.2.1选择结构贯穿始终根据选择结构的特点,如果给定的条件为真,则执行某条语句,否则执行另外的语句或不做任何操作。

于是在界面上添加四个单选按钮,将其Caption属性分别设置为四个数学问题的名称。

此题需挑选多分支条件语句,即If...Then...ElseIf语句或者Select Case语句,而此题可以用到选择结构的嵌套。

在嵌套过程中,要注意Else与If的配对关系。

1.If...Then ...ElseIf语句的格式:IF 条件1 Then语句组1[ElseIf 条件2 Then语句组2]...[ElseIf 条件n Then语句组n][Else语句组n+1]End If图3-1 多分支结构流程图2.命令按钮单击按钮(OptionButton)控件用来表示是否被选中。

它的默认名称为Option1、Option2、...。

单击按钮必须成组出现,通常将两个或两个以上的单击按钮控件放在一个Frame(框架)控件中,形成一个选项组。

3.2.2循环结构穿插在内在结构化程序设计中,顺序、分支结构在程序执行时,每个语句只能被执行一次,而要使某些语句要重复执行若干次,则需要通过循环结构来实现。

此题则运用了For...Next循环语句和Do...Loop循环语句。

第4章详细设计4.1程序源代码Private Sub Command1_Click()If Option1 = True ThenDim n1%, i1%, j&, s1#n1 = InputBox("请输入一个整数:")j = 0s1 = 0For i1 = 1 To n1j = j + i1s1 = s1 + jNext i1Label1.Caption = "和为s1=:" & Str(s1)ElseIf Option2 = True Thenn2 = InputBox("请输入一个整数:")s2 = 0t1 = 1For i2 = 1 To n2t1 = t1 * i2s2 = s2 + t1Next i2Label1.Caption = "和为s2=:" & Str(s2)ElseIf Option3 = True ThenShowt = 1i = 0n = 1Do While t > 0.00001e = e + ti = i + 1n = n * i '连乘,求阶乘t = 1 / n '累加和LoopLabel1.Caption = "e=" & eElsex = Val(InputBox("请输入第一个边长数"))y = Val(InputBox("请输入第二个边长数"))z = Val(InputBox("请输入第三个边长数"))If x + y > z And x + z > y And y + z > x Then m = (x + y + z) / 2S4 = Sqr(m * (m - x) * (m - y) * (m - z)) Label1.Caption = "三角形的面积为:" & S4ElseMsgBox "不能构成三角形!"End IfEnd IfEnd SubPrivate Sub Command2_Click()Label1.Caption = ""End SubPrivate Sub Command3_Click()EndEnd SubPrivate Sub Form_Load()Dim i%, green%, blue%ShowRandomizeFor i = 1 To 200 Step 10green = Int(255 * Rnd + 1)blue = Int(255 * Rnd + 1)CurrentX = 4000 + iCurrentY = 700 + iForeColor = RGB(i, green, blue)FontSize = 15Print "欢迎使用数学宝典"Next iEnd SubPrivate Sub Timer1_Timer()Picture1.Width = Picture1.Width + 40Picture1.Height = Picture1.Height + 20End Sub第5章运行结果及分析5.1 各数学问题的运行结果与分析5.1.1 求1+(1+2)+(1+2+3)+...+(1+2+3+...+n)的值此块内容运用到了For...Next循环语句图5-1-1图5-1-25.1.2求1!+2! +...+n!的值注意各变量的定义,熟悉各数据类型的运用,否则会产生“溢出”的问题。

相关主题