《VB程序设计》课后题答案
- 格式:doc
- 大小:88.50 KB
- 文档页数:12
《VB程序设计教程》(第4版)习题解答单元一巩固与提高答案一、选择题1. Visual Basic 6.0分为3种版本,不属于这3种版本的是A)学习版B)专业版C)企业版D)业余版【答】D。
2. 下列方法中不能退出Visual Basic的是A)按Alt+Q组合键B)按下Alt+F组合键,然后按Esc键C)按F10键,然后按F键,再按X键D)打开“文件”菜单→“退出”命令【答】B。
3. Visual Basic集成的主窗口中不包括A)属性窗口B)标题栏C)菜单栏D)工具栏【答】A。
4. 下列操作可以打开立即窗口的是A)Ctrl+D B)Ctrl+F C)Ctrl+G D)Ctrl+E【答】C。
二、填空题1. 与传统的程序设计语言相比,Visual Basic最突出的特点是____。
【答】事件驱动编程机制。
2. 如果不使用鼠标,用键盘打开菜单和执行菜单命令,第一步应按____键。
【答】功能键F10或Alt键。
3. 建立一个新的标准模块,应该选择____菜单下的“添加模块”命令。
【答】“工程”菜单。
三、思考题1. 简述Visual Basic的特点。
【答】与一般的程序设计语言相比,VB具有以下特点:(1) 可视化的设计平台;(2) 面向对象的设计方法;(3) 事件驱动的编程机制;(4) 结构化的设计语言;(5) 充分利用Windows资源;(6) 开放的数据库功能与网络支持。
2. 简述Visual Basic集成开发环境的组成。
【答】VB 6.0集成开发环境除了具有标准Windows环境的标题栏、菜单栏、工具栏外,还有工具箱、属性窗口、工程管理器窗口、窗体设计器、立即窗口、窗体布局窗口等有用的开发工具。
(1) 标题栏和菜单栏:标题栏中显示的有窗体控制菜单图标、当前激活的工程名称、当前工作模式以及最小化、最大化∕还原、关闭按钮。
菜单栏中显示了“文件”、“编辑”、“视图”、“工程”、“格式”等菜单项,其中包含了VB编程的常用命令。
第2章 Visual Basic语言基础知识2.1 Visual Basic定义了几种数据类型,变量有哪几种数据类型,常量有哪几种数据类型。
【答】Visual Basic基本数据类型:1. 字符串型(String):字符串分为变长字符串和定长字符串两种。
2. 数值型:数值型数据分为整型数和浮点数两类。
3. 货币型(Currency)4. 变体型(Variant)5. 字节型(Byte)6. 布尔型(Boolean)7. 日期型(Date)8. 对象型(Object)Visual Basic中包含两种常量,即文字常量和符号常量。
变量的基本数据类型:Byte(字节型),Boolean(布尔型),Integer(整型),Long (长整型),Single(单精度型),Double(双精度型),Currency(货币型),Date(日期型),Object(对象型),String(变长字符串),String(定长字符串),Variant(变体型、数字),Variant(变体型、字符)2.2 符号常量和变量有什么不同点?【答】符号常量一经定义,就不能在程序中的其他位置改变其值。
变量的值在程序中可以改变。
2.3 指出下列正确的变量名:g(1-k) 6adhs *sss kL2.1 Printx+1 ahi π .ex3 j5h【答案】正确的变量名:ahi,j5h2.4 指出下列正确的数字形式-1.25 ±0.123 89E D2585 10^(2.7) 3^5【答案】2.5 下列表达式若有错误,请改正(1) ts+cos(300) (2) (x+y)^(25÷s)(3) [(X1+X2)*(X1-3)-6]*7 (4) (X÷-2)+sin(1.2+π)【答案】(1) ts+cos(30*3.141593/180)(2) (x+y)^(25/s)(3) ((X1+X2)*(X1-3)-6)*7(4) (X/(-2))+sin(1.2+3.141593)2.6 写出下列数学式的Visual Basic表达式(1) sin(a)[cos(b)+1.5](2) (x1+4)5(e2-a)(3) 36[(x1+π)(x1÷3.3)-b](4) x-2π)【答案】Visual Basic表达式:(1) sin(a)*(cos(b)+1.5)(2) (x1+4)^5*(Exp(2)-a)(3) 36*((X1+3.141593)*(x1/3.3)-b)(4) x^(-2)+5.8*sin(3.5*3.141593)第3章顺序结构程序设计3.1 下列语句是否有错?若有,请改正。
1、B2、A3、B4、答:属性:红色、充满氢气;事件:松手、针刺;方法:飞走、爆破。
5、答:事件是指对象能够识别并作出反映的外部刺激。
事件驱动又称消息驱动,事件驱动程序设计是指每个事件对应有相应的程序代码,仅在该事件发生时,该段代码才会被执行。
事件发生的顺序决定了代码执行的顺序,因此每次执行应用程序时,程序代码并不是按照程序编写的顺序来执行的。
6、答:VB是一个包括界面设计、程序编码、调试、编译并创建可执行程序的集成开发环境。
VB的集成开发环境的主界面中包含:标题栏、菜单栏、工具栏、控件箱、工程资源管理器、属性窗口、“窗体布局”窗口、窗体设计器、代码编辑器等元素组成。
7、答: VB菜单条通常情况下有:文件、编辑、视图、工程、格式、调试、运行、查询、图表、工具、外接程序、窗口、帮助等13项菜单项组成。
8、答:工具栏可自行定义。
标准工具栏中通常情况下有:添加标准exe工程、添加窗体、菜单编辑器、打开工程、保存工程、剪切、复制、粘贴、查找、撤消、重复、启动、中断、结束、工程资源管理器、属性窗口、窗体布局窗口、对象浏览器、工具箱、数据视图窗口、可视化元件管理器等按钮组成。
9、答:创建VB应用程序的一般步骤为:创建界面;设置窗体和控件属性;编写代码;保存工程;运行并调试程序;检查并排除错误;创建可执行文件。
10、Private Sub Command1_Click()Label1.Caption = "I love vb,I hate vb"End Sub1、2、3、S1 输入待判断自然数: N(N>=2);S2 i=2;S3 判断i是否小于N-1,若不是转S5S4 判断N除以i的余数是否为0,如果不是则i=i+1转S3;S5 判断i是否等于N,若是输出“是素数”,否则输出“不是素数”。
4、S1 输入待判断自然数: N;S2 将N转换成字符S,计算S的长度K;S3 i=1;S4 判断i是否小于K-1,若不是转S6;S5 判断S中的第i位和第K-i+1位是否相等,如果是则i=i+1转S4,如果不是则转S6;S6 判断i是否是中间位数,若是输出“是回文数”,否则输出“不是回文数”。
第4章选择结构程序设计4.1 写出数学式|x|<2.5×10-2对应的Visual Basic表达式。
【答案】x<2.5e-2 and x>-2.5e-24.2 逻辑运算符And、Or和Not的优先级最高的是哪一个。
【答案】Not4.3 已知 W=10 X=9 Y=8 Z=7 ,求下列表达式的结果。
(1) W>X And Y<=Z OR X>Y(2) X>Z Or W=Y AND Y<X(3) Not (W>Y And X=Z)(4) Not (Y<>X Or W*3>Z)【答案】(1) True(2) True(3) True(4) False4.4 写出下列十进制整数逻辑运算的结果:(1) X = 23 And 14(2) X = 23 Or 14(3) X = -1 And 19(4) X = -1 Or 10(5) X = Not -1【答案】(1) 6(2) 31(3) 19(4) -1(5) 04.5 已知变量X和Y的值分别为5、6,编写程序,交换变量X和Y的值。
【参考答案】程序代码设计Private Sub Form_Click()x = 5: y = 6t = x: x = y: y = tForm1.Print "x="; x, "y="; yEnd SubPrivate Sub Form_Load()Form1.AutoRedraw = TrueForm1.Print "x = 5", "y = 6"Form1.Print "单击窗体交换x,y的值"图4-1 程序运行结果End Sub程序运行结果如图4-1所示:4.6 从键盘输入一个学生的三科成绩,计算总分,并找出最高分。
【参考答案】(1)用户界面设计(2)控件属性设置(略)(3)程序代码设计Private Sub Command1_Click()g1 = Val(Text1.Text)g2 = Val(Text2.Text)g3 = Val(Text3.Text)Var = (g1 + g2 + g3) / 3g = g1If g < g2 Then g = g2If g < g3 Then g = g3Text4.Text = VarText5.Text = gEnd Sub图4-2 程序运行结果程序运行结果如图4-2所示。
VB课后习题解答第一、二章:1、简述VB6.0的主要特点答:方便、直观的可视化设计工具;面向对象程序设计方法;事件驱动的编程机制;易学易用的应用程序集成开发环境;结构化程序设计语言;完备的联机帮助功能;强大的多媒体、数据库和网络功能。
2、当正常安装VB6.0后,误把Windows子目录删除。
当重新安装Windows后,是否需要再次安装VB6.0?答:要重新安装的。
因为安装VB6.0时,有些VB程序被系统自动安装在Windows目录下,所以一旦删除Windows子目录,就必须重新安装VB6.0。
3、Visual Basic 6.0分为学习版、专业版和企业版,如何知道所安装的是哪个版本?答:在VB6.0的启动界面上,能显示对应的版本。
4、叙述建立一个完整应用程序的过程答:首先建立用户界面的控件对象(简称控件);然后对控件属性进行设置;再对控件事件过程及编程;保存应用程序;程序调试和运行。
5、Visual Basic 6.0有多种类型窗口,若要在设计时看到代码窗口,应怎样操作?答:选择“视图”—>“代码窗口”命令或单击“工程资源管理器”窗口中的“查看代码”按钮。
6、当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
试问该工程涉及多少个要保存的文件?若要保存该工程的所有文件,应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息?答:涉及两个文件要保存。
先保存窗体文件(.frm),再保存工程文件(.vbp)。
若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求先保存窗体文件。
7、保存文件时,若不改变目录名,则系统默认的目录是什么?答:系统默认的目录是VB988、安装Visual Basic 6.0后,帮助系统是否也已安装?答:没有。
VB6.0的帮助系统在两张光盘上,即MSDN Library,其中还包含了VC、VFP等其他语言的帮助系统。
9、如何使用Visual Basic 6.0的帮助系统?答:最方便的方法是选定要帮助的内容,然后按F1功能键,这时系统打开MSDN Library查阅器,直接显示与选定内容有关的帮助信息。
<大学程序设计基础-Visual Basic>教材课后习题答案第1章一、选择题1 2 3 4 5 6 7B D BC B B D第2章一、选择题1 2 3 4 5 6 7 8 9 10B C B C B C A A A A11 12 13 14A B A A二、填空题1.rem或’ _ :2.“” # #3.5x2-3x-2sinA/34.3214565.300三、操作题1、程序段:Private Sub Command1_Click()Dim x As Integer, y As IntegerDim s As Long, c As Longx = Text1.Texty = Text2.Texts = x * yc = (x + y) * 2Label3.Caption = "长方形的面积为" + Str(s)Label4.Caption = "长方形的周长为" + Str(c)End Sub3、程序段:Private Sub Command1_Click()Text1.Text = "第一"End SubPrivate Sub Command2_Click()Text1.Text = "第二"End Sub4、程序代码:Private Sub Text1_Change()Text1.MaxLength = 10End Sub5、程序代码:Private Sub Text1_Click()Text1.SelStart = 0Text1.SelLength = Len(Text1.Text)End Sub第3章一、选择题1 2 3 4 5 6 7D A D B A D B二、填空题1. False2.B^2-4*a*c else三、操作题1.从键盘输入三个值,判断它们能否构成三角形的三个边。
如果能构成一个三角形,则计算三角形的面积。
"VB程序设计"综合复习资料第一章 Visual Basic程序设计概述一、填空题1、VisualBasic是一种面向__________的可视化程序设计语言,采取了__________的编程机制。
2、在VB中工程文件的扩展名是____________,窗体文件的扩展名是____________,标准模块文件的扩展名是____________。
3、执行“工程〞菜单下的__________命令,可选择并添加Active*控件。
4、Visual Basic 6.0用于开发__________环境下的应用程序。
二、选择题1、下面不是VB工作模式的是〔〕A.设计模式B.运行模式C.汇编模式D.中断模式2、可视化编程的最大优点是〔〕A.具有标准工具箱B.一个工程文件由假设干个窗体文件组成C.不需要编写大量代码来描述图形对象D.所见即所得3、以下不能翻开属性窗口的操作是〔〕A.执行“视图〞菜单中的“属性窗口〞命令B.按F4键C.按Ctrl+TD.单击工具栏上的“属性窗口〞按钮4、以下可以翻开立即窗口的操作是〔〕A.Ctrl+D B.Ctrl+E C.Ctrl+F D.Ctrl+G5、Visual Basic的编程机制是〔〕A.可视化 B.面向对象 C.面向图形 D.事件驱动三、简答题1、代码窗口主要包括哪几局部?2、在工程资源管理器窗口中,主要列出了哪三类文件?3、窗体布局窗口的主要用途是什么?4、VB的根本特点是什么?5、怎样理解可视化设计?6、怎要理解事件驱动编程?第二章简单的VB程序设计一、填空题1、设置是否可以用Tab键来选取命令按钮,应该用______________属性。
2、一个控件在窗体的位置由_______和________属性决定,其大小由__________和_________属性决定。
3、利用对象的属性setfocus可获得焦点,对于一个对象,只有其visible属性和____________属性为true,才能承受焦点。
VB程序设计教程课后参考答案习题一一、填空题1.对象、事件驱动2.窗体、控件3.属性4.属性窗口、编程设置5.事件过程6.对象名、下划线、事件名7.Form_click8.Print form1.print “我的VB”9.主窗口、属性、工具箱、代码、窗体、工程资源管理10.菜单、快捷键二、选择题1.C 2. A 3. B 4. B 5. D 6. B C 7. A 三、简答题(略)习题二一、选择题1. D2. C3. C4. B5. C6. B7. C8. B 9. A 10. B 11. B 12. C 13. D 14. B15. A 16. A 17. A 18. A 19. B 20. C 21. A22. B 23. B 24. A 25. C 26. A 27. B 28. B29. C 30. B 31. D 32. D 33. C二、填空题1.Controlbox、Maxbutton、Minbutton2.Multiline TRUE3.******4.单文档界面(SDI)多文档界面(MDI)5.窗体显示6.Passwordchar7._change()三、编程题(略)习题三一、基础知识题(略)二、填空题1.整型、长整型、单精度、双精度2.(x mod 10)*10+x\103.Sin(3.14*15/180)+sqr(x+exp(3))/abs(x-y)-log(3*x)4.(a+b)/(1/(c+5)-c*d/2)5.X mod 5=0 or x mod 9=06.False7.-4、3、-3、3、-4、48.CDEF9.GBCDEFA10.TRUE11.变量、属性12.‘_ :13.(略)14.“”#15.Public、通用/模块、Dim、static、private16.+ 、&、+17.Now() 、time()、日期18.Inputbox()、字符串、val()19.Msgbox()三、选择题1.B 2. C 3. A 4. B D此题有误 5. B 6. A7. D 8. B 9. B 10. C 11. D 12. B13. C 14. B 15. A 16. C 17.A 18. D19. A 20. D 21. A 22. C 23. C 24. D25. A 26. D 27. D 28. B 29. C 30. B31. C 32. B 33. C D此题有误34. C 35. A36. D 37. C 38. A 39. B 40. A 41. C42. C 43. D 44. C 45. D 46. A四、编程题1.Option ExplicitPrivate Sub Command1_Click()Dim a%, b%, c%, delta%Dim x1#, x2#, x#a = Val(InputBox("please input data to a:", "info", 1))b = Val(InputBox("please input data to b:", "info", 1))c = Val(InputBox("please input data to c:", "info", 1))If a = 0 And b <> 0 Thenx = -c / bPrint "所构成的方程是:" & b & "x" & "+" & c & "=0"Print "该一元一次方程的根是:", xEnd IfIf a = 0 And b = 0 ThenPrint "很抱歉,不能构成合法的方程!"End IfIf a <> 0 Thendelta = b * b - 4 * a * cIf delta >= 0 Thenx1 = (-b + Sqr(delta)) / (2 * a)x2 = (-b - Sqr(delta)) / (2 * a)Print "所构成的方程是:" & a & "x2" & "+" & b & "x" & "+" & c & "=0"Print "该方程的根是:"Print "第一个根是:", x1Print "第二个根是:", x2ElsePrint "所构成的方程是:" & a & " x2" & "+" & b & "x" & "+" & c & "=0"Print "该方程有两个虚根:"Print "第一个虚根是:" & -b / (2 * a) & "+" & Sqr(Abs(delta)) / (2 * a) & "i"Print "第二个虚根是:" & -b / (2 * a) & "-" & Sqr(Abs(delta)) / (2 * a) & "i" End IfEnd IfEnd Sub2.Option ExplicitPrivate Sub Command1_Click()Dim i%, s%s = 0For i = 1 To 99 Step 2s = s + iNextPrint sEnd Sub3.Option ExplicitPrivate Sub Command1_Click()Dim i%Dim s#s = 0For i = 1 To 100s = s + 1 / i * (-1) ^ (i + 1)NextPrint sEnd Sub4.Option ExplicitPrivate Sub Command1_Click()Dim i%, n%Dim t#, s#n = Val(InputBox("please input data:", "info", 5))s = 0t = 1For i = 1 To nt = t * is = s + tNextPrint sEnd Sub5.Option ExplicitPrivate Sub Command1_Click()Dim a%, b%, c%Dim p#, s#a = Val(InputBox("please input data to a:", "info", 3))b = Val(InputBox("please input data to b:", "info", 4))c = Val(InputBox("please input data to c:", "info", 5))。
A.1Private Sub Comma nd1_Click( Label3 = TextlEnd SubA.2Private Sub Form_Load(Timer1 .In terval = 0End SubPrivate Sub Comma nd1_Click(自动Timer1.I nterval = 200End SubPrivate Sub Comma nd2_Click(手动Timer1.I nterval = 0Call MyMoveEnd SubPrivate Sub Timer1_Timer(Call MyMoveEnd SubSub MyMove(Labell.Move Labell.Left - 50If Labell 丄eft < 0 Then Labell 丄eft = Forml.Width End Sub A. 3Private Sub Form_Click(Text1 = V al(Text1 + 1End SubPrivate Sub Form_Load(Textl = 0End SubA.4Private Sub Form_Click(Caption ="单击窗体,改变图片"Picture = LoadPicture(App.Path + "\n_015.bmp"Print"欢迎使用VB"End SubPrivate Sub Form_DblClick(ClsCaption ="双击窗体,卸去图片"Picture = LoadPicture("”End SubPrivate Sub Form_Load(Caption ="装入窗体"Picture = LoadPicture(App.Path + "\n_016.bmp"Print "装入图"End SubPrivate Sub Form_Resize(该事件的作用窗体始终与图一样大'Caption ="窗体大小不变"'Form1.Width = 260 * 16'260 是Tongji-2.bmp 图的宽度,象素单位'Forml.Height = 260 * 16 + 200'260是图的高度,象素单位,200是窗体的标题栏高度End SubA. 5Sub Comma nd1_Click(Textl.Fo ntName ="隶书”Textl.Fo ntSize = 25End SubSub Comma nd2_Click(Text2.Text = Textl.SelTextText2.Fo ntName = Textl.Fo ntNameText2.Fo ntSize = Textl.Fo ntSizeEnd SubB.1Private Sub Comma nd1_Click(Text2 = Format(5 / 9 * (V al(Text1 - 32, "0.00" End SubPrivate Sub Comma nd2_Click(Text1 = Format(9 / 5 * V al(Text2 + 32, "0.00" End Sub或Private Sub Comma nd1_Click(Dim f!, c!'声明两个变量f = V al(Text1c = 5 / 9 * (f - 32Text2 = Format(c, "0.00"'保留两位小数End SubPrivate Sub Comma nd2_Click(Dim ff!, cc!'声明两个变量cc = V al(Text2ff = 9 / 5 * cc + 32Textl = Format(ff, "0.00"'保留两位小数End SubB.2Label2 = Format(V al(Text1 * V al(Text1 * 3.14, "0.00" End Sub Private Sub Comma nd2_Click(Label3 = Format(V al(Text1 * 3.14 * 2, "0.00"End SubPrivate Sub Text1_LostFocus(If Not lsNumeric(Text1.Text The nMsgBox "输入有非数字字符,请重新输入",,"警告"Textl.Text =""Textl.SetFocusEnd IfEnd Sub或Private Sub Comma nd1_Click(Label2 = Format(V al(Text1 * V al(Text1 * 3.14, "0.00" End Sub Private Sub Comma nd2_Click(Label3 = Format(V al(Text1 * 3.14 * 2, "0.00"End SubPrivate Sub Text1_KeyPress(KeyAscii As In teger If KeyAscii = 13 The nIf Not lsNumeric(Text1.Text The nText1.Text =""End IfEnd IfEnd SubB. 3Private Sub Comma nd1_Click(n = In t(Log(2 / Log(1.008 + 1Label1 = n & "年后人数超过26亿"End SubB.4Private Sub Comma nd1_Click(Dim x, dx, cdx = Text1.Textdx = UCase(xcd = Len(xPrint"大写字母为:";dxPrint"字符串长度为:";cdEnd SubB. 5Textl = In t(R nd * 900 + 100End SubPrivate Sub Comma nd2_Click(Dim x%, x1%, x2%, x3%x = V al(Text1x1 = x Mod 10 '分离出的个位数x2 = (x Mod 100 \ 10 '分离出的十位数x3 = x \ 100 '分离出的百位数Label1 = x1 * 100 + x2 * 10 + x3 End SubB.6Private Sub Form_Click(Label1 = Left(Text1, 11Label2 = Mid(Text1, 12, 6Label3 = Right(Text1,5End SubB.7Private Sub Comma nd1_Click(PrintFor i = 1 To 5Print Tab(15 - i * 2; String(2 * i - 1, " ★"; Spc(18 - 4 * (i - 1; String(2 * i - 1, " ★"Next iEnd SubPrivate Sub Comma nd2_Click(CisEnd Sub进一步要求:Private Sub Comma nd1_Click(PrintFor i = 1 To 5Print Tab(15 - i * 2; String(2 * i - 1, " ★"; String(10 - (2 * i - 1, " ☆"; String(2 * i - 1, "★"Next iEndSubprivateSubCommand2IC=ck(c_sEndSubB.8privateSubFo「mlc=ck(X H < a -(-n p u 65o x (二鸯>—日»達==斗«=pfH Formafx* X - =0-000= pfg H Fo 「maf(sq 「(><=0_fgH Folmafx> (1、3=0.000=Prinf=:=pf 八space(5八U H R :=pfg八 space(5八2二f八space©诺R 2二fgEndSub0--privateSubFo「mlc=ck(XH< a-(-n p u 65o x (二鸯> 妄血一fxA-0Elself x < 2000 Then y = 0.9 * x Elself x < 3000 Then y = 0.8 * x Else y = 0.7 * xEnd IfPrint yEnd SubC. 2Private Sub Form_Click(Dim x!, y!x = V al(lnputBox("输入上网时间"If x < 10 The n y = 30Elself x < 50 The n y = 30 + 2.5 * (x - 10Elsey = 30 + 2.5 * 40 + 2 * (x - 50End IfIf y > 150 The ny = 150End IfPrint yEnd SubC. 3Private Sub Comma nd1_Click(Dim x!, y!, z!x = In putBox("i nput x"y = In putBox("i nput y"z = In putBox("i nput z"Print " x y z"Print "排序前";x; " "; y; " ";zIf x < y The n t =x:x = y: y = tIf x < z The n t =x:x = z: z = tIf y < z The n t =y:y = z: z = tPrint "排序后"& x & " " & y & " " & z End SubPrivate Sub Comma nd2_Click(Dim x!, y!, z!x = In putBox("i nput x"y = In putBox("i nput y"z = In putBox("i nput z"Print " x y z"Print "排序前";x; " "; y; " "; zIf x < y The n t = x: x = y: y = tIf y < z The nt = y: y = z: z = tIf x < y The nt = x: x = y: y = tEnd IfEnd IfPrint "排序后"& x & " " & y & " " & z End Sub C.4Dim a(3 As In tegerPrivate Sub Comma nd1_Click(Picturel.CIsFor i = 0 To 2 a(i = Int(Rnd * 100 + 200 Picturel.Pri nt a(iNext iEnd SubPrivate Sub Comma nd2_Click( Picture2.ClsDim z As In tegerFor i = 0 To 1If a(i > a(i + 1 The nz = a(i + 1a(i + 1 = a(ia(i = zNext iPicture2.Pri nt a(0Picture2.Pri nt a(1Picture2.Pri nt a(2End SubC.5Private Sub Text2_LostFocus(Dim m%, n%, y%m = V al(Text1n = V al(Text2If n Mod 2 <> 0 The nMsgBox ("脚数必定为偶数"Text2 =""Text2.SetFocusElsey = n / 2 - mIf y < 0 The nMsgBox ("脚数必须倍的头数,请重新输入Text2 =""Text2.SetFocusElsex = n / 2 - mLabel2 = yLabel3 = m - yEnd IfEnd IfEnd SubC.6Private Sub Comma nd1_Click(Dim a!, b!, c!, x1!, x2!, de!a = Text1b = Text2c = Text3de = b * b - 4 * a * ct = 2 * aIf de = 0 The nText4 = Format(-b / t, "0.00"Text5 = Format(-b / t, "0.00"Elself de > 0 The nText4 = Format((-b + Sqr(de / t, "0.00"Text5 = Format((-b - Sqr(de / t, "0.00"Text4 = Format(-b / t, "0.00" & "+" & Format(Sqr(Abs(de / t, "0.00" & "i" Text5 = Format(-b / t, "0.00" & "-" & Format(Sqr(Abs(de / t, "0.00" & "i" E nd IfEnd SubPrivate Sub Comma nd2_Click( Textl =""Text2 =""Text3 =""Text4 =""Text5 =""End SubC.7Private Sub Text3_LostFocus( Select Case Trim(Text3Case "+"Text4 = V al(Text1 + V al(Text2 Case "-"Text4 = V al(Text1 - V al(Text2 Case "*"Text4 = V al(Text1 * V al(Text2 Case "/"If V al(Text2 = 0 Then MsgBox "分母为零,重新输入"Text2 =""Text2.SetFocusElseText4 = V al(Text1 / V al(Text2 End IfEnd SelectEnd SubC.8Private Sub Text1_LostFocus( Select Case Trim(Text1Case 1Text2 = "Mo nday"Case 2Text2 = "Tuesday"Case 3Text2 = "Wed nesday"Case 4Case 5Text2 = "Friday"Case 6Text2 = "Saturday"Case 7Text2 = "Su nday"Case Is > 7, Is < 1MsgBox "数字为1~7,重新输入" Textl =""Text1.SetFocusEnd SelectEnd Sub或者Private Sub Text1_LostFocus( If Text1 > 7 Or Textl < 1 The n MsgBox "数字为1~7,重新输入" Textl =""Textl.SetFocusElseText2 = Choose(Text1, "Mo nday", "Tuesday", "Wed nesday", "Thursday", "Friday", "Saturday", "Su nday"End IfEnd SubD.1Private Sub Form_Click(For i = 1 To 9Print Tab(10 - i; String(2 * i - 1, Trim(Str(iNext iEnd SubD.2Private Sub Form_Click(For i = 1 To 10 Step 1Print Tab(i; Stri ng((20 - 2 * i, Chr(64 + iNext iEnd SubD.3Private Sub Comma nd1_Click(Dim s!, t!, i&t = 1For i = 1 To 100000t = t + is = s + 1 / tIf 1 / t < 0.00001 Then Exit ForNext iPrin t "For 结构";s, i;"项"End SubD.4Private Sub Comma nd1_Click(Dim n&, pi#, i&n = InputBox("输入n 值"pi = 2For i = 1 To npi = pi * (2 * i / (2 * i - 1 * (2 * i / (2 * i + 1 Next i Print "当n=" & n & ” 时,pi="; piEnd SubD.5Private Sub Form_Click(Dim s!, t!, i!, a%, n%a = In t(R nd * 9 + 1n = In t(R nd * 6 + 5t = 0: s = 0Prin t "a="; a, " n二";nFor i = 1 To nt = t * 10 + as = s + tPrint t;Next iPrintPrin t "s="; sEnd SubD.6Private Sub Comma nd1_Click( Dim s As In tegers = 0For i = 1 To 9Forj = 0 To 9For k = 0 To 9s = i * 100 + j * 10 + kIf s = i A 3 + j A 3 + k A 3 The nPrint sEnd IfNext kNext jNext iEnd SubPrivate Sub Comma nd3_Click( formd6.Hide main .ShowEnd SubD.7Private Sub Comma nd1_Click(Dim a!, xO!, x1!Doi = i + 1x1 = 2 * x0 / 3 + a / (3 * x0 * x0If Abs(x1 - x0 < 0.00001 Then Exit Do x0 = x1 LoopPrint x1, iEnd SubD.8Private Sub Comma nd1_Click(s = 0x0 = 0.01For i = 1 To 30s = s + x0x0 = x0 * 2Next iEnd SubD.9Private Sub Comma nd4_Click(Picturel.CIsPicture1.Print "x 课安排在";"y 课安排在";"z 课安排在"Picturel.Print ""For z = 5 To 6For x = 1 To z - 2For Y = x + 1 To z - 1X1 = Choose(Weekday(x,'周一","周二","周三","周四","周五","周六","周日"Y1 = Choose(Weekday(Y,'周一","周二","周三","周四","周五","周六","周日"z1 = Choose(Weekday(z,周一","周二","周三","周四","周五","周六","周日" Picturel.Pri nt" "; X1; ""; Y1; " "; z1Next YNext xNext zEnd SubE.1Private Sub Form_Click(Dim a(1 To 10 As In tegerFor i = 1 To 10a(i = In t(R nd * 71 + 30Print a(i;"";Next iMax = a(1Min = a(1A vg = a(1For i = 2 To 10If a(i > Max The n Max = a(iIf a(i < Min Then Min = a(iA vg = A vg + a(iNext iA vg = A vg / 10PrintPrint "Max="; Max; " Min="; Min;" A vg="; A vg End SubE.2Private Sub Form_Click(Dim aa = Array(56, 78, 98, 88, 76, 78For i = 0 To 5Print Stri ng(a(i \ 5, " ♦"; a(iPrintNext iEnd SubE.3Dim a%(19Private Sub Comma nd1_Click( Picturel.CIsFor i = 0 To 19a(i = Int(Rnd * 101Picturel.Pri nt a(i;"";If (i + 1 Mod 4 = 0 The n Picturel.Pri nt Next iEnd SubPrivate Sub Comma nd2_Click( Picture2.CIsDim s(5 To 9For i = 0 To 19Select Case kCase 0 To 5s(5 = s(5 + 1Case 9 To 10 '90~10(分的人数s(9 = s(9 + 1Case 6 To 8 '存放其他三个分数段的下标有规律,根据K获得s(k = s(k + 1 End SelectNext iFor i = 5 To 9If s(i <> 0 Then Picture2.Print "s("; i;"的人数有";Format(s(i, "0";"个"Next i End SubE.4Private Sub Comma nd1_Click(Picture1.ClsDim d%(1 To 10For i3 = 1 To 10Ran domized(i3 = Int(Rnd * 91 + 10For i = 1 To 10For j = 1 To 10 - iIf d(j < d(j + 1 The nt = d(j: d(j = d(j + 1: d(j + 1 = t End IfNext jNext iFor i = 1 To 10: Picture1.Pri nt d(i; If i Mod 5 = 0 Then Picture1.Print Next iEnd SubE.5Dim a%(3, 3, b%(3, 3Private Sub Form_Load(For i = 0 To 3Forj = 0 To 3a(i, j = In t(R nd * 36 + 35b(i, j = Int(Rnd * 41 + 100Next iEnd SubPrivate Sub Comma nd1_Click( Picturel.CIsFor i = 0 To 3Forj = 0 To iPicture1.Pri nt a(i, j;"";Next jPicture1.Pri ntNext iEnd SubPrivate Sub Comma nd2_Click( Picture2.ClsFor i = 0 To 3For j = i To 3Picture2.Pri nt Tab(j * 6; b(i, j; Next jPicture2.Pri ntEnd SubPrivate Sub Comma nd3_Click( Picture3.Clssa = 0For i = 0 To 3sa = sa + a(i, iNext isb = 0For i = 0 To 3sb = sb + b(i, 3 - iNext iPicture3.Print "A数组主对角线元素和为:";sa Picture3.Print "B数组副对角线元素和为:";sb End SubE.6Private Sub Form_Click(n = InputBox("输入n 值"ReDim a6%(n + 1, n + 1a6(0, 0 = 1: a6(1, 1 = 1: a6(1, 0 = 1For i = 2 To n + 1Forj = 2 To ia6(i, j = a6(i - 1, j - 1 + a6(i - 1, j Picturel.Print a6(i, j;""Next jPicturel.Pri ntNextEnd SubE.7Private Sub Form_Load(List1.ClearList1.Addltem "大学计算机基础"List1.Addltem "C/C++ 程序设计"List1.AddItem "VB 程序设计"List1.AddItem "Web 程序设计" Listl.Addltem "多媒体技术与应用" Listl.Addltem "数据库技术与应用" Listl.Addltem "网络技术与应用" Listl.Addltem "硬件技术基础"Listl.Addltem "软件技术技术基础" Private Sub List1_Click(If List2丄istCount >= 5 Then MsgBox ("超过5门课程,不能再选"Exit SubElseList2.Addltem List1.TextList1.Removeltem List1.ListIndexEnd IfEnd SubE.8Sub Combo1_KeyPress(KeyAscii As In teger Select Case KeyAscii Case 48 To 57, 13Case ElseKeyAscii = 0End SelectIf KeyAscii = 13 The nCombo1.Addltem Combo1.TextEnd SubPrivate Sub Comma nd1_Click(Dim mi n%, max%min = V al(Combo1.List(0max=V al(Combo1.List(0=imin=0=imax =0Fori : =1 To Combol.ListCount - 1 If V al(Combo1 丄ist(i > max Then imax = i=Combol. List(imax=Elself V al(Combo1 .L ist(i < min Then imin = imin = C ombol. List(iEnd IfNext it = Combo1.List(0Combol. List(0 = Combo1.List(iminCombo1.List(imin = tt = Combol 丄ist(Combo1.ListCount - 1Combol.List(Combo1.ListCount - 1 = Combo1.List(imax Combo1.List(imax = t End SubE.9Private Sub Form_Click(For i = 0 To Scree n.Fo ntCou nt - 1If Asc(Left(Scree n.Fo nts(i, 1 < 0 The nPicture1.Pri nt Scree n.Fon ts(iPicture2.F on tName = Scree n.Fon ts(iPicture2.Print"商丘师范学院"End IfNext iEnd SubE.10Private Type clerknu mber As Stri ng * 3n ame As Stri ng * 5salary As In tegerDim a(0 To 4 As clerk, n%Private Sub Comma nd1_Click(If n >= 5 The nMsgBox ("输入人数超过数组声明的个数"ElseWith a(n.nu mber = Text1.n ame = Text2.salary = Text3Picture1.Print a(n.number, a(, a(n.salary Print End Withn = n + 1Text1 =""Text2 =""Text3 =""End IfEnd SubPrivate Sub Comma nd2_Click(Dim t As clerk, i%, j%For i = 0 To n - 1For j = i To n - 1If a(i.salary < a(j + l.salary Then t = a(i: a(i = a(j + 1: a(j + 1 = t End If Next jNext iPicture1.ClsPicture1.Print "工号姓名工资"For i = 0 To n - 1Picture1.Pri nt a(i .nu mber, a(i .n ame, a(i.salaryPrintNext iEnd SubF.1Private Sub Form_Click(Dim a(1 To 10, ami n, i%For i = 1 To 10a(i = -In t(R nd * 101 + 300Print a(i;Next iCall s(a(, aminPrintPrint "min="; aminEnd SubSub s(b(, minDim i%min = b(LBo un d(bFor i = LBou nd(b + 1 To UBou nd(bIf b(i < min Then min = b(iNext iEnd SubF.2Private Sub Comma nd1_Click(Dim mm%, nn%mm = V al(Text1nn = V al(Text2Picturel.Pri nt mm; Tab(6; nn; Tab(12; gcd(mm, nn End Sub Fun ction gcd%(ByV al m%, ByV al n%If m < n The n t = m: m = n: n = tr = m Mod nDo While (r <> 0m = n: n = r: r = m Mod nLoopgcd = nEnd FunctionF.3Dim x!Private Sub Comma nd1_Click(Print "调用标准函数Sin的结果";Sin(xEnd SubPrivate Sub Comma nd2_Click(Print "调用自定义函数MySin的结果";MySin(x End Sub Fu nction MySi n(x! As DoubleDim i%, t!, s!t = xs = tDo While Abs(t > 0.00001t = -1 * t * x * x / ((i + 1 * (i + 2s = s + ti = i + 2LoopMySin = sEnd FunctionPrivate Sub Comma nd3_Click(x = In putBox("输入要计算正弦函数的角度值x" x = x * 3.14 / 180End SubF.4Private Sub Text1_KeyPress(KeyAscii As In teger If KeyAscii = 13 Then If Not lsNumeric(Text1 The nMsgBox "输入非数字串,重新输入"Text1.Text =""Text1.SetFocusElsePicture1.Pri nt Text1; " ★"ElsePicturel.Pri nt TextlEnd IfTextl =""End IfEnd IfEnd SubFunction IsH(ss As Stri ng As Boolea n Dim i%, Ls%IsH = Truess = Trim(ssLs = Len(ssFor i = 1 To Ls \ 2If Mid(ss, i, 1 <> Mid(ss, Ls + 1 - i, 1 Then IsH = FalseExit FunctionEnd IfEnd FunctionF.5Function prime(ByV al m As In teger As Boolea nprime = TrueDim i%For i = 2 To m - 1If (m Mod i = 0 Then prime = False: Exit Function '注意冒号和exit 的范围Next i End FunctionPrivate Sub Comma nd1_Click(n = 0For i = 6 To 100 Step 2Forj = 3 To i\2If prime(j The nIf prime(i - j ThenList1.Addltem i & " =" & j & " +" & i - jn = n + 1End IfEnd IfNext iPicturel.Print" 6和100之间共有";n;"对素数和" End SubF.6Dim a%(Private Sub Form_Click(Print "1000以内的完数为:"For i = 1 To 1000If lsWs(i The nPrint i; "=1";For j = 1 To UBou nd(aPrin t "+"; a(j;Next jPrintEnd IfNext iEnd SubFunction lsWs(m As Boolea nDim s%ForiH _k Tom一2-f3Mod iHThenReDimPreserve異Hiu-j+1sHs +iEnd _fNexfiprivate SubDe-esf 「(slAs siring"ByVa-s2Asss.ngDimi%-S2HLen(s2 i H-nsf 「(s严s2Dowh=e iVosi HLeft(s 「i11+Mid(s严 i+-甘卅那『>End SubPrivate Sub Command1_Click('调用DeleStr 子过程Dim ss1 As String ss1 = Text1Call DeleStr(ss1, Text2Text3 = ss1End SubPrivate Sub Comma nd2_Click(End SubF.8Private Sub Comma nd1_Click(Dim maxw$maxle n Text1 & ” ", maxwText2 = maxwEnd SubSub maxle n( s$, maxw$Dim word$maxw =""Do While s <> "" i = In Str(s,""word = Left(s, i - 1If Len( word > Len( maxw Then maxw = word s = Mid(s, i + 1 LoopEnd SubG.1Private Sub Comma nd1_Click(List1.ClearList1.Addltem Combo1If Option1 Then List1.AddItem "Pentium II"If Option2 Then List1.AddItem "Pentium I"If Option3 Then List1.AddItem "Celeron"List1.AddItem Text1If Check1 Then List1.AddItem "声卡"If Check2 Then List1.AddItem "Modem"If Check3 Then List1.AddItem "网络适配器"End SubPrivate Sub Text1_LostFocus(st = UCase(Trim(Text1le = Len(stIf Not lsNumeric(Left(st, le - 2 Or Right(st, 2 <> "MB" Then MsgBox "有不合法字符!"Text1 =""Text1.SetFocusEnd IfEnd SubG.2Private Sub Check1_Click(Picture1.Fo nt.Bold = Not Picture1.Fo nt.BoldEnd SubPrivate Sub Check2_Click(Picture1.Fo nt.ltalic = Not Picture1.F on t.BoldEnd SubPrivate Sub Comma nd1_Click(Picture1.ClsIf Optio n1 The nPicture1.Print Sin(V al(Text1ElseIf Optio n2 ThenPicturel.Print Exp(V al(Text1Elself Optio n3 The nPicturel.Print Sqr(V al(Text1End IfEnd SubPrivate Sub return_Click(l ndex As In tegerForm6.ShowUn load Form2End SubG.3Private Sub HScroll1_Cha nge(Text1 = VScroll1.V alueText2 = HScroll1.V alueText3 = HScroll2.V alueText4 = Format(V al(Text1 * (Text3 / 100 * (Text2 / 12, "0.00" Text5 = Format(V al(Text4 + V al(Text1, "0.00"End SubPrivate Sub HScroll2_Cha nge(Textl = VScrolll.V alueText2 = HScrolll.V alueText3 = HScroll2.V alueText4 = Format(V al(Text1 * (Text3 / 100 * (Text2 / 12, "0.00" Text5 = Format(V al(Text4 + V al(Text1, "0.00"End SubPrivate Sub VScroll1_Cha nge(Textl = VScrolll.V alueText2 = HScrolll.V alueText3 = HScroll2.V alueText4 = Format(V al(Text1 * (Text3 / 100 * (Text2 / 12, "0.00" Text5 = Format(V al(Text4 + V al(Text1, "0.00"End SubG.4Dim t As Sin glePrivate Sub Comma nd1_Click(t = InputBox("输入倒计时分钟数"t = t * 60ProgressBar1.Min = 0ProgressBar1.Max = t。
2-1Private Sub Form_Click()ClsEnd SubPrivate Sub Form_DblClick()FontSize = 40FontName = "隶书"ForeColor = vbRedPrint "热烈庆祝"FontSize = 60FontName = "宋体"ForeColor = vbGreenPrint "河南大学运动会召开"End Sub2-2Private Sub Command1_Click()Label1.Move Width * Rnd, Height * Rnd End Sub2-3Private Sub Command1_Click()Label1.Visible = TrueEnd SubPrivate Sub Command2_Click()Label1.Visible = FalseEnd Sub2-4Private Sub Timer1_Timer()Text1.Text = NowCaption = Text1.TextEnd Sub2-5Private Sub Timer1_Timer()If BackColor = vbRed ThenBackColor = vbYellowElseBackColor = vbRedEnd IfEnd Sub2-6Private Sub Timer1_Timer()If Label1.Left < Form1.Width Then Label1.Left = Label1.Left + 200ElseLabel1.Left = -Label1.Left End IfEnd Sub2-7Private Sub Command1_Click() Text1.Visible = TrueEnd SubPrivate Sub Command2_Click() Text1.Visible = FalseEnd Sub2-8Private Sub Text1_Change()Text2.Text = Text1.TextEnd Sub2-9Private Sub Command1_Click() FontSize = 20FontBold = TruePrint "欢迎来到"Print "河南大学"End SubPrivate Sub Command2_Click() ClsEnd SubPrivate Sub Command3_Click() EndEnd Sub2-10Private Sub Command1_Click()r = Text1.TextText2.Text = 3.14 * 2 * rEnd SubPrivate Sub Command2_Click() Text1.Text = " "Text2.Text = " "Text1.SetFocusEnd Sub2-11Private Sub Form_Load()Text1.Text = "河南大学欢迎您!" Text1.FontName = "宋体"Text1.FontSize = 50Text1.BackColor = vbYellowText1.ForeColor = vbBlueEnd Sub2-12Dim s As StringPrivate Sub Command1_Click()s = Text1.SelTextEnd SubPrivate Sub Command2_Click()Text2.SelText = sEnd Sub2-13Private Sub Timer1_Timer()If Label1.Top > -Label1.Height Then Label1.Top = Label1.Top - 100ElseLabel1.Top = Form1.HeightEnd IfEnd Sub3-2Private Sub Form_Click()Dim n As IntegerRandomizen = Int((90 * Rnd) + 10)Print nEnd Sub3-3Private Sub Timer1_Timer()ClsPrint "河南大学环境与规划学院" FontSize = Int(71 * Rnd + 10)End Sub3-4Private Sub Command1_Click()n = Text1.TextText2.Text = Hex(Asc(Right(Text1.Text, 1)))End SubPrivate Sub Command2_Click()Text1.Text = " "Text2.Text = " "Text1.SetFocusEnd Sub3-5Private Sub Command1_Click()Dim m As Datem = Text1.Text n = DateText2.Text = n - mEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text1.SetFocusEnd Sub3-6Dim b As StringDim n As StringDim m As StringPrivate Sub Command1_Click()m = Left(Text1, 1)n = Right(Text1, 1)b = Mid(Text1, 2, 1)Text2.Text = n & b & mEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text1.SetFocusEnd Sub3-7Private Sub Form_click()r = InputBox("请输入字符")Print Left(r, 1) & Mid(r, 3, 1) & Right(r, 1)End Sub3-8Private Sub Timer1_Timer()Label1.FontSize = Rnd * 40 + 10Label1.BackColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)Label1.ForeColor = QBColor(Int(16 * Rnd))End Sub3-9Private Sub Command1_Click()x = Shell("notepad.exe", 1)End SubPrivate Sub Command2_Click()Shell "mspaint.exe", 1End Sub大学VB程序设计课后习题参考答案(编码)3-10Private Sub Form_Click()r! = InputBox("请输入您的工资:")a = r \ 100b = (r - 100 * a) \ 50c = (r - 100 * a - b * 50) \ 10d = (r - 100 * a - b * 50 - c * 10) \ 5e = (r - 100 * a - b * 50 - c * 10 - d * 5) \ 2f = r - 100 * a - b * 50 - c * 10 - d *5 - e * 2Print "您的工资是:" & rPrint "100元张数:" & aPrint "50元张数:" & bPrint "10元张数:" & cPrint "5元张数:" & dPrint "2元张数:" & ePrint "1元张数:" & fEnd Sub4-1Private Sub Command1_Click()Dim p As Single, r As Single, n As Single p = Text1r = Text2n = Text3s = p * (1 + r) ^ nMsgBox "您的本息是:" & Round(s, 2) End Sub4-2Private Sub Form_click()Dim max As Single, min As Singlea! = InputBox("请输入第一个实数")b! = InputBox("请输入第二个实数")If a > b ThenPrint a, bElsePrint b, aEnd IfEnd Sub4-3Private Sub Form_click()Clsa! = InputBox("请输入年份") If a Mod 4 = 0 And a Mod 100 <> 0 & a Mod 400 = 0 ThenPrint "您刚刚输入的年份为闰年!"ElsePrint "您刚刚输入的年份不是闰年!"End IfEnd Sub4-4Private Sub Form_click()a! = InputBox("a=")b! = InputBox("b=")c! = InputBox("c=")d! = b * b - 4 * a * cIf d >= 0 Thenm! = (-b + Sqr(d)) / (2 * a)n! = (-b - Sqr(d)) / (2 * a)Print " X1 = "; m, ",", "X2="; nElser = (-b) / (2 * a)i = Sqr(Abs(-d)) / (2 * a)Print "X1 = "; r & "+" & Abs(i) & "i", ",", "X2 = "; r & "-" & Abs(i) & "i" End IfEnd Sub4-5Private Sub Command1_Click()Dim x!x = Text1If x < 60 ThenText2 = "重考!"ElseIf x < 70 ThenText2 = "及格!"ElseIf x < 80 ThenText2 = "中等!"ElseIf x < 90 ThenText2 = "良好!"ElseText2 = "优秀!"End IfEnd SubPrivate Sub Command2_Click()Text1 = ""Text2 = ""End Sub4-6Private Sub Command1_Click()Dim x!x = Text1Select Case xCase Is < 60Text2 = "重考!"Case Is < 70Text2 = "及格!"Case Is < 80Text2 = "中等!"Case Is < 90Text2 = "良好!"Case ElseText2 = "优秀!"End SelectEnd SubPrivate Sub Command2_Click()Text1 = ""Text2 = ""End Sub4-7Dim s As StringPrivate Sub Form_Click()s = InputBox("请输入年龄")If s < 30 ThenPrint "您的年龄为"; s, ",", "请参加长跑运动"ElseIf s < 40 ThenPrint "您的年龄为"; s, ",", "请参加跳绳运动"ElseIf s < 50 ThenPrint "您的年龄为"; s, ",", "请参加竞走运动"ElsePrint "您的年龄为"; s, ",", "请参加慢跑运动"End IfEnd Sub4-8Private Sub Form_Click()For n = 2 To 100 Step 2Print n;If n Mod 20 = 0 Then Print Next nEnd Sub4-9Private Sub Form_click()For n = 100 To 1000If n Mod 3 = 2 And n Mod 5 = 3 And n Mod 7 = 2 Then Print n;Next nPrintEnd Sub4-10Private Sub Form_click()m = 0: n = 0Dor% = InputBox("请输入学生成绩")m = m + rn = n + 1Loop Until r = -1Print "学生平均成绩="; (m + 1) / (n - 1) End Sub4-11Private Sub Form_click()Dim a As IntegerDim s As Integera = 1Dos = s + (-1) ^ (a + 1) * aa = a + 1Loop Until a > 100Print " 1-2+3-4+5-6+…+99-100="; s End Sub4-12Private Sub Form_Click()Dim n As IntegerDim m As IntegerDim s As Integerm% = InputBox("请输入正整数m(m>=1)", "阶乘")n% = InputBox("请输入正整数n(n>=m)", "阶乘")For m = m To nt = 1For i = 1 To mt = t * i大学VB程序设计课后习题参考答案(编码)Next is = s + tNext mPrint " m!+(m+1)!+…+n!="; s End Sub4-13Private Sub Form_click()Dim a%Dim b%Dim c%For a = 1 To 20For b = 1 To 20For c = 1 To 20If a * a + b * b = c * c Then Print a, b, cEnd IfNext cNext bNext aEnd Sub4-14Private Sub Form_click()For n = 1 To 500For i = 1 To n - 1If n Mod i = 0 Then s = s + i Next iIf s = n Then Print i;s = 0Next nPrintEnd Sub4-15Private Sub Form_click()Dim i As IntegerDim n As Longn = 1t = 1Do While t > 0.00001e = e + ti = i + 1n = n * it = 1 / nLoopPrint "e的近似值是"; e End Sub5-2Private Sub Form_Click()Dim i%, ss = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) For i = 0 To 9If s(i) Mod 3 = 0 ThenPrint s(i); iElsePrint ""End IfNext iPrintEnd Sub5-3Option Base 1Private Sub Command1_Click()Dim x()x = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) t = x(1)For i = 1 To 9x(i) = x(i + 1)Print x(i);Nextx(10) = tPrint x(i)End SubPrivate Sub Command2_Click()Dim x()x = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) t = x(10)For i = 9 To 1 Step -1x(i + 1) = x(i)Next ix(1) = tFor i = 1 To 10Print x(i);Next iEnd Sub5-4Private Sub Form_Click()Dim a(5, 5)For i = 1 To 5Sum = 0For j = 1 To 5a(i, j) = Int(Rnd * 51 + 10)Sum = Sum + a(i, j)Print a(i, j);Next jPrint SumNext iPrintFor i = 1 To 5For j = 1 To 5If i = j Then Print a(i, j);Next jNext iPrintEnd Sub5-5Private Sub Form_Click()Dim a() As IntegerDim Max As Integer, iMax As Integer, jMax As IntegerDim Min As Integer, iMin As Integer, jMin As IntegerM = InputBox("输入M")N = InputBox("输入N")ReDim a(M, N)For i = 1 To MFor j = 1 To Na(i, j) = Int(Rnd * 900) + 100Next jNext iFor i = 1 To MFor j = 1 To NPrint a(i, j);Next jPrintNext iMax = a(1, 1): Min = a(1, 1)For i = 1 To MFor j = 1 To NIf a(i, j) > Max Then Max = a(i, j): iMax = i: jMax = jf a(i, j) < Min Then Min = a(i, j): iMin = i: jMin = j Next jNext iPrint "Max="; Max, "iMax="; iMax, "jMax="; jMaxPrint "Min="; Min, "iMin="; iMin, "jMin="; jMinErase aEnd Sub5-6Private Sub Form_Click()n = InputBox("n")ReDim a(n, n)For i = 1 To nFor j = 1 To nIf i = j Thena(i, j) = 1Elsea(i, j) = 0End IfNext jNext iFor i = 1 To nFor j = 1 To nPrint a(i, j);Next jPrintNext iErase aEnd Sub5-7Private Sub Form_Click()Dim x As Variantx = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) For i = 1 To 10Print x(i);Next iPrintFor i = 1 To 7x(i) = x(i + 3)Print x(i);Next iPrintReDim Preserve x(i)x = Array(1, 2, 3, 4, 5, 6, 7)大学VB程序设计课后习题参考答案(编码)or i = 1 To 7Print x(i);Next iPrintEnd Sub5-8Option Base 1Private Sub Command1_Click(Index As Integer)Select Case IndexCase 1Text3 = Val(Text1) + Val(Text2)Case 2Text3 = Text1 - Text2Case 3Text3 = Text1 * Text2Case 4Text3 = Text1 / Text2End SelectEnd Sub6-1Private Sub Form_click()Dim x As SingleDim y As SingleDim z As Singlex = InputBox("请输入圆柱体的半径")y = InputBox("请输入圆柱体的高度") volume x, y, zPrint "圆柱体的体积为"; zEnd Sub6-2窗体模块Private Sub Form_click()Dim a!, b!, c!a = InputBox("请输入圆柱体的半径")b = InputBox("请输入圆柱体的高度")c = volume(a, b)Print "圆柱体的体积为"; cEnd Sub标准模块Function volume(r As Single, h As Single) As Singlevolume = 3.14 * r * r * h End Function6-3Private Sub Form_Click()Dim y%y = InputBox("请输入一个整数")Call week(y)End Sub6-4窗体模块Private Sub Form_click()Dim a As Integer, b As Stringa = InputBox("请输入一个整数")b = week(a)Print b标准模块Function week(s As Integer) As String Select Case sCase 0week = "星期日"Case 1week = "星期一"Case 2week = "星期二"Case 3week = "星期三"Case 4week = "星期四"Case 5week = "星期五"Case 6week = "星期六"Case ElseMsgBox "数据无效"End SelectEnd Function6-5窗体模块Private Sub Form_click()Dim n As Single, w As Stringn = InputBox("请输入一个正整数") Select Case wCase judge = 0Print "此数为偶数"Case ElsePrint "此数为奇数"Print wEnd SelectEnd Sub标准模块Function w(n As Single) As Stringw = n \ 2Select Case wCase w = 0Print "此数为偶数"Case ElsePrint "此数为奇数"End Function6-7Sub lenUL(ByVal s As String, U%, L%) Dim i As IntegerFor i = 1 To Len(s)Select Case Mid(s, i, 1)Case "A" To "Z"U = U + 1Case "a" To "z"L = L + 1End SelectNext iEnd SubPrivate Sub Command1_Click()Dim U%, L%Call lenUL(Text1, U, L)Text2 = UText3 = LEnd SubPrivate Sub Command2_Click()Text1 = ""Text2 = ""Text3 = ""Text1.SetFocusEnd Sub7-1Private Sub Command1_Click()Image1.Picture = LoadPicture("c:\图片\picture5.JPG")End SubPrivate Sub Command2_Click()Image1.Picture = LoadPicture("c:\图片\picture3.JPG")End SubPrivate Sub Command3_Click()Image1.Picture = LoadPicture("c:\图片\picture4.JPG")End Sub7-2Private Sub Command1_Click()Static a As Integera = a + 1If a Mod 2 <> 0 ThenImage1.Picture = LoadPicture("c:\图片\p2.JPG")Image2.Picture = LoadPicture("c:\图片\p1.JPG")ElseImage1.Picture = LoadPicture("c:\图片\p1.JPG")Image2.Picture = LoadPicture("c:\图片\p2.JPG")End IfEnd SubPrivate Sub Form_Load()Image1.Picture = LoadPicture("c:\图片\p1.JPG")Image2.Picture = LoadPicture("c:\图片\p2.JPG")End Sub7-3Private Sub Timer1_Timer()Form1.Picture = Image3.PictureImage3.Picture = Image2.Picture Image2.Picture = Image1.Picture Image1.Picture = Form1.PictureEnd Sub7-4Private Sub Form_Load()Timer1.Enabled = FalseEnd SubPrivate Sub Timer1_Timer()If Image2.Top >= -Image2.Height Then Image2.Top = Image2.Top - 100ElseImage2.Top = -Image2.Height大学VB程序设计课后习题参考答案(编码)End IfEnd Sub7-5Private Sub Form_Load()HScroll1.Min = 0HScroll1.Max = Image1.WidthImage1.Width = 0End SubPrivate Sub HScroll1_Scroll()Image1.Width = HScroll1Label1 = "当前图片宽度:" & HScroll1.ValueEnd Sub7-6Private Sub Command1_Click()For i = ProgressBar1.Min To ProgressBar1.MaxProgressBar1.Value = i(For j = 1 To 20000Next j) (延时)Next iEnd Sub7-7Private Sub Command1_Click()a = IIf(Option1, "男", "女")b = IIf(Option3, "硕士", "博士")c = IIf(Check1, "音乐", "")d = IIf(Check2, "演讲", "")e = IIf(Check3, "体育", "")f = IIf(Check4, "集邮", "")Text2 = "姓名:" & Text1.Text & "," & "性别:" & a & "," & "学历:" & b & "," & "特长:" & c & "," & d & "," & e & "," & fEnd SubPrivate Sub Command2_Click()Text1 = ""Text2 = ""Text1.SetFocusEnd Sub7-8Private Sub Form_Load()Combo1.AddItem "河南省" Combo1.AddItem "开封市"Combo1.AddItem "河南大学"Combo1.AddItem "金明校区"Combo1.AddItem "环境与规划学院" Combo1.AddItem "09级"Combo1.AddItem "地理科学专业" Combo1.AddItem "刘彬"Combo1.AddItem "毕业于"Combo1.AddItem "湖南省"Combo1.AddItem "衡山县"Combo1.AddItem "第二中学"Combo1.AddItem "218班"End SubPrivate Sub Combo1_Click()List1.AddItem Combo1.TextEnd SubPrivate Sub List1_DblClick()List1.RemoveItem List1.ListIndex End Sub8-1Dim x As Single, y As Single Private Sub Pt1_Click()Pt1.Scale (0, 100)-(100, 0)Pt1.DrawWidth = 2For x = 0 To 100 Step 0.02Pt1.PSet (x, 2), vbRedNext xFor y = 0 To 100 Step 0.02Pt1.PSet (2, y), vbRedNext yPt1.CurrentX = 2Pt1.CurrentY = 5Pt1.Print "(0,0)"End Sub8-2Private Sub P1_Click()P1.Scale (0, 100)-(100, 0)P1.FillStyle = 7P1.DrawWidth = 5P1.FillColor = vbGreenP1.Line (10, 90)-(90, 10), vbRed, B End Sub8-3Private Sub Form_click()Scale (-100, 100)-(100, -100)Line (-100, 0)-(100, 0)Line (0, -100)-(0, 100)CurrentX = 2CurrentY = 6Print "(0,0)"End Sub8-4Private Sub Form_click()Scale (-100, 100)-(100, -100)Line (-100, 0)-(100, 0)Line (0, -100)-(0, 100)For x = -100 To 100 Step 0.02y = 10 * Sin(x) - 10 * Cos(2 * x)PSet (x, y), vbRedNext xEnd Sub8-7Private Sub Form_Click()Timer1.Enabled = TrueEnd SubPrivate Sub Timer1_Timer()RandomizeScale (-120, 120)-(120, -120) DrawWidth = 2If r < 100 Thenr = r + 2For r = 0 To 100Circle (0, 0), r, RGB(255 * Rnd, 255 * Rnd, 255 * Rnd)Next rEnd IfEnd Sub9-1Private Sub Text1_KeyPress(K As Integer) K = K + 3End Sub9-2Private Sub Text1_KeyPress(K As Integer) Select Case KCase 48 To 57K = KCase ElseK = 0 End SelectEnd Sub9-6Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)MousePointer = 5End SubPrivate Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)MousePointer = 11End SubPrivate Sub Picture1_Click() MouseIcon = Picture1.MouseIconPicture1.MouseIcon = Image1.MouseIcon Image1.MouseIcon = Form1.MouseIconEnd Sub9-7Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)If Shift = vbCtrlMask And Button = vbLeftButton Then Print "Ctrl+左键+移动"If Shift = vbAltMask And Button = vbRightButton Then Print "Alt+右键+移动"End SubSub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)ClsEnd Sub9-8Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = vbLeftButton Then Picture1.Print Str(X) + "," + Str(Y) BackColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)End Sub大学VB程序设计课后习题参考答案(编码)10-1Private Sub Command1_Click()Open "d:\data1.txt" For Output As #1 Write #1, "601", "杨大昌"; "4550" Write #1, "603", "李文圣"; "3886" Write #1, "605", "张燕"; "2235" Close #1End SubPrivate Sub Command2_Click()Open "d:\data1.txt" For Input As #2 Do While Not EOF(2)Input #2, X1, X2, x3Print X1, X2, x3LoopCloseEnd Sub10-2Private Sub Command1_Click()Open "d:\data1.txt" For Append As #3 Write #3, Text1, Text2, Text3Text1 = ""Text2 = ""Text3 = ""CloseEnd SubPrivate Sub Command2_Click()CloseEndEnd Sub10-5Private Sub Form_Click()Dim sum As LongFor n = 1 To 100 Step 2sum = sum + nNext nPrint sumEnd SubPrivate Sub Form_Load()Open "d:\data5.txt" For Output As #1 For n = 1 To 100 Step 1Print #1, n;Next nClose End Sub10-6Private Sub Form_Click()Dim sum As IntegerFor n = 10 To 100 Step 10sum = sum + nNextPrint sumEnd SubPrivate Sub Form_Load()Open "d:\data6.dat" For Random As #1 For n = 1 To 100Put #1, , nNextEnd Sub11-1Private Sub Command1_Click() CommonDialog1.Action = 3Text1.BackColor = CommonDialog1.Color End SubPrivate Sub Command2_Click() CommonDialog1.Flags = 263 CommonDialog1.Action = 4Text1.FontSize = CommonDialog1.FontSizeText1.FontName = CommonDialog1.FontNameText1.FontBold = CommonDialog1.FontBoldText1.FontStrikethru = CommonDialog1.FontStrikethruText1.ForeColor = CommonDialog1.Color Text1.FontUnderline = CommonDialog1.FontUnderlineEnd SubPrivate Sub Command3_Click() CommonDialog1.Action = 2End Sub11-2Private Sub Command1_Click()CD1.InitDir = "C:\Documents and Settings\Administrator\桌面"CD1.Filter = "图片|*.jpg|文本文件|*.txt|"CD1.ShowOpenIf CD1.FilterIndex = 1 ThenImage1.Picture = LoadPicture(CD1.FileName)ElseOpen CD1.FileName For Input As #1Do While Not EOF(1)Line Input #1, nText1 = Text1 + n + vbNewLineLoopEnd IfEnd Sub11-4Private Sub Form_Resize()Text1.Left = 50Text1.Top = 50Text1.Width = Width - 2000Text1.Height = Height - 5000End SubPrivate Sub mnuName_Click(Index As Integer)Select Case IndexCase 5Text1.FontName = "宋体"Case 10Text1.FontName = "黑体"Case 15Text1.FontName = "隶书"End SelectEnd Sub11-6Private Sub Form_Load()Text1.Width = WidthText1.Height = HeightEnd SubPrivate Sub Form_Resize()Text1.Left = 50Text1.Top = 650Text1.Width = Width - 200Text1.Height = Height - 900End SubPrivate Sub mnuCopy_Click()s = Text1.SelText mnuPaste.Enabled = TrueEnd SubPrivate Sub mnuCut_Click()s = Text1.SelTextText1.SelText = ""mnuPaste.Enabled = TrueEnd SubPrivate Sub mnuPaste_Click()Text1.SelText = Text1 + sEnd Sub11-7Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)PopupMenu mnuTitle, 2, 0, 0End SubPrivate Sub mnuDate_Click()Caption = DateBackColor = vbYellowEnd SubPrivate Sub mnuTime_Click()Caption = TimeBackColor = vbRedEnd Sub。
VB课后习题解答第一、二章:1、简述VB6.0的主要特点答:方便、直观的可视化设计工具;面向对象程序设计方法;事件驱动的编程机制;易学易用的应用程序集成开发环境;结构化程序设计语言;完备的联机帮助功能;强大的多媒体、数据库和网络功能。
2、当正常安装VB6.0后,误把Windows子目录删除。
当重新安装Windows后,是否需要再次安装VB6.0 ?答:要重新安装的。
因为安装VB6.0时,有些VB程序被系统自动安装在Windows目录下,所以一旦删除Windows子目录,就必须重新安装VB6.0。
3、Visual Basic 6.0分为学习版、专业版和企业版,如何知道所安装的是哪个版本?答:在VB6.0的启动界面上,能显示对应的版本。
4、叙述建立一个完整应用程序的过程答:首先建立用户界面的控件对象(简称控件);然后对控件属性进行设置;再对控件事件过程及编程;保存应用程序;程序调试和运行。
5、Visual Basic 6.0有多种类型窗口,若要在设计时看到代码窗口,应怎样操作?答:选择“视图”一>“代码窗口”命令或单击“工程资源管理器”窗口中的“查看代码”按钮。
6、当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
试问该工程涉及多少个要保存的文件?若要保存该工程的所有文件,应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息?答:涉及两个文件要保存。
先保存窗体文件(.frm),再保存工程文件(.vbp)。
若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求先保存窗体文件。
7、保存文件时,若不改变目录名,则系统默认的目录是什么?答:系统默认的目录是VB98& 安装Visual Basic 6.0后,帮助系统是否也已安装?答:没有。
VB6.0的帮助系统在两张光盘上,即MSDN Library,其中还包含了VC、VFP等其他语言的帮助系统。
9、如何使用Visual Basic 6.0的帮助系统?答:最方便的方法是选定要帮助的内容,然后按F1功能键,这时系统打开MSDN Library查阅器,直接显示与选定内容有关的帮助信息。
1、下面不是VB工作模式的是(C )A.设计模式B.运行模式C.编模汇式D.中断模式2、可视化编程的最大优点是(C )A.具有标准工具箱B.一个工程文件由若干个窗体文件组成C.不需要编写大量代码来描述图形对象D.所见即所得3、下列不能打开属性窗口的操作是(C )A.执行“视图”菜单中的“属性窗口”命令B.按F4键C.按Ctrl+TD.单击工具栏上的“属性窗口”按钮4、下列可以打开立即窗口的操作是(D )A.Ctrl+D B.Ctrl+E C.Ctrl+F D.Ctrl+G5、Visual Basic的编程机制是(D )A.可视化B.面向对象C.面向图形D.事件驱动1、以下能够触发文本框Change事件的操作是(D )A.文本框失去焦点B.文本框获得焦点C.设置文本框的焦点D.改变文本框的内容2、应用程序设计完成后,应将程序保存,保存的过程是(D )A.只保存窗体文件即可B.只保存工程文件即可C.先保存工程文件,之后保存窗体文件D.先保存窗体文件(或标准模块文件),之后还要保存工程文件3、VB应用程序的运行模式是(C)A.解释运行模式B.编译运行模式C.两者都有D.汇编模式4、任何控件都具有的属性是(C )A.TEXT B.CAPTION C.NAME D.FORECOLOR5、决定控件上文字的字体、字形、大小及效果的属性是(D )A.TEXT B.CAPTION C.NAME D.FONT6、在窗体上建立了多个控件,如TEXT、LABEL1、COMMAND1,若要使程序一运行焦点就定位在COMMAND1控件上,应将COMMAND1控件的(B )设置为0 A.INDEX B.TABINDEX C.TABSTOP D.ENABLED7、运行时,当用户向文本框输入新的内容,或在程序代码中对文本框的TEXT属性进行赋值从而改变了文本框的TEXT属性值时,将触发文本框的(D)事件A.CLICK B.DBLCLICK C.GOTFOCUS D.CHANGE8、在运行时,按TAB键跳过了一个可以获得焦点的控件(如文本框),则可能是因为(D )A.该控件的TABSTOP属性值为TRUE B.该控件的TABINDEX属性值为FALSE C.该控件的ENABLED属性值为TRUE D.该控件的ENABLED属性值为FALSE9、为了防止用户随意将光标置于控件上,应(D)A.将控件的TABINDEX属性设置为0B.将控件的TABSTOP属性设置为TRUEC.将控件的TABSTOP属性设置为FALSED.将控件的ENABLED属性设置为FALSE10、若要使标签控件显示时,不覆盖其背景内容,应设置标签控件的(D )属性A.BACKCOLOR B.BORDERSTYLEC.FORECOLOR D.BACKSTYLE11、如果要在文本框中输入字符时,只显示某个字符,如星号(*),运行时,在文本框中输入的字符仍然显示出来,而不显示星号,原因可能是(B )A.文本框的MULTILINE属性值为TRUEB.文本框的LOCKED属性值为TRUEC.文本框的MULTILINE属性值为FALSED.文本框的LOCKED属性为FALSE12、在运行阶段,要在文本框TEXT1获得焦点时选中文本框中所有内容,对应的事件过程是(A)A.Private Sub Text1_GotFocus( )Text1.SelStart=0Text1.Sellength=Len(Text1.Text)End SubB.Private Sub Text1_LostFocus( )Text1.SelStart=0Text1.Sellength=Len(Text1.Text)End SubC.Private Sub Text1_Change( )Text1.SelStart=0Text1.Sellength=Len(Text1.Text)End SubD.Private Sub Text1_SetFocus( )Text1.SelStart=0Text1.Sellength=Len(Text1.Text)End Sub13、Visual Basic继承了Basic语言简单易用的语法特点,同时支持面向对象的编程机制,其中构成其控件(对象)的三要素是(D)A.属性、事件、事件过程B.控件、窗体、事件C.属性、过程、方法D.属性、事件、方法14、决定标签(Label)显示的属性是(C )A.Text B.Name C.Caption D.Alignment15、命令按钮的标题文字由(B )属性来设置。
第1章概述二.选择题:1.C2. B.3.C.4.C.5.A6.C7.D8.B9.B 10.B11.A12.C 13.D 14.C 15.D16.A17.C 18.A19.A20.D 21.B三.填空题:1.面向对象,事件驱动2.编译,解释3.设计,运行,中断4.F55.调试6.切换文件夹四.编程及上机调试:1.略2.Sub Form_Click( )Label1.Caption = “你单击了窗体”End SubSub Form_DblClick( )Label1.Caption = “你双击了窗体”End Sub第2章面向对象编程基础二.选择题:1.C2. C.3.B.4.B.5.D6.D7.B8.B9.C 10.D11.B 12.B 13.B 14.C 15.A16.B 17.B 18.B 19.C 20.B三.填空题:1.窗体,控件2.属性,事件,方法mand2_click4.picture5.中部,代码四.编程及上机调试:1.Private Sub Command1_Click()Form1.WindowState = 2End SubPrivate Sub Command2_Click()Form1.WindowState = 0Private Sub Command3_Click()Form1.WindowState = 1End Sub2.Private Sub Command1_Click()Form1.Picture = LoadPicture("d:\picture\flower.wmf")Command1.V isible = FalseCommand2.V isible = FalseEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Form_DblClick()Form1.Picture = LoadPicture("")Command1.V isible = TrueCommand2.V isible = TrueEnd Sub第3章常用标准控件二.选择题:1.C2. B3.C.4.D5.B6.B7.A8.C9.B 10.C11.C 12.A13.C 14.B 15.D16.D 17.C 18.A19.D 20.A21.B三.编程及上机调试:1.Private Sub Check1_Click()If Check1.V alue = 1 ThenText1.FontBold = TrueElseText1.FontBold = FalseEnd IfEnd SubPrivate Sub Check2_Click()If Check2.V alue = 1 ThenText1.FontItalic = TrueElseText1.FontItalic = False End IfEnd SubPrivate Sub Check3_Click()If Check1.V alue = 1 ThenText1.FontUnderline = True ElseText1.FontUnderline = False End IfEnd SubPrivate Sub Command1_Click() Text1.Text = " "End Sub2.Private Sub Command1_Click() Text2.Text = List1.ListCount End SubPrivate Sub Command2_Click() List1.AddItem Text1.TextText1.Text = " "End SubPrivate Sub Command3_Click() Dim i As Integeri = List1.ListIndexList1.RemoveItem iCommand3.Enabled = FalseText1.SetFocusText2.Text = List1.ListCount End SubPrivate Sub Form_Load()Command3.Enabled = False End SubPrivate Sub List1_Click()Command3.Enabled = True End Sub第4章VB语言基础二.选择题:1.A2. D3.D.4.A5.A6.A7.C8.D9.C 10.B11.A 12.D 13.C 14.A15.A16.C 17.D 18.A19.B 20.D21.C 22.A23.B 24.C 25.C三.编程及上机调试:1.Private Sub Form_Load()Dim x As Integer, s As String, d As IntegerRandomizex = Int(Rnd * 9000 + 1000)s = Trim(CStr(x))d = V al(Right(s, 1) + Mid(s, 3, 1) + Mid(s, 2, 1) + Left(s, 1))ShowPrint "产生的数;"; x; "倒序数"; dEnd Sub2.Private Sub Form_KeyPress(KeyAscii As Integer)Print "输入字符:"; Chr(KeyAscii), "ASCII码为:"; KeyAsciiEnd SubPrivate Sub Form_DblClick()ClsEnd Sub3.Private Sub Form_Click()MsgBox "在这里显示提示" & vbCrLf & "提示信息", 2 + 16, "请确认"End Sub或Private Sub Form_Click()MsgBox "在这里显示提示" + Chr(13) + "提示信息", vbAbortRetryIgnore _ + vbCritical, "请确认"End Sub第5章程序控制结构二.单选题1.D2. C3.C.4.D.5.B6.C7.A8.A9.D 10.C11.C 12.C 13.B 14.B四.编程及上机调试1. Private Sub Form_Click()Dim x As Integer, y As Integerx = InputBox("请输入一个数值")If x > 20 Theny = x ^ 2 + 3 * x + 2ElseIf x >= 10 Theny = Sqr(3 * x) - 2ElseIf x > 0 Theny = 1 / x + Abs(x)End IfPrint "x="; x, "y="; yEnd Sub(2)Select Case实现:Private Sub Form_Click()Dim x As Integer, y As Integerx = InputBox("请输入一个数值")Select Case xCase Is > 20y = x ^ 2 + 3 * x + 2Case Is >=10y = Sqr(3 * x) - 2Case Is > 0y = 1 / x + Abs(x)End SelectPrint "x="; x, "y="; yEnd Sub2.Private Sub Form_Click()Dim a As Integer, b As Integer, c As IntegerFor i = 100 To 999a = i \ 100b = (i - a * 100) \ 10c = i Mod 10If a ^ 3 + b ^ 3 + c ^ 3 = i ThenPrint i;k = k + 1If k Mod 2 = 0 Then PrintEnd IfNext iEnd Sub3.Private Sub Command1_Click()p = 60: r = 0.014Dop = p * (1 + r)n = n + 1Loop Until p >= 70Print n; "年后世界人口达到"; p; "亿"End Sub4.Private Sub Command1_Click()Dim s As Single, x As Integer, t As Single, n As Integer x = V al(InputBox("请输入x的值", , 2))s = 1n = 1m = 1Don = n + 1m = -mt = m * n / x ^ (n - 1)If Abs(t) < 0.00001 Then Exit Dos = s + tLoopPrint sEnd Sub第6章数组二.单选题:1.A2.A.3.A4.C5.D6.D7.A8.D9.B 10.B四.编程及上机调试:1.Option Base 1Private Sub Form_Click()Dim a(10) As IntegerDim i As Integer, t As IntegerPrint "数组的原始数据为:";For i = 1 To 10a(i) = Int(11 * Rnd) + 10Print a(i);Next iPrintPrint "变化后数组数据为:";For i = 1 To 5t = a(i)a(i) = a(10 - i + 1)a(10 - i + 1) = tNext iFor i = 1 To 10Print a(i);Next iEnd Sub2.Option Base 1Private Sub Form_Click()Dim a(3, 4) As Integer, i As Integer, j As Integer, k As Integer, p As Integer RandomizeFor i = 1 To 3For j = 1 To 4a(i, j) = Int(90 * Rnd + 10)Print a(i, j);Next jPrintNext iMax = a(1, 1): k = 1: p = 1For i = 1 To 3For j = 1 To 4If a(i, j) > Max ThenMax = a(i, j)k = ip = jEnd IfNext jNext iPrint "最大的数为第" & k & "行,第" & p & "列的数:" & MaxEnd Sub3.Option Base 1Dim a(4, 5) As Integer '在窗体声明段声明数组Dim i As Integer, j As IntegerPrivate Sub cmdmatrix_Click() '"生成数组"按钮RandomizeFor i = 1 To 4For j = 1 To 5a(i, j) = Int(Rnd * 10) '一位的随机数Picture1.Print a(i, j); '输出元素Next jPicture1.PrintNext iEnd SubPrivate Sub cmdcol_Click() '"求列和"按钮Dim colsum As Integertxtcol.Text = ""For j = 1 To 5 '列变量先循环colsum = 0For i = 1 To 4colsum = colsum + a(i, j)Next itxtcol.Text = txtcol.Text & Str(colsum)Next jEnd SubPrivate Sub cmdrow_Click() '"求行和"按钮Dim rowsum As Integertxtrow.Text = ""For i = 1 To 4 '行变量先循环rowsum = 0For j = 1 To 5rowsum = rowsum + a(i, j)Next jtxtrow.Text = txtrow.Text & CStr(rowsum) & vbCrLf Next iEnd SubPrivate Sub cmdclear_Click() '"清除"按钮Picture1.Clstxtcol.Text = ""txtrow.Text = ""End SubPrivate Sub cmdexit_Click() '"结束"按钮EndEnd Sub4. Option Base 1Private Sub Form_Click()Dim a() As Integer, b() As Integer, i As Integer, j As Integer, x As Integer, y As Integer x = InputBox("第一维上界")Do While Not IsNumeric(x)x = Int(InputBox("第一维上界"))Loopy = InputBox("第二维上界")Do While Not IsNumeric(x)y = Int(InputBox("第二维上界"))LoopReDim a(x, y)Print "原数组元素为:"For i = 1 To xFor j = 1 To ya(i, j) = Int(90 * Rnd) + 10Print a(i, j);Next jPrintNext iPrint "转置后数组元素为:"For i = 1 To yFor j = 1 To xPrint a(j, i);Next jPrintNext iEnd Sub5. Option Base 1Private Sub Form_Click()Dim a(10, 10) As Integer, i As Integer, j As IntegerFor i = 1 To 10For j = 1 To 10If i = j Or i + j = 11 Thena(i, j) = 0Elsea(i, j) = 1End IfPrint a(i, j);Next jPrintNext iEnd Sub6. Option ExplicitOption Base 1Private Sub Command1_Click()Dim i As Integer, j As Integer, n As Integer, k As Integer, a(11) As Integerj = 1For i = 3 To 21 Step 2a(j) = iPrint a(j);j = j + 1Next iPrintn = InputBox("请输入一个数")For i = 1 To 10If n = a(i) ThenFor j = i To 10a(j) = a(j + 1)k = k + 1Next jEnd IfNext iFor i = 1 To 9Print a(i);Next iEnd Sub7. Option Base 1Private Sub Form_Click()Dim a As V ariant, k As Integer, i As Integer, j As IntegerDim b As V ariantb = Array(17, 35, 128, 235, 89, 121, 143, 189, 231, 94)a = Array(11.3, 12.3, 12#, 11.8, 12.6, 11.6, 12.8, 11.8, 12.4, 12.1)For i = 1 To 9 '对数组a的元素排序k = iFor j = i + 1 To 10If a(k) > a(j) Then k = jNext jIf k <> i Then '数组b的元素随数组a的元素一起变动t = a(i)a(i) = a(k)a(k) = tt = b(i)b(i) = b(k)b(k) = tEnd IfNext iPrint "按名字的排列顺序为:"For i = 1 To 10If Len(b(i)) = 2 Then b(i) = "0" & b(i) '补上数组b中长度为2的编号前的"0"Print "第" & i & "名的号码为:" & b(i) & ",成绩为:" & a(i)Next iEnd Sub第7章过程二、单选题1.C2. D3.C4.D5. B6.A7. B8.B9.C 10.D11.C 12.D 13.B 14.B 15.C16.A17.B 18.B三、填空题1.52 512.4 118 353.1 3 5四.编程及上机调试:1. Private Sub Command1_Click()Dim n As IntegerFor n = 100 To 1600 Step 500Print "n="; n; "时π的近似值是:"; pi(n)Next nEnd SubPrivate Function pi(x As Integer) As SingleDim s As Single, k As Integer, m As Integers = 0k = 1m = 1Dos = s + m / km = -mk = k + 2Loop While k <= xpi = 4 * sEnd FunctionPrivate Sub Command2_Click()EndEnd Sub2. Private Sub Command1_Click()Dim x As Integer, i As Integerx = V al(Text1)For i = 1 To xIf prime(i) And prime(x - i) ThenLabel2 = Str(x) & "是" & Str(i) & "和" & Str(x - i) & "两个素数之和"Exit SubEnd IfNext iEnd SubPrivate Function prime(x As Integer) As BooleanFor i = 2 To Int(Sqr(x))If x Mod i = 0 Thenprime = FalseExit FunctionEnd IfNext iprime = TrueEnd FunctionPrivate Sub Command2_Click()EndEnd Sub3. Option ExplicitOption Base 1Dim a(10) As IntegerPrivate Sub Command1_Click()RandomizeDim i As IntegerFor i = 1 To 10a(i) = Int(Rnd * 90) + 10Text1 = Text1 + Str(a(i))Next iCall sort(a)For i = 1 To 10Text2 = Text2 + Str(a(i))Next iEnd SubPrivate Sub sort(a() As Integer)Dim k As Integer, i As Integer, j As Integer, t As Integer k = UBound(a)For i = 1 To k - 1For j = i + 1 To kIf a(i) < a(j) Thent = a(i)a(i) = a(j)a(j) = tEnd IfNext jNext iEnd SubPrivate Sub Command2_Click()EndEnd Sub4. Option ExplicitPrivate Sub Command1_Click()Dim i As Integer, j As Integer, s As IntegerFor i = 2 To 1000S=0For j=1 To i - 1If I mod j=0 Then s=s+jNext jIf s=i Then Print I,Next iEnd Sub5. Public a(10) As IntegerPublic Sub sort(a() As Integer)Dim i As Integer, j As Integer, t As IntegerFor i = 1 To UBound(a) - 1For j = i + 1 To UBound(a)If a(i) > a(j) Thent = a(i)a(i) = a(j)a(j) = tEnd IfNext jNext iEnd SubPublic Function max(a() As Integer) As Integermax = a(1)For i = 2 To UBound(a)If max < a(i) Thenmax = a(i)End IfNext iEnd Function窗体Form1代码Private Sub Command1_Click()Dim i As IntegerRandomizeFor i = 1 To UBound(a)a(i) = Int(Rnd * 90) + 11Text1 = Text1 & Str(a(i))Next iEnd SubPrivate Sub Command2_Click()Form1.HideForm2.ShowEnd SubPrivate Sub Command3_Click()Text2 = max(a)End SubPrivate Sub Command4_Click()EndEnd Sub窗体Form2代码Private Sub Command1_Click()Call sort(a)For i = 1 To UBound(a)Text1 = Text1 & Str(a(i))Next iEnd SubPrivate Sub Command2_Click()Form2.HideForm1.ShowEnd Sub第8章程序调试二.上机调试题1. Option ExplicitPrivate Sub Form_Click()Dim a() As Single, i As IntegerDim y As Singlei = 1DoReDim a(i) …改为ReDim Preserve A(I) a(i) = 1 / fib(i)If a(i) <= 0.0001 Then Exit Do …改为a(i) < 0.0001 y = y + a(i)i = i + 1LoopPrint "y="; yFor i = 1 To UBound(a)Print a(i);Next iEnd SubPrivate Function fib(i As Integer) As IntegerIf i = 1 Thenfib = 1ElseIf i = 2 Thenfib = 2ElseFib(i)= fib(i - 1) + fib(i - 2) …改为Fib=Fib(I-1)+Fib(I-2) End IfEnd Function2. Option ExplicitPrivate Sub Command1_Click()Dim i As Integer, k As Integer, st As StringFor i = 10 To 500If wanshu(i) Thenst = CStr(i)Text1.Text = Text1.Text & stCall test(st)Text1.Text = Text1.Text & Chr(13) & Chr(10)End IfNext iEnd SubPrivate Function wanshu(n As Integer) As BooleanDim i As Integer, sum As IntegerFor i = 2 To n – 1 …改为i=1If n Mod i = 0 Thensum = sum + iEnd IfNext iIf sum = n Then wanshu = TrueEnd FunctionPrivate Sub test(s As String)Dim i As Integer, sum As Integersum = 0 …位置错,和for 语句位置调换Do While Len(s) > 1For i = 1 To Len(s)sum = sum + V al(Mid(s, i, 1))Next iText1.Text = Text1.Text & "->" & Str(sum)s = Str(sum) … 改为s = CStr(sum) LoopEnd Sub第9章数据文件一、单选题1.B 2.C 3.A 4.B 5.C6.B 7.C 8.B 9.10.A11. 12.A13. 14. 15.A16.B二、编程及上机调试1.Private Sub Form_Load()Open "d:\my\text2.txt" For Output As #1End SubPrivate Sub Text1_keyPress(KeyAscii As Integer)If KeyAscii = 13 ThenIf Trim(Text1) = "0000" ThenClose #1EndEnd IfWrite #1, Text1Text1.Text = ""End IfEnd Sub2.Option ExplicitPrivate Type Studentname As String * 10age As IntegerEnd TypePrivate Sub Command1_Click()Dim Stu As StudentOpen "d:\my\text2.txt" For Random As #1 Len = Len(Stu) = "WangY ing"Stu.age = 20Put #1, , StuClose #1Open "d:\my\text2.txt" For Random As #1 Len = Len(Stu)Get #1, , StuPrint "姓名:", Print "年龄:", Stu.ageClose #1End Sub第10章其它控件二、选择题1.B 2.B 3.B 4.C 5.6.A,C 7.A 8.9.10.11. 12.B 13.三、填空题1.菜单编辑器2.下拉式菜单弹出式3.顶4.PopupMenu5.多文档窗体6.MDIChild7.Private Sub HScroll1_Change()text1 = HScroll1.V alueEnd SubPrivate Sub HScroll1_Scroll()text1 = HScroll1.V alueEnd Sub8.Private Sub Toolbar1_ButtonClick(ByV al Button As MSComctlLib.Button) Select Case Button.IndexCase 1Form1.BackColor = vbRedCase 2Form1.BackColor = vbGreenCase 3Form1.BackColor = vbBlueEnd SelectEnd Sub四、编程及上机调试1.Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, _X As Single, Y As Single)If Button = 1 ThenPicture1.PSet (X, Y)StatusBar1.Panels(1) = "X=" & XStatusBar1.Panels.Item(2) = "Y=" & YEnd IfEnd Sub2.Private Sub Command1_Click()CommonDialog1.FileName = ""CommonDialog1.InitDir = "D:\"CommonDialog1.Filter = "Word Files|*.doc|文本文件|*.Txt" '设置过滤器CommonDialog1.DialogTitle = "打开文件" '设置打开对话框的标题CommonDialog1.Action = 1 '创建"打开"对话框If CommonDialog1.FileName = "" Then '判断文件名是否为空MsgBox "没有选择文件", 37, "检查" '若为空,则显示信息ElseOpen CommonDialog1.FileName For Input As #1 '打开选定的文件Do While Not EOF(1)Line Input #1, a$ '读文件的一行Text1 = Text1 & a$ & vbCrLf '输出所读的内容LoopEnd IfEnd SubPrivate Sub Command2_Click()CommonDialog1.Flags = 3 '列出打印机和屏幕字体CommonDialog1.Action = 4 '打开"字体"对话框Text1.FontName = CommonDialog1.FontName '改变文本框的字体Text1.FontSize = CommonDialog1.FontSizeText1.FontBold = CommonDialog1.FontBoldText1.FontItalic = CommonDialog1.FontItalicText1.FontUnderline = CommonDialog1.FontUnderline End SubPrivate Sub Command3_Click()EndEnd Sub11章略。
同步练习1二、选择题01——05 CADAB06——10 ACDAB11——15 CBDBB同步练习2二、选择题01——05 ABDCA06——10 CACBC11——15 DADAD16——20 BDBBB三、填空题1.可视2.LEFT、TOP、WIDTH、HEIGHT3.按字母顺序4.查看代码5.工具、编辑器6.FORM窗体、FONT7.MULTILINE8.在运行时设计是无效的9.工程、工程属性、通用、FORM1.SHOW 10.TABINDEX、0同步练习3二、选择题01——05 BCADB06——10 ADBBC11——15 DBCBA16——20 BAABB三、填空题1.整型、长整型、单精度型、双精度型2.SIN(30*3.14/180)+SQR(X+EXP(3))/ABS(X-Y)-LOG(3*X) 3.164、今天是:3-194.FALSE5.-4、3、-3、3、-4、46.CDEF7.(X MOD 10)*10+X\108.(35\20)*20=20( 35 \ 20 )* 20 = 209.X MOD 3=0 OR X MOD 5=010.27.6、8.2、8、1、100、397、TRUE、FALSE同步练习4一、选择题01——05 DBCAD06——10 CBBAB11——15 D25BAC16——20 CBACB21——25 DAABC二、填空题1.正确性、有穷性、可行性、有0个或多个输入、有1个或多个输出2.1 2 33.X>=74.X<AMIN5.10246.117.128.6、I、”*”;9.0、100、I+110.2*I、6、”*”;三、编程题1.编程求n!,n从键盘输入。
Private Sub Form_Click()Dim n%, s%, i%n = Val(InputBox("请输入n的值:"))s = 1For i = 1 To ns = s * iNext iPrint n; "!="; sEnd Sub2.编程求100以内的全部质数。
习题一答案在教材上找。
习题二1.对象指现实世界中的实体。
每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。
类是对同一种对象的集合与抽象。
类包含所创建对象的属性数据,以及对这些数据进行操作的方法。
封装和隐藏是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。
VB工具箱中的可视图标是VB系统设计好的标准控件类。
通过将控件类实例化,得到真正的控件对象。
在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。
VB中常用的对象是控件。
此外,VB还提供了系统对象。
窗体是个特例,它既是类也是对象。
当向一个工程添加一个新窗体时,实质就由窗体类创建了一个窗体对象。
对象的三要素:属性、事件和方法。
属性:存放对象的数据(决定对象外观及功能)对象属性的设置方法:在设计阶段,利用属性窗口直接设置属性值;程序运行时,通过语句[对象名.]属性名=属性值。
若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。
事件:发生在对象上的事情。
同一事件,对不同的对象,会引发不同的反应。
事件过程:应用程序处理事件的步骤。
应用程序设计的主要工作就是为对象编写事件过程的代码。
方法:面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数。
方法是面向对象的,调用时一定要指明对象。
2.窗体和控件具有的基本属性“(1) Name属性:名称所创建的对象名称,在程序中引用。
(2) Caption属性:标题该属性决定了对象上显示的内容。
(3) Height、Width、Top和Left属性决定对象的大小和位置。
(4) Enabled 属性:对象是否允许操作(5) Visible 属性:对象是否可见(6) Font 属性组:文本的外观FontName字体、FontSize大小FontBold粗体、FontItalic斜体FontStrikethru 删除线FontUnderline 下划线(7) ForeColor属性:前景颜色(8) BackColor属性:背景颜色(9) MousePointer属性:鼠标指针类型, 设置值范围0~15,由系统指定。
VB课后习题解答第一、二章:1、简述VB6.0的主要特点答:方便、直观的可视化设计工具;面向对象程序设计方法;事件驱动的编程机制;易学易用的应用程序集成开发环境;结构化程序设计语言;完备的联机帮助功能;强大的多媒体、数据库和网络功能。
2、当正常安装VB6。
0后,误把Windows子目录删除。
当重新安装Windows后,是否需要再次安装VB6。
0?答:要重新安装的。
因为安装VB6。
0时,有些VB程序被系统自动安装在Windows目录下,所以一旦删除Windows子目录,就必须重新安装VB6。
0。
3、Visual Basic 6。
0分为学习版、专业版和企业版,如何知道所安装的是哪个版本?答:在VB6.0的启动界面上,能显示对应的版本.4、叙述建立一个完整应用程序的过程答:首先建立用户界面的控件对象(简称控件);然后对控件属性进行设置;再对控件事件过程及编程;保存应用程序;程序调试和运行。
5、Visual Basic 6。
0有多种类型窗口,若要在设计时看到代码窗口,应怎样操作?答:选择“视图"—>“代码窗口”命令或单击“工程资源管理器”窗口中的“查看代码"按钮。
6、当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
试问该工程涉及多少个要保存的文件?若要保存该工程的所有文件,应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息?答:涉及两个文件要保存.先保存窗体文件(.frm),再保存工程文件(.vbp)。
若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求先保存窗体文件。
7、保存文件时,若不改变目录名,则系统默认的目录是什么?答:系统默认的目录是VB988、安装Visual Basic 6。
0后,帮助系统是否也已安装?答:没有。
VB6.0的帮助系统在两张光盘上,即MSDN Library,其中还包含了VC、VFP等其他语言的帮助系统。
9、如何使用Visual Basic 6.0的帮助系统?答:最方便的方法是选定要帮助的内容,然后按F1功能键,这时系统打开MSDN Library查阅器,直接显示与选定内容有关的帮助信息。
vb程序设计课后习题答案VB程序设计课后习题答案在学习VB程序设计课程的过程中,课后习题是巩固知识、提高能力的重要环节。
通过认真完成课后习题,我们不仅可以加深对知识点的理解,还可以提高编程能力和解决问题的能力。
下面我将为大家分享一些VB程序设计课后习题的答案,希望能够对大家的学习有所帮助。
1. 编写一个VB程序,实现输入两个数,计算它们的和并输出。
```Private Sub btnCalculate_Click()Dim num1 As IntegerDim num2 As IntegerDim sum As Integernum1 = Val(txtNum1.Text)num2 = Val(txtNum2.Text)sum = num1 + num2lblResult.Caption = "结果为:" & sumEnd Sub```2. 编写一个VB程序,实现输入一个数,判断它是奇数还是偶数并输出。
Private Sub btnJudge_Click()Dim num As Integernum = Val(txtNum.Text)If num Mod 2 = 0 ThenlblResult.Caption = "这是一个偶数"ElselblResult.Caption = "这是一个奇数"End IfEnd Sub```3. 编写一个VB程序,实现输入一个数,计算它的阶乘并输出。
```Private Sub btnFactorial_Click()Dim num As IntegerDim result As IntegerDim i As Integernum = Val(txtNum.Text)result = 1For i = 1 To numresult = result * iNextlblResult.Caption = "结果为:" & resultEnd Sub```通过以上几个例子,我们可以看到,VB程序设计课后习题涵盖了基本的输入输出、运算符的使用、条件判断和循环等知识点。
第二章一、问答题1.叙述建立一个完整的应用程序的过程。
答:界面设计编写事件过程代码运行、调试保存文件2.当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
问该工程涉及到几个文件要保存?若要保存该工程中的所有文件,正确的操作应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息?答:涉及到两个文件要保存。
先保存窗体文件(.frm),再保存工程文件(.vbp)。
若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求把窗体文件先保存。
3.假定在W indows环境中,要保存工程文件时,若不改变目录名,则系统默认的目录是什么?答:VB984.当标签框的大小由Caption属性的值进行扩展和缩小,应对该控件的什么属性进行何种设置?答:将标签的Autosize设置为True.5.VB6.0提供的大量图形文件在哪个目录下?若你的计算机上没有安装,则怎样安装这些图形文件?答:VB6.0提供的图形文件在Graphics目录。
6.在VB6.0中,命令按钮的显示形式可以有标准和图形两种选择,这通过什么属性来设置?若选择图形的,则通过什么属性来装入图形?若已在规定的属性里装入了某个图形文件,但该命令按钮还是不能显示该图形,而显示的是Caption属性设置的文字,怎样改正?答:按钮Style的属性设置为Graphical(或1)。
通过Picture属性来装入图形。
不能显示图形是因为Style的属性设置为Standard(或0),只要改为Graphical(或1),一般还将Caption 属性的值设置为空。
7.标签和文本框的区别是什么?答:文本是否可编辑。
8.当窗体上有三个文本框和一个命令按钮,若程序运行时,需把焦点定位在第三个文本框处,应对何控件的什么属性进行何种设置?答:应对Text3控件进行Text3.TabIndex=0的设置。
9.简述文本框的change与keypress事件的区别。
答:文本框内容变化,change与keypress事件都会发生,所不同的是Keyprees还将返回一个Keyasii参数10.当某文本框输入数据后(按了回车键),进行判断认为数据输入错,怎样删除原来数据?怎样使焦点回到该文本框重新输入?答:假定文本框的名称为Text1,则事件过程如下:Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenIf 出错条件判断成立ThenText1=””…先删除原来数据Text1.SetFocus …焦点回到Text1End If……End IfEnd Sub11.在程序运行前,对某些控件设置属性值,除了在窗体中直接设置外,还可以通过代码设置,这些代码一般放在什么事件中?例如,程序要将命令按钮定位在窗体的中央,请写出事件过程。
答:这些代码一般都放在Form_Load()事件过程中。
要将按钮定位在窗体的中央,事件过程如下:Private Sub Form_Load()Command1.Left = form1.ScaleWidth \ 2 - Command1.Width \ 2Command1.Top = form1.ScaleHeight \ 2 - Command1.Height \ 2End Sub其中,ScaleWidth、ScaleHeight表示窗体的相对宽度和高度。
二、填空题1.对象的三要素为【属性、事件和方法】。
2. 在刚建立工程时,使窗体上的所有控件具有相同的字体格式,应对【form窗体】的【font】属性进行设置。
3. 当命令按钮的Picture属性装入.bmp图形文件后,选项按钮上并没有显示所需图形,原因是没有对【style】属性设置为1(Graphical)。
4. 在文本框中,通过【selstart】属性能获得当前插入点所在的位置。
5. 要对文本框中已有的内容进行编辑,按下键盘上的按键,就是不起作用,原因是设置了【locked】属性为True6. 在窗体上已建立多个控件如Text1,Label1,Command1,若要使程序一运行焦点就定位在Command1控件上,应对Command1控件设置【tabindex】属性的值为【0】。
第三章一、问答题1.VB提供了哪些标准数据类型?声明类型时,其类型关键字分别是什么?其类型符又是什么?答:见教材P39的表3.1 VB的基本数据类型2.哪种数据类型需要的内存最少,且可存储如3.2345这样的值。
答:Single(单精度型)3.将数字字符串转换成数值,用什么函数?取字符串中的某几个字符,用什么函数?大小写字母间的转换用什么函数?答:数字字符转换成数值用V al函数;取字符串中的某几个字符用mid函数或left 函数或right函数; 大小写字母间的互换用ucase或lcase函数。
4.下列哪些是VB合法常量,分别指出其类型(见P58习题三1)。
答:1(#)、3(!)、4(#)、6(%)、7($)、8($)、9(date)、10(#)、12(%)、14(%)、15(boolean)、18(!)一、填空题1.在程序运行过程中,若需对程序中使用到的变量声明均采用显式声明方式,则必须在程序设计时在通用声明段部分加上Option Explicit语句。
2.已知有如下声明语句:Dim a ,b as Integer则变量a的类型是variant(变体型)。
3.已知有如下四个算术运算符:*、Mod、/、+,*、/运算符的优先级别最高4.已知a=3.5,b=5.0,c=2.5,d=True,则表达式:a>=0 and a+c>b+3 or not d 的值是false5.数学表达式的VB 算术表达式为sin(15*3.14/180)+sqr(x+exp(3))/abs(x-y)-log(3*x)6. 数学表达式 的VB 算术表达式为(a+b)/(1/(c+5)-c*d/2)7. 数学表达式a acb b 242-+-的VB 算术表达式为(-b+sqr(b^2-4*a*c))/(2*a)8.表示x 是5的倍数或是9的倍数的VB 算术表达式为 x mod 5=0 or x mod 9=09.产生一个”C ”~”L ”范围内的大写字母表达式为chr(int(rnd*10+67)10.取字符变量S 中第五个字符起的6个字符的表达式为mid(S,5,6)11.表示10≤X <20的关系表达式为x>=10 and x<2012.表达式Dateadd(“m ”,1,#1/30/2000#)的结果为2000-2-2913.整型变量x 中存放了一个两位数,要将两位数交换位置,例如,13变成31,实现的表达式是(x mod 10)& x\1014.在直角坐标系中,x,y 是坐标系中任意点的位置,用x 与y 表示在第一或第三象限的表达式是x>0 and y>0 or x<0 and y<015.计算现在起离2010世界杯赛(2010年6月11日)举行还有多少天的函数表达式为DateDiff(“d ”,date,#6/11/2010#)16. 计算现在起离你毕业(2012年7月3日)还有多少个星期的函数表达式为DateDiff(“w ”,date,#7/3/2012#)17.表示S 字符变量是字母字符(不区分大小写字母)的逻辑表达式是ucase(S)>=”A ” and ucase(S)<=”Z ” 也可以是Lcase(S)>=”a ” and Lcase(S)<=”z ”18.x,y 之一小于z 的表达式为x<z and y>z or x>z and y<z第四章一、问答题1.结构化程序设计的三种基本结构是什么?答:顺序结构、选择结构和循环结构。
2.指出下列赋值语句中的错误(包括运行时的错误)(1)10x=sin (x )+y变量名不能数字打头 (2)c=3+sqr (-3)sqr 函数中的参数不能为负数 (3)c+x+y =c*y 赋值语句的左边不能是表达式(4)x=sin (x )/ (20 Mod 2 ) 分母不能为0()x y x e x 3ln 15sin 30--++cd c ba 2151-++3.msgbox 函数与inputbox 函数之间有什么区别?各自获得什么值?答:msgbox 函数的作用是打开信息框,等待用户选择按钮而inputbox 函数的作用是打开一个对话框,等待用户输入内容;msgbox 函数的返回值是1~7的整数值,而inputbox 函数的返回值是用户输入的数据,返回值的数据类型为字符型。
4.要使单精度变量x,y,z 分别保留1位、2位、3位小数,并在窗体显示,应使用什么函数? 如何编写对应的Print 方法?答:使用Format 函数,具体如下:Print format(x,”0.0”);format(y ,”0.00”);format(z,”0.000”)5.语句If <表达式> Then ……中的表达式可以是算术、字符、关系、逻辑表达式中的哪些? 答:可以是算术表达式,关系表达式和逻辑表达式6.指出下列语句中的错误(1) if x ≥y then print x 正确的写法:x>=y(2) if 10 < x < 20 then x=x+20 正确的写法:x>10 and x<207.在多分支结构的实现中,可以用If <表达式> Then …ElseIf 形式的语句,也可以用Select Case … End Select 形式的语句,由于后者的条件语句更灵活、简洁,是否完全可以取代前者?答:不可以。
Select Case … End Select 形式的语句的使用是受到限制的。
只能用在对一个变量条件的判断。
若要对多个变量条件进行判断,只能使用If <表达式> Then …ElseIf 形式的语句8.计算下列循环语句的次数(1) For i=-3 to 20 step 4 循环次数为:6(2) For i=-3.5 to 5.5 step 0.5 循环次数为:19(3) For i=-3.5 to 5.5 step -0.5 循环次数为:0(4) For i=-3 to 20 step 0死循环 9.如果事先不知道循环次数,如何用FOR …Next 结构来实现?答:可先设循环变量的终值为一个较大的值,然后在循环体内嵌套条件分支10. 如何书写Do …Loop 结构,使得循环体至少执行一次?答:do Loop while <条件>….11.当发现了死循环,如何终止循环答:按ctrl+break键中断程序12.如何在程序中设置断点?如何去除断点?答:设置断点的方法是将光标移到要设置断点的代码行,按F9或单击调试工具栏的”切换断点”按钮。