VB大作业
- 格式:rtf
- 大小:19.24 MB
- 文档页数:16
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 )不正确。
《面向对象程序设计》大作业题目:记事本的设计及实现姓名:学号:专业:学院:指导教师: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课程大作业要求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;}。
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. 编写二进制整数转换十进制整数的函数,编写十进制实数(考虑整数部分和小数部分)转换二进制实数的函数。
作业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 。
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考试题库及答案大一一、选择题(每题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数学型大作业题目下面题目中任选两个完成。
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软件还有很多参数的设定,在此不变于抓图。
因此如果读者完全按照本文档所示结果可能出错,请设置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实验作业参考答案引言: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程序,实现一个简单的登录界面,包括用户名和密码输入框以及登录按钮。