vb程序设计教程第四版课后答案
VisualBasic程序设计教程第版课后部分编程题参考答案(一)
VisualBasic程序设计教程第版课后部分编程题参考答案(一)Visual Basic 程序设计教程是程序员必备的一本教材。
而其第四版中也包含了大量课后编程题,能够帮助读者深入理解 Visual Basic 程序设计的核心内容。
本文就来为大家介绍一下这部分编程题的参考答案。
一、数据类型和运算符1. 将两个整数相加Dim num1, num2, result As Integernum1 = 10num2 = 20result = num1 + num2MsgBox ("The result of adding " & num1 & " and " & num2 & " is " & result & ".")2. 将两个小数相减Dim num1, num2, result As Doublenum1 = 2.5num2 = 1.2result = num1 - num2MsgBox ("The result of subtracting " & num2 & " from " & num1 & " is " & result & ".")3. 将两个字符拼接在一起Dim str1, str2, result As Stringstr1 = "Hello"str2 = "World"result = Str1 + Str2MsgBox ("The result of concatenating " & str1 & " and " & str2 & " is " & result & ".")二、程序结构和函数1. 将两个整数相加并返回结果Public Function Add(ByVal num1 As Integer, ByVal num2 As Integer) As IntegerDim result As Integerresult = num1 + num2Return resultEnd Function2. 获取当前日期和时间Dim currentDateTime As StringcurrentDateTime = Now()MsgBox ("The current date and time is " & currentDateTime & ".")3. 显示一个消息框并返回用户的选择Dim userInput As IntegeruserInput = MsgBox("This is a prompt. Would you like tocontinue?", vbYesNoCancel, "Message Box Test")MsgBox ("Your choice was " & userInput & ".")三、数组和结构1. 将一个整数数组按照升序排列Dim numArray() As IntegernumArray = {5, 10, 2, 8, 1}Array.Sort(numArray)MsgBox ("The sorted array is " & Join(numArray, ", ") & ".")2. 创建一个结构体表示一个人,包含姓名、年龄和性别字段Public Structure PersonPublic Name As StringPublic Age As IntegerPublic Gender As StringEnd Structure3. 创建一个数组表示一个班级的学生,使用 Person 结构体表示每个学生的信息Dim students(2) As Personstudents(0).Name = "Tom"students(0).Age = 16students(0).Gender = "Male"students(1).Name = "Jane"students(1).Age = 15students(1).Gender = "Female"students(2).Name = "Bob"students(2).Age = 17students(2).Gender = "Male"四、文件和数据库1. 读取一个文本文件中的内容并显示Dim filePath As String ="C:\Users\UserName\Documents\MyFile.txt"Dim fileText As StringfileText = File.ReadAllText(filePath)MsgBox ("The contents of the file are " & fileText & ".")2. 将一个字符串写入到一个新建的文本文件中Dim filePath As String ="C:\Users\UserName\Documents\NewFile.txt"Dim fileContent As StringfileContent = "This is the content of the new file."File.WriteAllText(filePath, fileContent)MsgBox ("The file was created and the following content was written to it: " & fileContent & ".")3. 从一个 SQL 数据库中查询某个表格的内容Dim connectionString As String = "DataSource=myServerName;Initial Catalog=myDataBase;UserId=myUsername;Password=myPassword;"Dim query As String = "SELECT * FROM myTable"Dim dataTable As New DataTable()Using connection As New SqlConnection(connectionString)connection.Open()Using command As New SqlCommand(query, connection)Using adapter As New SqlDataAdapter(command)adapter.Fill(dataTable)End UsingEnd UsingEnd UsingMsgBox ("The following records were retrieved from the database: " & vbNewLine & DataTableToString(dataTable))这些编程题的参考答案可以帮助读者理解 Visual Basic 程序设计的一些基本概念和技术,希望读者能够结合自己的实际情况进行学习和练习,不断提高自己的编程水平。
《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.在程序运行前,对某些控件设置属性值,除了在窗体中直接设置外,还可以通过代码设置,这些代码一般放在什么事件中?例如,程序要将命令按钮定位在窗体的中央,请写出事件过程。
vb程序设计教程参考答案
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是否是中间位数,若是输出“是回文数”,否则输出“不是回文数”。
VB程序设计教程课后参考答案概要
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.CDEF10.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 "第二个根是:", x2Else2Print "该方程有两个虚根:"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))If (a + b > c And Abs(a - b) < c) Or (a + c > b And Abs(a - c) < b) Or ((b + c) > a And Abs(b - c) < a) Thenp = (a + b + c) / 2s = Sqr(p * (p - a) * (p - b) * (p - c))Print "三角形的面积是:" & sElsePrint "很抱歉,不能构成合法的△三角形!"End IfEnd Sub6.Option ExplicitPrivate Sub Command1_Click()Dim ji%, tu%For ji = 1 To 27For tu = 1 To 27If ji * 2 + tu * 4 = 78 And ji + tu = 27 ThenPrint "鸡的个数是:" & jiPrint "兔的个数是:" & tuEnd IfNextNextEnd Sub7.Option ExplicitPrivate Sub Command1_Click()Dim i%Dim s#, t#s = 10t = 10For i = 1 To 7t = t * 0.4s = s + t * 2NextEnd Sub8.Option ExplicitPrivate Sub Command1_Click()Dim i%, fs%, max%, min%, s%Dim ave#fs = Val(InputBox("please input score:", "info", 90))s = fsmax = fsmin = fsFor i = 2 To 7fs = Val(InputBox("please input score:", "info", 90))If max < fs Thenmax = fsEnd IfIf min > fs Thenmin = fsEnd Ifs = s + fsNextave = (s - max - min) / 5Print "该运动员的平均成绩是:" & aveEnd Sub9. ‘同学们,这道题方法很多,主要考察你对选择结构的理解,我给出其中一种方法。
VB程序设计课后习题答案
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课后习题答案第一章习题参考答案一、填空题1、对象事件驱动2、编译运行模式解释运行模式二、简答题1、简述VB的特点。
答:①可视化的程序设计方法②面向对象的程序设计思想③事件驱动的编程机制④结构化的程序设计语言⑤高度的可扩充性⑥强大的数据库访问能力⑦支持动态数据交换⑧支持对象链接与嵌入2、简述VB的安装过程。
答:①向光驱中放入VB安装光盘;②计算机将运行自动安装程序,若没有,执行VB 目录下的Setup.exe;③根据提示逐一回答问题,并点击“下一步”;④点击“完成”;2、如何启动VB。
答:三种方法:①单击“开始”按钮,选择“程序”菜单下的“Microsoft Visual Basic 6.0 中文版”菜单项并单击;②双击桌面上的VB6.0快捷图标;③在“开始”菜单的运行对话框中输入命令来启动VB;第二章习题参考答案一、选择题:1-10、 DCACD BCBBC11-20、BADCA BBAAB21-29、AACBB CDDC二、填空题1.窗体、控件2.属性值3.属性窗口设置、代码窗口设置4.事件过程5.对象名、下划线、事件名6. Form_Click第三章习题参考答案一、选择题1、B2、C3、A4、B5、A6、C7、C二、填空题1、 11字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。
String、Byte、Integer、Long、Single、Double、Currency、Boolean、Date、Object、Variant2、双引号(英文)、#3、 ASCII、1、24、 public、通用、Dim、Static、Private、Static5、 &、+、+6、 Now()、Time、日期型三、解答题1、(3)2、(1 )3、(1)常量(关键字)(2)字符型常量(3)逻辑型常量(4)变量(5)字符串常量(6)变量(7)字符串常量(8)变量(9)日期型常量(题目应是#11/16/1999#)(10)数值型常量(单精度)4、315、(1)(1+y/x)/(1-y/x) (2)x^3+3*x*y/(2-y)(3)sqr(abs(a*b-c^3)) (4)sqr(s*(s-a)*(s-b)*(s-c))6、7、(1)13 (2)17(3)#1999-11-12# (4)zxy123ABC(3)5.25 (4)27)16 (8)“-459.65” (9)510、(4)11、(2)12、(4)第四章习题参考答案一、选择题:1—7: DAABBCD二、填空题1. 500.00%2.将字号扩大为原来的二倍3. B三、编程题(略)1.文本框、标签和命令按钮的名称分别为text1、label1、command1Private Sub Command1_Click()Label1.caption=text1.textCommand1.caption=text1.textEnd Sub2.单价、数量、折扣和应付款对应的文本框的名称分别为:text1、text2、text3和text4,计算和清除命令按钮的名称分别为:command1和command2。
(完整word版)Visual-Basic程序设计教程(第4版)实验答案[2]模板
※声明:1.实验所属课本原件为《Visual Basic程序设计教程(第4版)(□主编龚沛曾□编者杨志强陆慰民谢步瀛)》;2.实验答案代码采用红色字体突出;3.仅提供课本前七个实验的代码,之后的实验上课考试均不涉及故不作;4.教学平台上机实验、课本篇后实验,两者题目操作略有差异,作业以前者要求为准,故以下答案代码为前者代码,如对后者代码有所需求请私信;5.本文为作者原创,复制转载请注明出处;6.如果对代码有所疑问,或者略感繁琐想直接要已完成实验,请私信;7.浏览、复制、下载后请给作者一个合理的评价,感激不尽。
实验1-1编制简单的欢迎界面程序。
要求:在屏幕上显示“欢迎学习Visual Basic”;在文本框Text1中输入姓名;单击命令按钮“你输入的姓名是”,在Label3标签显示在文本框中输入的姓名。
程序运行效果如图2.1.1所示。
程序以“学号-1-1.frm”和“学号-1-1.vbp”文件名保存。
以后每个实验项目的命名规则都是如此,即“学号-实验号-实验题目”。
(如某同学的学号为A10414001,所完成的是实验2的第3题,那么程序文件名为“A10414001-2-3.frm”和“A10414001-2-3.vbp”)图2.1.1 实验1.1运行界面提示:(1) 实验所用到的控件及属性设置见表2.1.1。
表2.1.1属性设置控件名属性Label1 Caption="欢迎学习Visual Basic";Font属性:字号为二号,字体为隶书,Aligment=2(居中)Label2 Caption="请输入你的姓名";Font属性:字体为楷体,有下划线Label3 Caption="",BorderStyle=1Private Sub Command1_Click() Label3.Caption = Text1.Text End Sub实验1-2Label1 Caption="我开始学习程序设计";FontSize=36;BackStyle=0Command1 Caption="";Style=1;Picture="clock02.ico";ToolTipText="自动"Command2 Caption="";Style=1;Picture="key04.ico";ToolTipText="手动"Timer1 Interval=0注:因为印刷错误,例题1.1中两个命令按钮的图形与事件过程代码不一致,需要调整。
VB程序设计教程(第四版)龚沛曾习题答案
VB程序设计教程(第四版)龚沛曾课后习题答案目录:第1章Visual Basic程序设计入门第2章面向对象的可视化编程基础第3章VB程序设计基础第4章基本控制结构第5章数组第6章过程第7章用户界面设计第8章数据文件第9章图形操作第10章ADO数据库编程基础第3章1、合法的有:(1)单精度(3)单精度(4)双精度(6)整形(7)字符型(9)日期型(10)双精度(12)八进制表示(14)十六进制表示(15)逻辑型(18)单精度数2、合法变量有:(1),(2),(6),(9),(10),(11)3、算术表达式写成VB表达式(1)abs(x+y) +z^5(2)(1 + x * y )^ 6(3)(10*x + sqr(3*y) ) / (x * y )(4)( -b+sqr(b^2-4*a*c) )/2/a(5)1 / (1/r1+1/r2+1/r3)(6)sin(45*3.14/180)+ ( exp(10)+ log(10) )/ sqr( x+y+1)4、根据条件写出相应的VB表达式(1) chr( int ( Rnd * 10 +67 )(2) int ( Rnd * 101 +100 )(3) x * y >0(4) x/5=0 or x /7 =0(5) (x mod 10) 10 + x /10(6)Round(123.2389*100)/100(7) Ucase (c ) >=‖A‖and Ucase(c )<=‖Z‖or Lcase (c ) >=‖a‖and Lcase(c )<=‖z‖(8) Mid ( s, 5, 6 )(9) x >=10 and x <20(10) ( x < z and y >z ) or ( x >z and y < z)(11) x>z and y > z5、下出下列表达式的值:(1)123+23 mod 10 \ 7 +Asc(―A‖)【188】(2)100+‖100‖& 100 【200100】(3)Int ( 68.555*100+0.5)/100 【68.56】(4)已知A$=“87654321‖,求表达式Val(Left$(A$,4)+ Mid(A,4,2))的值【876554】(5)DateAdd(―m‖,1,#1/30/2000#) 【2000-2-29】(6)Len(‖VB程序设计‖)【6】6、利用shell函数在VB程序中分别指向画图word程序。
VB程序设计教程课后答案
VB程序设计教程课后答案VB程序设计是一门广泛应用于Windows平台的编程语言,它结合了基本的编程概念和用户界面设计,使得开发者可以轻松创建功能强大的应用程序。
本文将为您提供VB程序设计教程课后答案,帮助您更好地理解和掌握VB程序设计的知识。
第一章:入门篇1. 什么是VB程序设计?VB程序设计是一种使用Visual Basic语言编写应用程序的过程。
它可以用于开发Windows桌面应用程序、数据库应用程序、Web应用程序等。
2. VB程序设计的基本组成部分有哪些?VB程序设计的基本组成部分包括窗体(Form)、控件(Controls)、事件(Events)和代码模块(Code Module)。
3. 如何创建一个VB程序?要创建一个VB程序,首先打开Visual Studio开发环境,然后选择新建项目,选择Visual Basic,再选择Windows桌面应用程序模板,最后输入项目名称并点击确定即可。
4. 如何添加窗体和控件?在VB程序中,可以通过拖放方式添加窗体和控件。
在工具箱中选择所需的控件,然后将其拖放到窗体上即可。
5. 如何给控件添加事件?控件的事件是在特定的操作或触发条件下执行的代码。
要给控件添加事件,可以在属性窗口中选择事件选项卡,然后双击所需的事件即可。
第二章:基本语法篇1. VB程序中如何定义变量?在VB程序中,可以使用Dim语句来定义变量。
例如,Dim num As Integer表示定义一个整型变量num。
2. 如何进行条件判断?在VB程序中,可以使用If...Then...Else语句进行条件判断。
例如,If num > 0 Then表示如果num大于0,则执行某些操作。
3. 如何进行循环操作?在VB程序中,可以使用Do...Loop语句、For...Next语句或While...Wend语句进行循环操作。
例如,Do While num > 0表示当num大于0时,执行某些操作。
VB程序设计教程 习题解答
《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编程的常用命令。
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 8、 安装 Visual Basic 6.0后,帮助系统是否也已安装? 答:没有。VB6.0的帮助系统在两张光盘上,即 MSDN Library,其中还包含了 VC、VFP 等其他语言的帮 助系统。 9、 如何使用 Visual Basic 6.0的帮助系统? 答:最方便的方法是选定要帮助的内容,然后按 F1功能键,这时系统打开 MSDN Library 查阅器,直接 显示与选定内容有关的帮助信息。 10、 什么是类?什么是对象?什么是事件过程? 答:类是同类对象集合的抽象,它规定了这些对象的公共属性和方法; 对象是类的一个实例,对象包含三个要素:属性、方法和事件。 当在对象上发生了事件后,应用程序就要处理这个事件,而处理的步骤就是事件过程。 11、 属性和方法的区别是什么? 答:属性是对象的特征,方法是对象的行为。前者有值,可以被赋值或引用;后者没有值,表示能够执 行的操作。 12、 当标签边框的大小由 Caption 属性的值进行扩展或缩小时,应对该控件的什么属性进行何种设置? 答:将该控件的 Autosize 属性值设置为 true。 13、 在 VB6.0中,命令按钮的显示形式可以有标准的和图形的两种选择,它们通过什么属性来设置?若选 择图形的,则通过什么属性来装入图形?若已在规定的属性里装入了某个图形文件,但该命令按钮还是 不能显示该图形,而显示的是 Caption 属性设置的文字,应怎样修改? 答: 命令按钮的显示形式通过将 Style 属性值设置为 Graphical 来实现。 通过 Picture 属性来装入图形。 不
VB程序设计教程课后答案
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程序设计教程课后答案
第3章:略(在书本上) 1、 合法的有: (1)单精度(3)单精度(4)双精度(6)整形(7)字符型(9)日期型(10)双精度(12) 八进制表示(14)十六进制表示(15)逻辑型(18)单精度数 2、 合法变量有: (1) , (2) , ( 6) , (9) , (10) , (11)
3、 算术表达式写成 VB 表达式 (1)| x+y | + z5 abs(x+y) +z^5
答:private sub command1.click() x=val( text1) if x > 20 then y = x * x + 3 * x +2 elseif x>=10 then y = sqr ( 3 * x ) – 2 elseif x>0 then y= 1 / x + Abs ( x ) end if print y end sub (3)利用 ifห้องสมุดไป่ตู้语句和 iif 函数两种方法求三个数 x,y,z 中的最大值并存入变量 max 中。 if x>y then max=x else max = y if z>max then max = z max = iif ( x>y , x , y ) : max = iif ( max >z, max , z ) 8、 在多分支结构的实现中,可以用 if……then……elseif……endif 形式的语句,也可以用 select case…end Select 形式的语句,由于后者的条件书写更灵活、简洁,是否完全可以取代前者? 答:虽然 Select Case……end Select 形式的语句中条件书写更灵活、简洁,程序可读性强,但使用它有限 制。 (适合于对一个变量判断的) 首先,看该语句的形式: Select Case <变量或表达式> case < 表达式列表1 > < 语句块1 > case < 表达式列表2> < 语句块2 > … [ Case else
VB程序设计教程课后答案解析
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。
大学计算机VB程序设计教程课后答案
第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章略。
vb程序设计课后习题答案
vb程序设计课后习题答案VB程序设计课后习题答案在学习VB程序设计过程中,课后习题是巩固知识、提高编程能力的重要环节。
本文将为大家提供一些VB程序设计课后习题的答案,希望能够帮助大家更好地理解和掌握相关知识。
1. 编写一个VB程序,实现计算两个数的和、差、积、商的功能。
答案:```vbPrivate Sub btnCalculate_Click()Dim num1 As DoubleDim num2 As Doublenum1 = CDbl(txtNum1.Text)num2 = CDbl(txtNum2.Text)lblSum.Caption = "和:" & num1 + num2lblDifference.Caption = "差:" & num1 - num2lblProduct.Caption = "积:" & num1 * num2If num2 <> 0 ThenlblQuotient.Caption = "商:" & num1 / num2ElselblQuotient.Caption = "除数不能为0"End IfEnd Sub```2. 编写一个VB程序,实现判断一个数是否为素数的功能。
答案:```vbPrivate Sub btnCheckPrime_Click()Dim num As IntegerDim i As IntegerDim isPrime As Booleannum = CInt(txtNum.Text)isPrime = TrueIf num < 2 ThenlblResult.Caption = "不是素数"Exit SubEnd IfFor i = 2 To Int(Sqr(num))If num Mod i = 0 ThenisPrime = FalseExit ForEnd IfNext iIf isPrime ThenlblResult.Caption = "是素数"ElselblResult.Caption = "不是素数"End IfEnd Sub```3. 编写一个VB程序,实现将一个字符串中的大写字母转换为小写字母,小写字母转换为大写字母的功能。
vb程序设计课后习题答案
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、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
vb程序设计教程第四版课后答案【篇一:visual_basic程序设计教程(第4版)_课后答案】>第一章习题参考答案一、填空题1、对象事件驱动2、编译运行模式解释运行模式二、简答题1、简述vb的特点。
答:①可视化的程序设计方法②面向对象的程序设计思想③事件驱动的编程机制④结构化的程序设计语言⑤高度的可扩充性⑥强大的数据库访问能力⑦支持动态数据交换⑧支持对象链接与嵌入2、简述vb的安装过程。
答:①向光驱中放入vb安装光盘;②计算机将运行自动安装程序,若没有,执行vb目录下的setup.exe;③根据提示逐一回答问题,并点击“下一步”;④点击“完成”;2、如何启动vb。
答:三种方法:①单击“开始”按钮,选择“程序”菜单下的“microsoft visual basic6.0 中文版”菜单项并单击;②双击桌面上的vb6.0快捷图标;③在“开始”菜单的运行对话框中输入命令来启动vb;第二章习题参考答案一、选择题:1-10、 dcacdbcbbc11-20、badcabbaab21-29、aacbbcddc二、填空题1.窗体、控件2.属性值3.属性窗口设置、代码窗口设置4.事件过程5.对象名、下划线、事件名6. form_click第三章习题参考答案一、选择题1、b2、c3、a4、b5、a6、c7、c二、填空题1、 11字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。
string、byte、integer、long、single、double、currency、boolean 、date、object、variant2、双引号(英文)、#3、 ascii、1、24、 public、通用、dim、static、private、static5、、+、+6、 now()、time、日期型三、解答题1、(3)2、(1 )3、(1)常量(关键字)(2)字符型常量(3)逻辑型常量(4)变量(5)字符串常量(6)变量(7)字符串常量(8)变量(9)日期型常量(题目应是#11/16/1999#)(10)数值型常量(单精度)4、315、(1)(1+y/x)/(1-y/x) (2)x^3+3*x*y/(2-y)(3)sqr(abs(a*b-c^3))(4)sqr(s*(s-a)*(s-b)*(s-c))6、7、(1)13 (2)17(3)#1999-11-12#(4)zxy123abc8、(1)19(2)8.16666666666667(3)5.25(4)29、(1)-4 (2)2 . 82842712474619(3)-3(4)49(5)”hello”(6)he7)16 (8)“-459.65” (9)510、(4)11、(2)12、(4)第四章习题参考答案一、选择题:1—7: daabbcd二、填空题1. 500.00%2.将字号扩大为原来的二倍3. b三、编程题(略)1.文本框、标签和命令按钮的名称分别为text1、label1、command1 private sub command1_click()label1.caption=text1.textcommand1.caption=text1.textend sub2.单价、数量、折扣和应付款对应的文本框的名称分别为:text1、text2、text3和text4,计算和清除命令按钮的名称分别为:command1和command2。
private sub command1_click()text4=val(text1)*val(text2)*val(text3)end subprivate sub command2_click()text1=”” : text2=””: text3=””: text4=””end sub3.文本框、“转大写”命令按钮和“转大写”命令按钮的名称分别为text1、command1和command2private sub command1_click()text1=ucase(text1)end subprivate sub command2_click()text1=lcase(text1)end sub第五章习题参考答案一、选择题:1—11: caabbabbbcc1.(3) 2. 1 2 3 3.223 4.160 5.9 6.78 7.x=5 (或x6 或 x7) 8.b9.isum isum+j 1250三、编程题1.private sub form_click()dim i%,s%s=0for i = 101 to 200 step 2if i mod 30 thenprint is=s+iend ifnext iprint send sub2.private sub form_click()dim n%,ss=1:n=0while s=400000n=n+1s=s*nwendif s400000 then n=n-1print nend sub3.private sub form_click()dim imin%,imax%,i%,r%imin=100:imax=20for i=1 to 20r=int(rnd*51+50)if rimax then imax=rif rimin then imin=rnext iprint imax,iminend sub第六章习题参考答案一、选择题:1—13: abaaccbadadbb1.intervallabel1.caption=time2.list1.listcountinterval三、编程题1. private sub command1_click()if option1.value = true and option3.value = true then text1.fontname = 宋体text1.fontsize = 8end ifif option1.value = true and option4.value = true then text1.fontname = 宋体text1.fontsize = 12end ifif option2.value = true and option3.value = true then text1.fontname = 黑体text1.fontsize = 8end ifif option2.value = true and option4.value = true then text1.fontname = 黑体text1.fontsize = 12end ifend sub hscroll1.max2.9.timer的enable 为falseinterval 为100private sub command1_click()timer1.enabled = trueend subprivate sub command2_click()timer1.enabled = falseend subprivate sub timer1_timer()汽车.left =汽车.left + 100end sub第七章习题参考答案一、选择题:1—12: dcadd bbdac cb二、填空题1.42 2.index 3.414.a(i)=a(11-i) a(11-i)=tmp5.1 6.x mod 7=0 7.2108.0 to 8i+1 to 99.3 k110. 1001max maxarrn(i) (或者arrn(i)max)三、编程题1.private sub c1_click()if op1(0).value=true then p1.print “选择了椭圆形”if op1(1).value=true then p1.print “选择了圆形”if op1(2).value=true then p1.print “选择了正方形”end sub2.统计按钮名为command1,输入框名为text1,输出框为text2(multline设为true)private sub command1_click()dim x(1 to 26) as integer,i as integerdim s as string,l as integerl=len(text1.text)for i=1 to ls=mid(text1,i,1)s=ucase(s)if s = a and s = z then【篇二:vb程序设计教程课后答案(第三版)】找。
习题二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,由系统指定。