VB大作业
vb大一选择程序结构习题答案答案
vb大一选择程序结构习题答案答案4.2习题一、选择题1. 以下不正确的单行结构条件语句是( D)。
(A)If x>y Then Print "x>y"(B)If x Then t=t*x(C)If x Mod 3=2 Then Print x(D)If x<0 Then y=2*x-1: Print x End If2. 给定程序段Dim a As Integer, b As Integer, c As Integera=1:b=2:c=3If a=c-b Then Print "#####" Else Print "*****"以上程序( C )。
(A)没有输出(B)有语法错(C)输出#####(D)输出***** 3. 运行下面程序后,在弹出的消息窗口中显示的是(D)。
Private Sub Form_Click()score=Int(Rnd)+5Select Case scoreCase 5a$="Good"Case 4a$="Ok"Case 3a$="Pass"Case Elsea$="Bad"End SelectMsgBox a$End SubB、PassC、OkD、Good4. 下面语句书写正确的是(D)。
(A) If a>max Then max=a Else max=b End If(B) If a>max Then max=aElse max=bEnd If(C) If a>max Thenmax=aElsemax=6( D) If a>max Thenmax=aElsemax=6End If5. 执行下列程序段输出的结果为( C )。
a=3IF a>0 ThenPrint "###"ElsePrint "$$$"End IfA) ###$$$B) $$$###C) ###D) $$$6. 下面程序段运行后,显示的结果是( B )if x then print x else print x+1(A) 1 (B) 0 (C) -1 (D) 显示出错信息7: 语句IF x=1 THEN y=1, 下列说法正确的是( C )(A) X=1和Y=1均为赋值语句 (B) X=1和Y=1均为关系表达式(C) X=1为关系表达式,Y=1为赋值语句 (D) X=1为赋值语句,Y=1为关系表达式8. 用IF 语句表示分段函数,<+≥+=1311)(2x x x x x f 下列程序段不正确的是( A )(A) If x>=1 then f=sqr(x+1) (B) If x>=1 then f=sqr(x+1)F=x*x+3 if x<1 then f=x*x+3(C) F=x*x+3 (D) f=sqr(x+1)If x>=1 then f=sqr(x+1) If x<1 then f=x*x+39. 下面IF 语句统计满足性别(sex )为男,职称(duty )为副教授以上,年龄(age )小于40岁条件的人数,不正确的语句是( D )(A) If sex=”男” and age<40 and instr(duty,”教授”)>0 then n=n+1(B) If sex=“男” and age<40 and (duty=“教授” or duty=“副教授”) then n=n+1(C) If sex=“男” and age<40 and right(duty,2)=“教授” then n=n+1(D) If sex=“男” and age<40 and duty=“教授” and duty=“副教授” then n=n+110. 下面程序段求两个数中的大数,( D )不正确。
面向对象程序设计大作业VB_NET
《面向对象程序设计》大作业题目:记事本的设计及实现姓名:学号:专业:学院:指导教师:1 课程设计题目和要求 (3)2 功能分析 (3)3 系统设计 (3)3.1主流程图 (3)3.2 “文件”菜单操作流程图 (4)3.3 “编辑”菜单操作流程图 (5)3.4 “格式”菜单操作流程图 (6)3.5“帮助”菜单操作流程图 (7)4. 界面设计 (8)4.1 系统主界面设计 (8)4.2“文件”菜单的菜单项 (8)4.3 打开文件及另存文件时的界面 (9)4.4“编辑”菜单的菜单项 (9)4.5“格式”菜单的菜单项 (10)4.6“帮助”菜单的菜单项 (10)4.7 帮助界面设计 (11)4.8 “查找”功能界面设计 (12)5 总结 (12)6. 附录(源程序清单) (14)6.1全局变量 (14)6.2主程序加载 (14)6.3新建记事本文件 (14)6.4打开已有的记事本文件 (14)6.5 保存记事本文件 (15)6.6另存为所打开的记事本文件 (15)6.7打印所打开的记事本文件 (16)6.8退出主程序 (16)6.9 撤销命令 (16)6.10 剪切命令 (16)6.11 复制命令 (17)6.12 黏贴命令 (17)6.13 “删除”菜单源程序 (17)6.14“查找”菜单源程序 (17)6.15“查找下一个”菜单源程序 (17)6.16“全选”菜单源程序 (18)6.17插入时间/日期源程序 (18)6.18 统计字数源程序 (18)6.19 “自动换行”菜单源程序 (19)6.20 字体的选择 (19)6.21 “帮助”菜单栏源程序 (19)6.22 关于此记事本的信息 (19)1 课程设计题目和要求题目:记事本的设计及实现基本设计要求:(1)功能齐全;(2)保证文件安全,操作简便;(3)操作方便、简单,界面友好;(4)易于维护和补充;(5)对系统的运行效率要高,绝对不能出错,对系统响应速度的要求不高;2 功能分析本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:(1) 菜单中有“文件”、“编辑”、“格式”、“帮助”四个主菜单;(2) “文件”有“新建”、“打开”、“保存”、“另存为”、“打印”及“退出”分别用于新建文件,打开文件,保存文件,另存文件,打印文件及退出记事本。
VB课程大作业要求
VB课程大作业要求1.题目安排:每个同学根据自己的学号后两位数字,做对应的题目。
题目在附件中,文件名为《VB大作业题库》。
例如:学号201120007,后两位数字为“07”,做第“7题”;学号201120017,后两位数字为“17”,做第“17题”;学号201120100,后两位数字为“00”,做第“100题”;2.答题要求:每个同学针对各自的题目,首先进行算法分析;然后设计直观、可操作性强的界面;上机编程和调试后,进行结果分析与总结。
3.提交形式:纸质报告+源程序(.vbp和.frm文件)(1)纸质报告分四部分,篇幅大小为2page,字号为“五号”;一张A4纸正反打印。
<1> 班级姓名学号题目;<2> 算法分析;<3> 界面与结果截图;<4> 结果分析与总结;(2)源程序包括工程和窗体文件等(.vbp和.frm),做成一个压缩文件,文件名统一为:班级+姓名+学号<注意:只提交.exe文件的没有成绩!>4.提交时间与方式:(1) 纸质报告交各班学委,由学委排序后,于5月17日17点之前,交到7教314。
(2) 源程序文件,由各位同学本人,于5月17日17点之前,发送到lining@纸质报告与源程序两者缺一不可。
打印所有不超过n(取n<256) 的其平方具有对称性质的数(也称回文数)。
*题目分析与算法设计对于要判断的数n,计算出其平方后(存于a),将a的每一位进行分解,再按a的从低到高的顺序将其恢复成一个数k(如n=13,则a=169且k=961),若a等于k则可判定n为回文数。
#include <stdio.h>int main(int argc, char *argv[]){int i, n, a, m[16], k, count=0, t;printf("no\tnumber\tvalue\n");for(n=1; n<256; n++){k = 0, t = 1, a = n * n;for(i=0; a!=0; i++){m[i] = a % 10;a /= 10;}int j = 0;for(i--; j<=i; j++, i--){if(m[j] != m[i])break;if(j >= i)printf("%d\t%d\t%d\t\n", ++count, n, n*n);}}return 0;}。
北航选修课VB(A)大作业
2010-2011学年第一学期课程大作业1.编写程序,建立并输出一个10x10的矩阵,该矩阵主对角线元素为1,其余元素为0编辑界面Private Sub Command1_Click()Dim a(1 To 10, 1 To 10) As Long, i As Long, j As LongMe.Cls: Me.AutoRedraw = TrueFor i = 1 To 10For j = 1 To 10If i <> j Then a(i, j) = 0 Else a(i, j) = 1Print " " & a(i, j);NextPrint vbCrLfNextEnd Sub2.对10名运动员的百米短跑比赛成绩进行排序,并按格式分行输出成绩排名表。
运行界面Private Type StuNo As String * 3Time As SingleEnd TypeSub Command1_Click()Dim s(1 To 10) As Stus(1).No = "207"s(2).No = "156"s(3).No = "453"s(4).No = "096"s(5).No = "339"s(6).No = "077"s(7).No = "231"s(8).No = "276"s(9).No = "122"s(10).No = "302"s(1).Time = 14.5s(2).Time = 14.2s(3).Time = 15.2s(4).Time = 15.7s(5).Time = 14.9s(6).Time = 15.1s(7).Time = 14.7s(8).Time = 13.9s(9).Time = 13.7s(10).Time = 14.5Dim i, j, n As IntegerDim si As StuFor i = 1 To 9For j = i + 1 To 10If s(i).Time > s(j).Time Thensi = s(i)s(i) = s(j)s(j) = siEnd IfNextNextPrint "名次"; Tab(10); "运动员号"; Tab(25); "成绩"PrintFor n = 1 To 10Print n; Tab(10); s(n).No; Tab(25); s(n).TimePrintNextEnd Sub3. 编写二进制整数转换十进制整数的函数,编写十进制实数(考虑整数部分和小数部分)转换二进制实数的函数。
成人《VB程序设计》标准化大作业(答案)1
作业1一、单项选择题1.Visual Basic是一种面向对象的可视化程序设计语言,采取了 A 的编程机制。
(A)事件驱动 (B)按过程顺序执行 (C)从主程序开始执行 (D)按模块顺序执行2.在Visual Basic中最基本的对象是 C ,它是应用程序的基石,是其他控件的容器。
(A)文本框 (B)命令按钮 (C)窗体 (D)标签3.多窗体程序是由多个窗体组成。
在缺省情况下,VB在应用程序执行时,总是把 B指定为启动窗体。
(A)不包含任何控件的窗体 (B)设计时的第一个窗体(C)包含控件最多的 (D)命名为Frm1的窗体4.有程序代码如下:Text1. Text= "Visual Basic"则:Text1,Text和"Visual Basic"分别代表 C 。
(A)对象,值,属性 (B)对象,方法,属性(C)对象,属性,值 (D)属性,对象,值5.Visual Basic是一种面向对象的程序设计语言, A 不是面向对象系统所包含的三要素。
(A)变量 (B)事件 (C)属性 (D)方法6.Visual Basic的一个应用程序至少包含一个 B 文件,该文件存储窗体上使用的所有控件对象和有关的、对象相应的过程和代码。
(A)模块、方法、事件、程序 (B)窗体、属性、事件、程序(C)窗体、程序、属性、事件 (D)窗体、属性、事件、模块7.以下不属于Visual Basic的工作模式是 A 模式。
(A)编译 (B)设计 (C)运行 (D)中断8.在VB集成环境创建VB应用程序时,除了工具箱窗口、窗体中的窗口、属性窗口外,必不可少的窗口是 C 。
(A)窗体布局窗口 (B)立即窗口 (C)代码窗口 (D)监视窗口9.保存新建的工程时,默认的路径是 B 。
(A)My Documents (B)VB98 C)\ (D)Windows10.将调试通过的工程经“文件”菜单的“生成 .exe文件”编译成 .exe后,将该可执行文件拿到其他机器上不能运行的主要原因是 A 。
vba大作业
Sub createLineAndText()Dim p0(0 To 2) As DoubleDim p1(0 To 2) As DoubleFor i = 0 To 10p0(0) = 0: p0(1) = ip1(0) = 10: p1(1) = iSet ln0 = ThisDrawing.ModelSpace.AddLine(p0, p1)NextFor i = 0 To 10p0(0) = i: p0(1) = 0p1(0) = i: p1(1) = 10Set ln = ThisDrawing.ModelSpace.AddLine(p0, p1)NextFor i = 0 To 9For j = 0 To 9p0(0) = i + 0.4: p0(1) = j + 0.4Set tt = ThisDrawing.ModelSpace.AddText(i * 10 + j, p0, 0.2) Next jNext iEnd SubSub createFrameDim()Dim p0(0 To 2) As DoubleDim p1(0 To 2) As DoubleDim pt(0 To 2) As Doubles = 500: num = 70p1(0) = s * numSet ln0 = ThisDrawing.ModelSpace.AddLine(p0, p1)For i = 0 Tonump0(0) = i * sp1(0) = i * s: p1(1) = 50If i Mod 5 = 0 Thenp1(1) = 150pt(0) = i * s: pt(1) = -200Set tt = ThisDrawing.ModelSpace.AddText(i, pt, 180)End IfSet ln = ThisDrawing.ModelSpace.AddLine(p0, p1)NextEnd SubSub createRegion()Dim ea(0 To 2) As AcadEntityDim p0(0 To 2) As DoubleDim p1(0 To 2) As DoubleDim p2(0 To 2) As Doublep1(1) = 1000p2(0) = 1500: p2(1) = 1000Set ln0 = ThisDrawing.ModelSpace.AddLine(p0, p1)Set ln1 = ThisDrawing.ModelSpace.AddLine(p1, p2)Dim pta(0 To 3 * 3 - 1) As Doublepta(3) = 1000: pta(4) = 500: pta(6) = 1500: pta(7) = 1000Set sp = ThisDrawing.ModelSpace.AddSpline(pta, p0, p0)Set ea(0) = ln0Set ea(1) = ln1Set ea(2) = sprega = ThisDrawing.ModelSpace.AddRegion(ea)Dim tt As StringDim cen As Variantcen = rega(0).Centroidtxt = "A=" ®a(0).Area & " LCG=" &cen(0)MsgBox (txt)End SubSub InsertBlock()Dim blockObj As AcadBlockDim pos(0 To 2) As DoubleSet blockObj = ThisDrawing.Blocks.Add(pos, "txy")Dim cen(0 To 2) As DoubleSet a = blockObj.AddCircle(cen, 50)Set b = blockObj.AddCircle(cen, 100)Set c = blockObj.AddCircle(cen, 150)Dim ref As AcadBlockReferencepos(0) = 2: pos(1) = 2Set ref = ThisDrawing.ModelSpace.InsertBlock(pos, "txy", 1, 1, 1, 0) ZoomAllEnd SubPublic Sub selectEntity()Dim obj As AcadObjectOn Error GoToendofsubThisDrawing.Utility.GetEntityobj, p1, "select a object please" obj.color = 1End SubSub TexttoPos()Dim tt As AcadTextWhile 1ThisDrawing.Utility.GetEntitytt, p1, "选择文本"tt.TextString = Format(tt.InsertionPoint(0), 0) & "," & Format(tt.InsertionPoint(1), 0) WendEnd SubPublic Sub SetPoint() '可以画直线Dim p1(0 To 2) As DoubleDim rp As VariantOn Error GoTotoExitWhile 1rp = ThisDrawing.Utility.GetPoint(p1, "选择点")ThisDrawing.ModelSpace.AddPoint (rp)Set ln = ThisDrawing.ModelSpace.AddLine(p1, rp)p1(0) = rp(0): p1(1) = rp(1)WendtoExit:End SubPublic Sub SetPoint2() '可以画splineDim p1(0 To 2) As DoubleDim rp As VariantOn Error GoToendofsubReDimpta(0 To 1000) As DoubleCount = 0While 1rp = ThisDrawing.Utility.GetPoint(p1, "选择下一点")ThisDrawing.ModelSpace.AddPoint (rp)pta(Count * 3) = rp(0): pta(Count * 3 + 1) = rp(1)Count = Count + 1Wendendofsub:ReDim Preserve pta(0 To Count * 3 - 1) As DoubleThisDrawing.ModelSpace.AddSplinepta, p1, p1End SubSub drawcoodinate()Dim rp As Variantrp = ThisDrawing.Utility.GetPoint(p1, "选择位置点") 'rp=thisdrawing.utility.getEntity p1,"选择位置点"Set tt = ThisDrawing.ModelSpace.AddText(Format(rp(0), 0) & "," & Format(rp(1), 0), rp, 50)End SubSub changecolor()Dim ss1 As AcadSelectionSetSet ss1 = ThisDrawing.SelectionSets.Add("set")ss1.SelectOnScreenFor Each element In ss1element.color = 1Nextss1.DeleteEnd SubPublic Sub multSelect()On Error GoTotoExitDim ss1 As AcadSelectionSetSet ss1 = ThisDrawing.SelectionSets.Add("set2")ss1.SelectOnScreenDim tt As AcadTextFor Each element In ss1Set tt = elementtt.TextString = Format(tt.InsertionPoint(0), 0) & "," & Format(tt.InsertionPoint(1), 0)Nextss1.DeletetoExit:End SubPublic Sub createSinCurve()num = 50PI = 3.1415Dim st(0 To 2) As DoubleDim et(0 To 2) As DoubleReDimpta(0 To num * 3 - 1) As DoubleDim splineObj As AcadSplineFor i = 0 Tonum - 1pta(i * 3) = i * 2 * PI / num: pta(i * 3 + 1) = Sin(pta(i * 3))NextSet splineObj = ThisDrawing.ModelSpace.AddSpline(pta, st, et)Public Sub getFixPoint()Dim pt(0 To 2) As DoubleDim spAsAcadSplineThisDrawing.Utility.GetEntitysp, p1, "选择一条曲线"For i = 0 Tosp.NumberOfFitPoints - 1pt(0) = sp.FitPoints(i * 3)pt(1) = sp.FitPoints(i * 3 + 1)pt(2) = sp.FitPoints(i * 3 + 2)Set point = ThisDrawing.ModelSpace.AddPoint(pt)point.color = 1NextEnd SubPublic Sub curveIntersections() '插一条曲线与一组曲线的交点Dim ss1 As AcadSelectionSetDim Obj2 AsAcadObjectDim pt(0 To 2) As DoubleDim ptaAs VariantOn Error GoToendfunSet ss1 = ThisDrawing.SelectionSets.Add("set3")ss1.SelectOnScreenThisDrawing.Utility.GetEntity Obj2, pt, "选择第二个实体"For Each element In ss1pta = Obj2.IntersectWith(element, acExtendNone)Count = (UBound(pta) + 1) / 3For i = 0 To Count - 1pt(0) = pta(i * 3): pt(1) = pta(i * 3 + 1)ThisDrawing.ModelSpace.AddPoint (pt)Next iNextendfun:End SubPublic Sub createlineplan()Dim ssAsAcadSelectionSetOn Error GoToendfunSet ss = ThisDrawing.SelectionSets.Add("set4")ss.SelectOnScreenlpp = 189Dim pt0(0 To 2) As DoubleDim pt1(0 To 2) As DoubleReDimpta(0 To 1000) As DoubleDim t0(0 To 2) As DoubleDim t1(0 To 2) As Doublet0(2) = -1For i = 0 To 20pt0(0) = i * lpp / 20: pt1(0) = pt0(0)pt1(1) = b / 2Set X1 = ThisDrawing.ModelSpace.AddXline(pt0, pt1)ptCount = 0For Each element Inssptx = X1.IntersectWith(element, acExtendNone)If UBound(ptx) <> 0 Thenpta(i * 3) = ptx(0): pta(i * 3 + 1) = element.lintypescale: pta(i * 3 + 2) = ptx(1) End IfptCount = ptCount + 1NextReDim Preserve pta(0 To ptCount * 3 - 1) As DoubleFor i = 0 ToptCount - 1For j = i ToptCount - 1ThisDrawing.ModelSpace.AddSplinepta, t0, t1X1.DeleteNext iendfun:End SubPublic Sub SplineToPolyline()ptNum = 100Dim spAsAcadSplineDim p0(0 To 2) As DoubleDim p1(0 To 2) As DoubleReDimpta(0 To (ptNum + 1) * 2 - 1) As DoubleThisDrawing.Utility.GetEntitysp, pt, vbCr& "选择一条样条曲线"X0 = sp.ControlPoints(0)X1 = sp.ControlPoints(3 * sp.NumberOfControlPoints - 3)For i = 0 ToptNump0(0) = X0 + (X1 - X0) / ptNum * i: p1(0) = p0(0)p1(1) = 1000Set xx = ThisDrawing.ModelSpace.AddXline(p0, p1)If UBound(ptb) > 1 Thenpta(i * 2) = p0(0): pta(i * 2 + 1) = ptb(1)End Ifxx.DeleteNextSet pl = ThisDrawing.ModelSpace.AddLightWeightPolyline(pta) pl.color = 2: sp.Visible = 0End SubPublic Sub derivative() '求导数Dim spAsAcadEntityDim rp As VariantDim p0(0 To 2) As DoubleDim p1(0 To 2) As DoubleDim p2(0 To 2) As DoubleDim p3(0 To 2) As DoubleThisDrawing.Utility.GetEntitysp, pt, "选择一条曲线"rp = ThisDrawing.Utility.GetPoint(, "选择所求导数的位置点") p0(0) = rp(0): p0(1) = rp(1)p1(0) = p0(0): p1(1) = rp(1) + 1000Set X1 = ThisDrawing.ModelSpace.AddXline(p0, p1)pta = X1.IntersectWith(sp, acExtendNone)X1.DeleteIf UBound(pta) > 1 Thenfx = pta(1)End Ifp2(0) = p0(0) + 0.01: p2(1) = p0(1)p3(0) = p2(0): p3(1) = p2(1) + 1000Set X2 = ThisDrawing.ModelSpace.AddXline(p2, p3)ptb = X2.IntersectWith(sp, acExtendNone)X2.DeleteIf UBound(ptb) > 1 Thenfxx = ptb(1)End Iff = (fxx - fx) / 0.01MsgBox fEnd SubPublic Sub drawtangent()Dim pl As AcadLWPolylineDim lnAsAcadLineDim px(0 To 2) As Doublemin = 10000#On Error GoTotoExitThisDrawing.Utility.GetEntitypl, p1, "选择一条多义线"ThisDrawing.Utility.GetEntityln, p2, "选择一条直线"x0 = ln.StartPoint(0): y0 = ln.StartPoint(1)x1 = ln.EndPoint(0): y1 = ln.EndPoint(1)k = (y1 - y0) / (x1 - x0): A = k: B = -1: C = y0 - kx0num = (UBound(pl.Coordinates) + 1) / 2For i = 0 Tonum - 1dis = (A * pl.Coordinates(i * 2) + B * pl.Coordinates(i * 2 + 1) + C) / Sqr(A * A + B * B) If dis < min Thenmin = dispt(0) = pl.Coordinates(i * 2): pt(1) = pl.Coordinates(i * 2 + 1)End IfNext ipx(0) = pt(0) + 1: px(1) = pt(1) + kSet xl = ThisDrawing.ModelSpace.AddXline(pt, px)xl.color = 3Set p = ThisDrawing.ModelSpace.AddPoint(pt)p.color = 3toExit:If Err.Description<> "" ThenMsgBoxErr.DescriptionEnd IfEnd SubPublic Sub intergralCurve()Dim pl As AcadLWPolylineReDimpta(0 To 10000 * 3 - 1) As DoubleDim t(0 To 2) As DoubleThisDrawing.Utility.GetEntitypl, "选择一条多义线"ptnum = (UBound(pl.Coordinates) + 1) / 2pta(0) = pl.Coordinates(0)For i = 1 Toptnum - 1x0 = pl.Coordinates((i - 1) * 2): x1 = pl.Coordinates(i * 2)h0 = pl.Coordinates((i - 1) * 2 + 1): h1 = pl.Coordinates(i * 2 + 1)pta(3 * i) = x0: pta(3 * i + 1) = 1 / 2 * (h0 + h1) * (x1 - x0)NextReDim Preserve pta(0 To ptnum * 3 - 1)Set sp = ThisDrawing.ModelSpace.AddSpline(pta, t, t)Public Sub hide()Dim ssAsAcadSelectionSetSet ss = ThisDrawing.SelectionSets.Add("set") ss.SelectOnScreenFor Each element Insselement.Visible = 0Nextss.DeleteEnd SubPublic Sub show()Dim ent As AcadEntityFor Each ent In ThisDrawing.ModelSpace ent.Visible = 1NextEnd SubPublic Sub showBySelectionSet() '有点问题Set ss = ThisDrawing.SelectionSets.Item("set") For Each element Insselement.Visible = 1Nextss.DeleteEnd SubPublic Sub showBycolor()Dim ent As AcadEntityFor Each ent In ThisDrawing.ModelSpaceIf ent.color = 1 Thenent.Visible = 1End IfNextEnd SubPublic Sub showhide()Dim ent As AcadEntityFor Each ent In ThisDrawing.ModelSpaceIf ent.Visible = 0 Thenent.Visible = 1ElseEnd IfNextEnd SubSub secProp()Dim AsumAs DoubleDim MsumAs DoubleDim IsumAs DoubleDim lnAsAcadLineyd = 0For Each lnInThisDrawing.ModelSpacex0 = ln.StartPoint(0): x1 = ln.EndPoint(0)y0 = ln.StartPoint(1): y1 = ln.EndPoint(1)If y0 >yd Then yd = y0If y1 >yd Then yd = y1If y0 = y1 = 0 Thenym = t / 2Elseym = 1 / 2 * (y1 + y0)End Ifl = Sqr((y1 - y0) ^ 2 + (x1 - x0) ^ 2)t = ln.LinetypeScaleA = l * tM = A * ymIf Abs(x0 - x1) < 0.00001 ThenI = 1 / 3 * t * Abs(y1 ^ 3 - y0 ^ 3)Elsek = (y1 - y0) / (x1 - x0): b = y0 - k * x0I = t * Sqr(1 + k ^ 2) * Abs((1 / 3 * k ^ 2 * x1 ^ 3 + k * b * x1 ^ 2 + b ^ 2 * x1) - (1 / 3 * k ^ 2 * x0 ^ 3 + k * b * x0 ^ 2 + b ^ 2 * x0))End IfAsum = Asum + AMsum = Msum + MIsum = Isum + INextyc = Msum / AsumIa = Isum - Asum * yc ^ 2Wb = Ia / ycWd = Ia / (yd - yc)MsgBox "A=" & Format(Asum, ".00") & " M=" & Format(Msum, ".00") & " Yc=" & Format(yc, ".00") & " I=" & Format(Ia, ".00") & " Wd=" & Format(Wd, ".00") & " Wb=" & Format(Wb, ".00")Sub OneplusCp()‘未试验,可能有错Lpp0 = 186: Lpp = 189B0 = 34: B = 35dCpf = 0.0012: dCpa = -0.0003Cpf0 = 0.76: Cpa0 = 0.54Dim p0(0 To 2) As DoubleDim p1(0 To 2) As DoubleDim pta(0 To 21 * 2 - 1) As DoubleOn Error GoTotoExitDim ssAsAcadSelectionSetSet ss = ThisDrawing.SelectionSets.Add("wl")ss.SelectOnScreenDim pl As AcadLWPolylineFor Each pl In ssFor i = 0 To 20x0 = i / 10 - 1p0(0) = (x0 + 1) * Lpp0 / 2: p1(0) = p0(0)p1(1) = 1000Set xx = ThisDrawing.ModelSpace.AddXline(p0, p1) ptx = xx.IntersectWith(pl, acExtendNone)xx.DeleteIf UBound(ptx) <> 0 Then y0 = ptx(1) / B0If x0 > 0 Thendx = dCpf / (1 - Cpf0) * (1 - x)Elsedx = -dCpa / (1 - Cpa0) * (1 + x)End Ifx1 = x0 + dx: y1 = y0 * Bpta(i * 2) = (x1 + 1) * Lpp / 2pta(i * 2 + 1) = y1ThisDrawing.ModelSpace.AddLightWeightPolyline (pta) Next iNexttoExit:If Err.Description<> "" Then MsgBox (Err.Description) End SubSub setMesh()Dim ssAsAcadSelectionSetOn Error GoTotoExitSet ss = ThisDrawing.SelectionSets.Add("sp")ss.SelectOnScreenDim spAsAcadSplineDim p0(0 To 2) As DoubleDim p1(0 To 2) As Doublem = ss.Countn = 10ReDimpmn(0 To m * n * 3 - 1) As Doublei = 0For Each spInssx0 = sp.ControlPoints(0): x1 = sp.ControlPoints(3 * sp.NumberOfControlPoints - 3)dis = (x1 - x0) / (n - 1)For j = 0 To n - 1p0(0) = x0 + dis * j: p0(1) = 0p1(0) = p0(0): p1(1) = 1000Set xxx = ThisDrawing.ModelSpace.AddXline(p0, p1)ptx = xxx.IntersectWith(sp, acExtendNone)pmn(i * n * 3 + j * 3) = ptx(0): pmn(i * n * 3 + j * 3 + 1) = ptx(1): pmn(i * n * 3 + j * 3 + 2) = sp.LinetypeScalexxx.DeleteNext ji = i + 1NextSet mesh = ThisDrawing.ModelSpace.Add3DMesh(m, n, pmn)mesh.color = acBluetoExit:If Err.Description<> "" Then MsgBox (Err.Description)End Sub。
vb考试题库及答案大一
vb考试题库及答案大一一、选择题(每题2分,共20分)1. 在VB中,以下哪个是正确的变量声明语句?A. Dim a$B. Dim a IntegerC. Dim a As StringD. Dim a As Integer答案:C2. VB中,以下哪个是正确的字符串连接操作符?A. +B. ||C. &D. *答案:C3. 在VB中,以下哪个函数用于将字符串转换为数值?A. Val()B. Str()C. CInt()D. CDbl()答案:A4. 在VB中,以下哪个是正确的条件语句?A. If x > 0 Then Print "Positive"B. If x > 0 Print "Positive"C. If x > 0 Then Print "Positive" Else Print "Negative"D. If x > 0 Then "Positive"答案:C5. 在VB中,以下哪个是正确的循环结构?A. For i = 1 To 10B. For i = 1 To 10 Step -1C. For i = 10 To 1D. All of the above答案:D6. 在VB中,以下哪个是正确的数组声明语句?A. Dim arr(10)B. Dim arr(10) As IntegerC. Dim arr() As IntegerD. Dim arr As Integer(10)答案:B7. 在VB中,以下哪个是正确的函数声明语句?A. Function myFunction() As IntegerB. Function myFunction As IntegerC. Function myFunction() IntegerD. Function myFunction Integer答案:A8. 在VB中,以下哪个是正确的事件处理程序声明?A. Private Sub Form_Click()B. Private Sub Form_Click(ByVal sender As Object, ByVal e As EventArgs)C. Private Sub Form_Click(ByVal sender As Object)D. Private Sub Form_Click(ByVal e As EventArgs)答案:A9. 在VB中,以下哪个是正确的窗体属性?A. CaptionB. TextC. NameD. All of the above答案:D10. 在VB中,以下哪个是正确的控件事件?A. ClickB. DoubleClickC. MouseDownD. All of the above答案:D二、填空题(每题2分,共20分)1. 在VB中,使用___________关键字可以声明一个全局变量。
VB数学型大作业题目
VB数学型大作业题目下面题目中任选两个完成。
1.歌星大奖赛在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。
选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。
请编写一个程序实现。
算法提示:这个问题的算法十分简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。
2.求最大数问555555的约数中最大的三位数是多少?算法提示:根据约数的定义,对于一个整数N,除去1和它自身外,凡能整除N的数即为N的约数。
因此,最简单的方法是用2到N-1之间的所有数去除N,即可求出N的全部约数。
本题只要求取约数中最大的三位数,则其取值范围可限制在100到999之间。
3.高次方数的尾数求13的13次方的最后三位数算法提示:解本题最直接的方法是:将13累乘13次方截取最后三位即可。
但是由于计算机所能表示的整数范围有限,用这种“正确”的算法不可能得到正确的结果。
事实上,题目仅要求最后三位的值,完全没有必要求13的13次方的完整结果。
研究乘法的规律发现:乘积的最后三位的值只与乘数和被乘数的后三位有关,与乘数和被乘数的高位无关。
利用这一规律,可以大大简化程序。
4.杨辉三角形在屏幕上显示杨辉三角形11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1......................................算法提示:杨辉三角形中的数,正是(x+y)的N次方幂展开式各项的系数。
本题作为程序设计中具有代表性的题目,求解的方法很多,这里仅给出一种。
从杨辉三角形的特点出发,可以总结出:1)第N行有N+1个值(设起始行为第0行)2)对于第N行的第J个值:(N>=2)当J=1或J=N+1时:其值为1J!=1且J!=N+1时:其值为第N-1行的第J-1个值与第N-1行第J个值之和本程序应是根据以上递归的数学表达式编制的。
5.该存多少钱假设银行一年整存零取的月息为0.63%。
酒店管理系统软件(VB)大作业
酒店管理系统软件(VB)大作业声明:本作品完全由个人创作,对于应付老师留得软件大作业很有帮助(西工大),本作品仅供个人交流学习,不建议作为商业用途,否则后果自负. 由于vb软件还有很多参数的设定,在此不变于抓图。
因此如果读者完全按照本文档所示结果可能出错,请设置data控件的数据库连接(本作品用access数据库,需要时读者自行建立)以上两个图是程序运行后的部分截图数据库截图(图上的各个名字必须与之对应)Form1截图Form1的代码:Pub lic yonghu As String, mima As String Public jibie As Integer ’用户的身份级别Dim r0 As Single ’x0,y0为圆心坐标Dim r1 As Single, r2 As Single, r3 As Single ’r0圆半径,r1时钟刻度外圈半径Dim r4 As Single ’r2时钟长刻度内圈半径,r3时钟短刻度内半径Dim r5 As Single, r6 As Single, r7 As Single ’r4时钟标注文字半径,r5时钟时针半径,r6时钟分针半径Dim x0 As Single, y0 As Single 'r7时钟秒针半径Private Sub bangzhu_Click()Form9.ShowEnd SubPrivate Sub bumen_Click()Form6.ShowEnd SubPrivate Sub fangcha_Click() Form2。
ShowEnd SubPrivate Sub Form_Load() Label1。
Top = 1000 '初始化两个标签的位置Label2.Top = 1000dingwei '将时针,秒针和分针定位到圆心位置jibie = -1yonghu = ""mima = ””End SubPrivate Sub guanli_Click() Form14.ShowEnd SubPrivate Sub Timer1_Timer()’利用定时时钟采用文字的移动 Label1.Top = Label1。
vb实验作业参考答案
vb实验作业参考答案VB实验作业参考答案引言:Visual Basic(VB)是一种基于事件驱动的编程语言,广泛应用于Windows操作系统的软件开发。
在学习VB编程过程中,实验作业是非常重要的一部分,通过实践来巩固所学知识。
本文将提供一些VB实验作业的参考答案,帮助读者更好地理解和掌握VB编程。
一、VB基础知识实验作业参考答案1. 实验题目:编写一个VB程序,实现两个整数的加法运算,并将结果显示在文本框中。
参考答案:```Private Sub btnAdd_Click()Dim num1 As IntegerDim num2 As IntegerDim result As Integernum1 = CInt(txtNum1.Text)num2 = CInt(txtNum2.Text)result = num1 + num2txtResult.Text = CStr(result)End Sub```2. 实验题目:编写一个VB程序,实现输入一个数字,判断该数字是奇数还是偶数,并在消息框中显示结果。
参考答案:```Private Sub btnCheck_Click()Dim num As Integernum = CInt(txtNum.Text)If num Mod 2 = 0 ThenMsgBox "该数字是偶数"ElseMsgBox "该数字是奇数"End IfEnd Sub```二、VB控件应用实验作业参考答案1. 实验题目:编写一个VB程序,实现一个简单的计算器功能,包括加法、减法、乘法和除法操作。
参考答案:```Private Sub btnAdd_Click()Dim num1 As DoubleDim num2 As DoubleDim result As Doublenum1 = CDbl(txtNum1.Text) num2 = CDbl(txtNum2.Text)result = num1 + num2txtResult.Text = CStr(result) End SubPrivate Sub btnSubtract_Click() Dim num1 As DoubleDim num2 As DoubleDim result As Doublenum1 = CDbl(txtNum1.Text) num2 = CDbl(txtNum2.Text)result = num1 - num2txtResult.Text = CStr(result) End SubPrivate Sub btnMultiply_Click() Dim num1 As DoubleDim num2 As DoubleDim result As Doublenum1 = CDbl(txtNum1.Text) num2 = CDbl(txtNum2.Text)result = num1 * num2txtResult.Text = CStr(result) End SubPrivate Sub btnDivide_Click() Dim num1 As DoubleDim num2 As DoubleDim result As Doublenum1 = CDbl(txtNum1.Text)num2 = CDbl(txtNum2.Text)If num2 = 0 ThenMsgBox "除数不能为0"Elseresult = num1 / num2txtResult.Text = CStr(result)End IfEnd Sub```2. 实验题目:编写一个VB程序,实现一个简单的登录界面,包括用户名和密码输入框以及登录按钮。
vb大作业(难)
1、简易计算器模仿windows自带的计算器的外观和功能,做一个简易的计算器。
要求:(1)用户通过键盘或者点选按钮进行输入计算。
(2)用户可以在下拉菜单中选择“标准型”和“科学型”两种模式。
(3)“标准型”计算器进行加、减、乘、除等基本运算。
(4)“科学型”计算器进行正反三角函数运算、对数运算、阶乘运算、幂运算。
还可以进行不同进制数的转换,如2进制、8进制、10进制、16进制。
2、简易通讯录运用编写一个通讯录软件来存储联系人的通讯信息。
要求:(1)本软件应有一个用于显示所有联系人的列表。
(2)用户能够对记录进行增加、删除、查看、修改。
(3)当用户选择增加按钮时,能够弹出一个form用于用户输入新信息。
选择删除按钮时将联系人信息从列表中删除。
点选查看按钮时,能够弹出一个form,显示联系人的详细信息。
点选修改按钮时,能够弹出一个form用户用户修改联系人信息。
查看信息窗口可以仿照下图(4)将联系人的信息保存到一个文件便于存取。
有余力的同学可以考虑使用数据库来存储信息(有额外的奖励偶!)。
3、记事本模仿windows自带的记事本的外观和功能,做一个简易记事本。
要求:(1)用户能够在该记事本中输入和修改文字。
(2)使用的菜单控件。
具体如下:“文件”子菜单主要有“保存”、“另存为”、“新建”,“打开”四个功能。
“编辑”子菜单主要有“全选”、“复制”、“剪切”、“粘贴”四个功能“格式”子菜单主要有“修改字体”的功能。
4、定时关机程序要求:(1)用户设定自动关机的时间,时间到时关闭计算机(2)快到设定时间时,应有提示框弹出以提醒用户注意。
最好能有声音提醒,比如提示:“离关机时间还有XX分,请保存好文档。
”(3)关机时询问用户是否关机,如果是,则关闭计算机。
(4)程序最小化到系统托盘运行,不在任务栏中出现。
系统托盘如图所示:(如QQ一样最小化到托盘)(5)右击本程序的系统在托盘中的系统图标,弹出菜单进行关机时间等参数的设置。
第五次VB大作业心得体会(范文大全)
第五次VB大作业心得体会(范文大全)第一篇:第五次VB大作业心得体会第五次VB大作业心得体会第五次VB小组作业,跨越了VB计算机绘图的期末考试,终于在五个人的一致努力下,画上了圆满的记号。
至此,本学期VB计算机绘图的学习,也告一段落。
本次作业的内容,是对AutoCAD的二次开发。
身为一名学机械的大学生,未来机械方面的工作者,AutoCAD是我们必不可少的工具。
尽管AutoCAD软件本身已具有十分强大的功能,但是,掌握对软件的二次开发,无疑可以使软件更加贴近我们。
在不断的完善中,真正的让软件为我所用,方便快捷的适应自己的要求。
相比于前面几次的作业,本次作业的最大特点是AutoCAD二次开发方面在教材中并未提及。
因此,如果想要很好的完成本次作业,需要我们自己通过利用图书馆、网络等资源进行信息的采集、筛选、整合以及应用,最终达到一个完善的结果。
随着本次作业的结束,VB计算机绘图的课程也结束了。
然而,学习的过程是一个不断完善、发展自己知识结构和充实知识内容的过程。
这就决定了学习是没有尽头的。
而在学习的过程中不断积累的经验、总结的方法更是远比知识本身更加宝贵的。
我们在这样的作业中,感受到团队意识的重要,实际上只是有这样的意识是不够的,它更是一种能力。
交流、沟通以及判断的能力。
在日后的学习中,这样的能力必将使我们对知识的掌握和理解更加深刻。
甚至让我们对人与人的关系有着不同的理解。
此外,信息的搜集、筛选、整合、应用这些能力也必将是我们今后的工作和学习中所接触和应用频繁的能力。
很庆幸这些我们在VB小组作业的过程中都得到了锻炼。
在这里,对为VB作业做出努力的小组成员以及为我们提供知识和锻炼能力机会的老师说一声感谢。
希望在今后的学习工作中,会以这学期的努力为种子,收获更多更好的果实。
第二篇:第五次党课小结党课心得体会党课作业坚持在前进路上自上次积极分子党校结业已经近一年了,感受是很不一样的,其中有值得坚持的,也还有值得反省改正的,经验与教训都是那么深刻。
vb大作业(简单)
1、编写一个计算矩形面积的通用过程,然后调用该过程计算矩形的面积。
分析:本题需要设计一个求矩形面积的Sub通用过程。
设计步骤如下:①建立应用程序用户界面和添加控件,并设置各对象的属性。
设置下图所示。
②编写事件代码。
2、一个有9个元素的一维数组,随机产生9个两位数赋值给该数组,从中找出最大值、最小值和平均值。
分析:首先声明一个有9个元素的一维数组,利用随机函数随机产生9个两位数赋值给该数组。
然后,对每个数组元素值进行比较,从中找出最大值、最小值和平均值。
设计步骤如下:①建立应用程序用户界面和添加控件,并设置各对象的属性。
在窗体上添加1个框架,7个标签和3个按钮控件。
设置如图所示。
②编写事件代码。
求最大、最小、平均值3、将一个数组按照元素值从大到小重新排序。
分析:数组元素排序有多种方法,比如选择排序法。
首先找出最大数,将它放在第一个数的位置。
在余下的n-1个数中再找出最大数,放在第二个数的位置。
依次类推,最终将数组元素按照从大到小排序。
设计步骤如下:①建立应用程序用户界面和添加控件,并设置各对象的属性。
设置如图所示。
②编写事件代码。
4π分析:首先找出公式中无穷乘积各项的规律。
设第n 项的分母为P n ,则第n+1项的分母为P n+1n 项乘积为S n ,则前n 项乘积为S n+1=2 S n / P n+1。
根据以上分析,画出流程图所示。
设计步骤如下:①建立应用程序用户界面和添加控件,并设置各对象属性。
如图所示。
②当程序运行时,输入小数位数,单击“计算”,在下方的文本框中显示计算结果。
5、利用Do…Loop循环语句求从1到100的累加和。
分析:采用累加的方法,用变量numberSum来存储从1到100的累加和。
用变量n来存放“加数”(加到numberSum中的数),从1开始到100为止。
根据以上分析,画出流程图所示。
设计步骤如下:①建立应用程序用户界面和添加控件,并设置各对象属性。
②编写“计算”命令按钮的Click事件代码:③运行程序,当单击“计算”按钮,结果如图5-6所示运行程序,当单击“计算”按钮,结果如图所示。
VB大作业
——倒计时器
组员:姚钦泉 马晓阳 卢琨 机自1207班
VB 是一种常用的编程开发工具 。它的基础是编程语言 Basic ,Visual Basic 简单点来说就是微软为了更好的 让人们学习编程,应用上 Basic 开发语言的一套工具。 VB 把过往的纯代码编程过度到可视化编程,将一些经常 要使用到的功能以一个个的控件的形式出现,例如 Label (标签)、TextBox(文本框)等等,免去了机械的重复 的代码的输入,又可以一面编辑核心功能一面进行界面优 化美化,一劳多得。VB的程序是一种基于窗体的可视化组 件安排的联合,并且增加代码来指定组建的属性和方法。 因为默认用写多少代码就可以完成一个简单的程序。
本软件主要利用标签,按钮,计时器,图相框,文本框等 控件来制作。在程序的运行时,首先在文本框中输入要进 行倒计时的时间再单击开始,否则提示重新输入,利用一 个重置按钮可将程序整个运行过程重新开始,共多次重复 使用。同时,在进行到最后30秒时软件会发生一声警报声, 最后10秒,警报声每秒一次直至结束,用来提示时间
程序功能简介:
本程序实现了以下基本功能
1.系统启动显示“欢迎使用倒计时器” 2.使用inputbox 函数实现倒计时器时间的设定(以分为单 位)。 3.使用timer 控件实现倒计时功能。 4.可以在倒计时同时实现暂停与继续
谢谢!
VB作业答案
VB作业答案第⼀周1.3同步练习题⼀.选择题1.以下不能在“⼯程资源管理器”窗⼝中列出的⽂件类型是D..ocx2.以下叙述中错误的是C.程序运⾏后,在内存中只能驻留⼀个窗体3.Visual Basic 6.0包括三种版本,其中不包括C.学习版4.Visual Basic程序设计语⾔属于C.⾯向对象的语⾔5.假定⼀个Visual Basic 应⽤程序由⼀个窗体模块和⼀个标准模块构成。
为了保存该应⽤程序,以下操作正确的是 B.分别保存窗体模块、标准模块和⼯程⽂件6.通过下⾯B.窗体布局窗⼝可以在设计时直观地调整窗体在屏幕上的位置。
7.以下叙述中错误的是C. Visual Basic 应⽤程序中可以有多个活动窗体8.对象所能做的动作称为对象的A.⽅法9.下列关于事件的叙述中不正确的是D. Visual Basic 中所有对象的默认事件都是Click10.⼀只漂亮的酒杯被摔碎了,则漂亮、酒杯、摔、碎了是D.属性、对象、事件、⽅法11.⽤⼀个程序段对某⼀对象被单击(或双击)做出响应,从⽽实现指定的操作,称为B.事件驱动编程机制12.以解释⽅式执⾏程序的过程是边逐条解释边执⾏,不⽣成A.⽬标程序13.以下有关对象属性的说法中正确的是D.对象的某些属性既可在属性窗⼝中设置,也可通过程序代码设置或改变14.下列叙述正确的是C.不同的对象能识别不同的事件15.在Visual Basic中最基本的对象是B.窗体,它是应⽤程序的基⽯,是其他控件的容器。
16.以下叙述中错误的是D.对象事件的名称可以由编程者指定。
17.下列叙述正确的是D.事件是对象能够识别的动作。
18.在Visual Basic⼯程中,可以作为“启动对象”的程序是D. Sub Main过程或任何窗体。
19.在设计阶段,当双击窗体上的某个控件时,所打开的窗⼝是C.代码窗⼝。
20.在Visual Basic应⽤程序中,在程序中流动的不是⼀般的数据⽽是A.事件。
vb大作业(中)
1、抽奖程序利用组合框,设计一个抽奖程序。
分析:首先通过下拉组合框输入若干参加抽奖的身份证号码。
每输完一个号码,按回车键把该号码加入组合框。
同时统计组合框项目的数目,在文本框中显示。
然后单击开始抽奖按钮,加入组合框中的号码将在一个标签中不停显示,显示的顺序是随机的。
当再一次单击按钮,随机抽出其中的一个号码。
设计步骤如下:①建立应用程序用户界面和添加控件,并设置各对象属性。
如图所示。
②编写事件代码。
2、利用循环结构和列表控件框,设计的“选项移动”窗体分析:所谓“选项移动”窗体是指由两个列表框和4个命令按钮所构成的界面。
①当单击“>”按钮时,将左边列表框中选中的列表项加入右边的列表框中。
也就是把ListBox1中选中的列表项,用Add方法加入到ListBox2中,同时用RemoveAt方法将ListBox1中选中的列表项清除。
允许同时选中ListBox1的多个列表项。
②当单击“>>”按钮时,将ListBox1中所有的列表项都加入ListBox2中。
并将ListBox1中所有的列表项用Clear方法清除。
③当单击“<”按钮时,将右边列表框中选中的列表项加入左边的列表框中。
只允许一次选中ListBox1的一个列表项。
④当单击“<<”按钮时,将ListBox2中所有的列表项都加入ListBox1中。
并将ListBox2中所有的列表项清除。
方法同“>>”按钮。
如图所示。
3、设计一个指针式时钟程序如下图所示。
分析:指针式时钟程序可以用画图动画来实现。
使用定时器控件Timer定时取得系统时间,然后使用Graphics类提供的Graphics.DrawLine(ByVal pen As Pen, ByVal x1 As Integer, ByVal y1 As Integer, ByVal x2 As Integer, ByVal y2 As Integer)方法在面版上画出指针即可。
VB大作业(计算器)
一、课题的选材过程鉴于VB强大的设计功能,而自己所学的知识有限,思路不够宽广。
所以参考老师给的题目决定编一个简单实用的电子计算器。
设计思路:1.界面设计计算器主体是一个计算器,需要一个标签Lable(属性CAPTION)作为显示,然后需要0 1 2 3 4 5 6 7 8 9 . + - * / CE C Sqrt 1/X = 共计20个COMMAND控件。
2.程序基本思路数字键的事件过程主要是靠调用number(num)过程来实现,一个控件数组和“0”键组成。
加、减、乘、除运算键的事件过程主要是靠调用Calculation()过程来实现。
开方等特殊运算键的事件过程主要是靠调用VB工具内相应VBA函数来实现,例如sqr()函数。
接受键盘输入的运算操作是打开了建立了一个Form_KeyPress(KeyAscii)通用过程,根据KeyAscii的值响应相应事件。
在代码中针对每个过程都有简单注释;在代码的开头例如“'''operand ----------------------------操作数'''Calculation -------------------------计算”,这些都是帮助说明变量用途而写。
二、设计将要达到的目标用一个窗体模块,完成模仿市面简单计算器的功能。
例如加减乘除,开方,求倒数,支持键盘输入,可以清零,重置。
并可连贯运算这些功能。
三、总体设计结构1.总体设计结构介绍,设计结构图2.主要功能模块运行界面的介绍运行结果:四、设计结果生成可执行程序运行结果:五、设计总结经过这学期VB的学习,使我对VB有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,虽然学校开的VB是选修课,但它的实用性和通用性很强大,不比学过的C语言差,因为是面向对象,所以很直观,学习中也可以发现很多乐趣,也激起了学习VB的兴趣;因为是初学,对VB的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对VB中经常出现的错误也不了解,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过实践的学习,我认识到学习编程要重视实践操作,不仅仅是学习VB,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。
vb期末大作业[1]
Vb大作业程序设计目的:将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性练习,以达到对所学知识熟练掌握、灵活应用的目的。
1.对于自己所设想的vb程序进行分析、理解,以做到思路清晰。
2.掌握自顶而下的设计方法,将大问题进行模块化分解,领会结构化程序设计的方法,同时深刻认识到面向对象程序设计与面向过程程序设计的根本区别。
3.熟练掌握VB常用控件的使用,灵活运用各种数据类型。
4.学会运用函数进行程序设计。
5.进一步掌握在集成环境下调试程序和修改程序的方法和技巧。
程序设计思路:了解六十个学生的成绩情况:程序界面包括,一个Form显示六十个学生的成绩情况,包括六十个学生的最高分、最低分、平均分、及格人数和优秀人数,五个Label显示各个项目情况的标题,对应五个text作为学生成绩情况显示框,两个command按钮分别用于开始输入六十个学生的成绩和退出程序。
1.在窗体中添加五个label,五个textbox和两个command按钮。
2.编辑各个控件属性。
3.编辑程序代码,运用循环结构输入学生成绩,并使用数组使程序设计和运行简单化。
4.试运行vb程序,对错误代码进行调试和完善,使程序可运行并符合逻辑思路。
代码注释:Private Sub Command1_Click()Dim val(1 To 60) As IntegerDim pass%, good%, i%, j%, temp%, sum%'输入60个学生的成绩For i = 1 To 60val(i) = InputBox("输入第" & i & "个学生的成绩:")'计算总成绩sum = sum + val(i)'计算及格(大于60分)人数和优秀(大于90分)人数If val(i) > 59 Then pass = pass + 1If val(i) > 89 Then good = good + 1Next i'对60个学生成绩按从小到大排序For i = 1 To 60For j = i + 1 To 60If val(i) > val(j) Thentemp = val(i): val(i) = val(j): val(j) = tempEnd IfNext jNext iText1 = val(1) '最低分Text2 = val(60) '最高分Text3 = sum / 60 '平均分Text4 = pass '及格人数Text5 = good '优秀人数End SubPrivate Sub Command2_Click()EndEnd Sub'结束程序运行功能:1.操作项目包括:输入数组,求数组最大值,最小值,平均值,及格人数和优秀人数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
VB 程序设计教案
语句N End if 4 select case语句 5 提供简单选择的控件(单选钮optionbutton , 复选框checkbox)程序举例 例一:某航空公司规定在旅游旺季7-9月份,如果订票超过20张,票价优惠15%,20张以下,优惠5%; 在旅游淡季1-5月份,10月份,11月份,如果定票超过20张,票价优惠30%,20张以下,优惠20%;其他 情况一律优惠10%.
private sub command1_click() dim m as integer, n as intger, r as integer m=val(text1.text) n=val(text2.text) select case m case is<=5,10,11 if n<20 then r=20 else r=30 case 7 to 9 if n<20 then r=5 else r=15 case else r=10 end select label4.caption="所订票的优惠率为:" & str(r) & "%" end sub private sub form_Load() text1.text=month(date) end sub private sub text1_gotfocus() text1.selstart=0 text1.selength=len(text1.text)
(2) if (条件) then 语句序列1 else 语句序列2 (3) iif(条件,语句序列1,语句序列2) 2 块结构条件语句 if (条件) then
语句序列1 else 语句序列2 end if 3 if的嵌套结构 If (条件1) then
语句1 Elseif (条件2) then
语句2 Elseif (条件3) then
(3)设计个人资料输入窗口,信息要多样化。(使用选项按钮)
(4)编写程序,用文本框检查用户口令,利用文本框的PASSWORDCHAR属性
(件为列表框和组合框)
VB常用系统函数:
Sin() cos() sqr() log()
exp()=ex
Ltrim() :删除串中左端空格
(2)for i=2 to 10 step 2 循环体语句
VB 程序设计教案
private sub command1_click() if text1.text="" then a=inputbox("您忘记输入姓名!","注意","请在此输入姓名") if a="" or a="请在此输入姓名" then exit sub text1.text=a endif p1=text1.text+"," p2=iif(option1,"男","女")+”,” p3=iif(option3,"汉族","少数民族") p4=",喜欢:" if check1.value=1 then p4=p4+check1.caption+"、" if check2.value=1 then p4=p4+check2.caption+"、" if check3.value=1 then p4=p4+check3.caption+"、" if check4.value=1 then p4=p4+check4.caption+"、" aa=p1+p2+p3+iif(p4=",喜欢:",",无爱好。",p4) label4.caption=left(aa,len(aa)-1)+"。" text1.setfocus
private sub command1_click() dim as as single, y as single dim x1 as single,x2 as single dim x3 as single, x5 as single a=val(text1.text) x1=0.0225: x2=0.0243 : x3= 0.027 : x5=0.0288 select case true case option1.value y=(1+5*x5)*a case option2.value y=(1+3*x3)*(1+2*x2)*a case option3.value y=(1+3*x3)*(1+2*x2)^2*a case option4.value y=(1+2*x2)^2*(1+x1)*a case option5.value y=(1+2*x2)*(1+x1)^3*a case option6.value y=(1+x1)*^5*a
rtrim():删除串中右端空格
trim(): 删除串中前后端空格
randomize()语句:产生随机数的种子
rnd函数:产生0-1之间的随机数
rnd函数产生0-1之间的随机数,为了生成某个范围内的随机值,可以使用公式:int((最大值-
最小值+1)*rnd+最小值)
1循环的基本结构
(1)do while 条件 循环体语句 loop
6
end sub private sub text1_change() label4.caption="" end sub
VB 程序设计教案
上机作业: (1)输入X的值,求Y的值。
3x4-5x
x<-5
Y= 7x2 4x 5 +log(x2)
x>5
1-2sin(x)
-5<=x<=5
组输入选项)
(2)使用图形选项按钮组控制流动字幕中的字体
& ",球的表面积是:" & foramt(f,"####.##") & "." ,1+64+0,"计算圆的半径,球的体积和表面
积.")
作业(一):
(1) 利用输入框输入摄氏温度,求华氏温度.
(2)"鸡兔同笼"问题,鸡有2只脚,兔有4只脚,已知鸡和兔的总头数h,总脚数f,问笼中鸡,兔各有多
少只?(integer)
5
end select text2.text=y text1.setfocus end sub private sub text1_gotfocus() text1.selstart=0 text1.sellength=len(text1.text) end sub 2使用图形选项按钮组控制流动字幕中的字体. privat sub option1_click() text1.fontname="宋体" end sub >>>>>> 3设计一个个人资料输入窗口,使用选项按钮组输入一个或多个选项.
4
VB 程序设计教案
if label1.left+label1.width>0 then label1.move label1.left-20 else label1.left=form1.scalewidth end if end sub 例三 提供简单选择的控件(单选钮optionbutton , 复选框checkbox)程序举例 1设银行定期存款年利率为:1年期,2年期,3年期,5年期.今有本金A元,5年后使用,共有6中存法: (1)存1次5年期 (2)存1次3年期,存1次2年期 (3)存1次3年期,存2次1年期 (4)存2次2年期,存1次1年期 (5)存1次2年期,存3次1年期 (6)存5次1年期
3
VB 程序设计教案
end sub private sub text1_keypress(keyascii as integer) if keyascii=13 then if text1.text>0 and text1.text<13 then text2.setfocus end if end if end sub private sub text2_gotfocus() text2.selstart=0 text2.sellength=len(text2.text) end sub privat sub text2_keypress(keyascii as integer) if keyascii=13 then if text2.text>0 then command1.setfocus end if end sub 例二 使用计时器控件设计一个流动字幕板,标题"欲穷千里目,更上一层楼!"在窗体中自右至左 的反复移动. 计时器控件可以在应用中以重复的时间间隔产生一个事件.
Caption :&S 暂停 含义为:使得S字母下方显示下划线,并且成为一个热键:当从键盘上键入 《ALT》+S时候,相当于用鼠标单击该命令按钮。 time1: interval:100 enabled: false private sub command1_click() if command1.caption="&S 暂停" then command1.caption="&C 继续" timer1.enabled=false else command1.caption="&S 暂停" timer1.enabled=true end if end sub private sub time1_timer()