VB程序设计教程第四版课后答案

合集下载

vb程序设计教程习题答案

vb程序设计教程习题答案

vb程序设计教程习题答案VB程序设计教程习题答案在学习VB程序设计的过程中,经常会遇到各种习题,这些习题旨在帮助我们巩固所学的知识,提高编程能力。

然而,有时候我们可能会遇到一些难以理解的问题,或者是不知道如何去解决的问题。

因此,本文将为大家提供一些VB程序设计教程习题的答案,希望能够帮助大家更好地理解和掌握VB程序设计。

1. 编写一个程序,实现两个数的加法运算。

答案:```vbDim num1 As IntegerDim num2 As IntegerDim sum As Integernum1 = InputBox("请输入第一个数")num2 = InputBox("请输入第二个数")sum = num1 + num2MsgBox("两个数的和为:" & sum)```2. 编写一个程序,实现输出1到100之间的所有偶数。

答案:```vbFor i = 1 To 100If i Mod 2 = 0 ThenMsgBox(i)End IfNext```3. 编写一个程序,实现输入一个数字,判断该数字是奇数还是偶数。

答案:```vbDim num As Integernum = InputBox("请输入一个数字")If num Mod 2 = 0 ThenMsgBox(num & "是偶数")ElseMsgBox(num & "是奇数")End If```通过以上习题的答案,我们可以看到VB程序设计的一些基本语法和逻辑运算,这些知识对于我们日后的编程学习和实践都是非常重要的。

希望大家能够通过不断地练习和思考,掌握VB程序设计的相关知识,成为优秀的程序设计师。

VisualBasic程序设计教程第版课后部分编程题参考答案(一)

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程序设计》课后题答案

《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程序设计教程参考答案

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程序设计教程习题答案

vb程序设计教程习题答案VB程序设计教程习题答案VB程序设计是一门广泛应用于软件开发领域的编程语言,它具有易学易用的特点,被广大程序员所喜爱。

在学习VB程序设计的过程中,习题是一个非常重要的环节,通过解答习题可以帮助我们巩固所学的知识,提高编程能力。

下面我将给出一些VB程序设计教程习题的答案,希望对初学者有所帮助。

1. 编写一个VB程序,实现计算两个数的和并输出结果的功能。

答案:```Public Class Form1Private Sub Button1_Click(sender As Object, e As EventArgs) HandlesButton1.ClickDim num1 As IntegerDim num2 As IntegerDim sum As Integernum1 = Integer.Parse(TextBox1.Text)num2 = Integer.Parse(TextBox2.Text)sum = num1 + num2MessageBox.Show("两个数的和为:" & sum)End SubEnd Class```2. 编写一个VB程序,实现判断一个数是奇数还是偶数的功能。

答案:```Public Class Form1Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.ClickDim num As Integernum = Integer.Parse(TextBox1.Text)If num Mod 2 = 0 ThenMessageBox.Show("这个数是偶数")ElseMessageBox.Show("这个数是奇数")End IfEnd SubEnd Class```3. 编写一个VB程序,实现计算一个数的阶乘的功能。

VB程序设计教程课后参考答案概要

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程序设计 习题及答案第4章 选择结构程序设计

VB程序设计 习题及答案第4章 选择结构程序设计

第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程序设计课后习题答案

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程序设计教程 第四版 课后答案

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。

VB教材课后习题答案

VB教材课后习题答案

<大学程序设计基础-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程序设计教程(第四版)龚沛曾习题答案

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程序设计教程课后答案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程序设计教程 习题解答

《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程序设计教程课后答案解析

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程序设计课后习题参考答案(编码)

大学VB程序设计课后习题参考答案(编码)

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程序设计书习题和参考答案

vb程序设计书习题和参考答案

vb程序设计书习题和参考答案练习题习题一一、判断题1.Visual Basic是以结构化的Basic语言为基础、以事件驱动作为运行机制的可视化程序设计语言。

2.面向对象的程序设计是一种以对象为基础,由事件驱动对象的编程技术。

3.事件是由Visual Basic预先定义的对象能够识别的动作。

4.新建工程时系统会自动将窗体标题设置为Form1。

5.控件的属性值不能够在程序运行时动态地修改。

6.决定对象是否可见的属性为Visible属性,决定对象可用性的属性是Enabled属性。

7.保存Visual Basic文件时,若一个工程包含多个窗体或模块,则系统先保存工程文件,再分别保存窗体或模块文件。

8.单击“启动”菜单项将窗体装入内存时,一定触发窗体的Load事件。

9.“事件过程”是用来完成事件发生后所要执行的程序代码。

10.在打开某窗体时,初始化该窗体中的各控件,应选用Load事件。

二、选择题1.工程文件的扩展名为。

A、.frxB、.basC、.vbpD、.frm2.下列不属于对象的基本特征是。

A、属性B、方法C、事件D、函数3.在设计模式双击窗体将显示的窗口是A、工程窗口B、工具箱C、代码窗口D、属性窗口4.VB中运行程序的快捷键是A、F2B、F5C、Alt+F3D、F85.改变控件在窗体中的上下位置应修改该控件的属性。

A、TopB、LeftC、WidthD、Right6.窗体模块的文件扩展名是A、.exeB、.basC、.frxD、frm7.设置窗体的字体用属性。

A、FontNameB、FontSizeC、FontBoldD、FontItalic8.设置窗体的字号用属性。

A、FontNameB、FontSizeC、FontBoldD、FontItalic 9.下列选项中不属于事件的是。

A、DblclickB、LoadC、ShowD、KeyUp10.VB编制的程序保存在磁盘上,至少会产生何种文件。

A、.doc与.txtB、.com与.exe.C、.bat与.frmD、.vbp与.frm三、程序设计题1.新建一个工程,单击窗体时,在窗体上显示“欢迎使用Visual Basic程序”。

VB课后习题答案---选择题

VB课后习题答案---选择题

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 )属性来设置。

大学计算机VB程序设计教程课后答案

大学计算机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章略。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Function isp(y%) As Boolean i = 2: k = Int(y / 2) Do While i <= k If y Mod i = 0 Then Exit Do i=i+1 Loop If i > k Then
2.统计按钮名为 Command1 ,输入框名为 text1 ,输出框为 text2(MultLine 设为 True)
Private Sub Command1_click()
Dim X(1 to 26) AS Integer,I As Integer
Dim S As String,L As Integer
Case 4 WeekDay=”星期四 ” Case 5 WeekDay=”星期五 ” Case 6 WeekDay=”星期六 ” End Select End Function
5.Function Rand30(ByVal X As`Integer) As Integer Randomize Rand30=Int(Rnd*X+1) End Function Sub Command1_Click() For i=1 To 30 Print Rand30(100) Next i End Sub
第八章 习题参考答案 一、选择题: 1—10: DCBBDDDBCB 二、填空题 1.a Ubound(b) n=n-1 2.Key=a(i) Index=-1 三、编程题
1.子过程 Sub P1(x As Single, esp As Single) Dim p!,S!,F!,i% P=1:S=1:i=1:F=x Do P=P*i S=S+F/p Loop Until Abs(F/p)<ESP Print s
text1 、 command1 和
第五章 习题参考答案 一、选择题: 1—11: CAABBABBBCC 二、填空题 1.(3) 2. 1 2 3 3.2 2 3 4. 160 5. 9 6.78 7.x<=5 (或 x<6 或 x<7) 8. B 9.iSum iSum+j 1250 三、编程题 1.Private Sub Form_Click() Dim i%,s% S=0 For i = 101 To 200 step 2 If i mod 3<>0 then Print i S=s+i End If Next i Print s
L=Len(Text1.text)
For i=1 To L
S=Mid(Text1,I,1)
S=Ucase(S)
If S >= "A" And S <= "Z" Then
x(Asc(S) - 65 + 1) = x(Asc(S) - 65 + 1) + 1
End If
Next i
For i=1 To L
8、( 1) 19 ( 2) 8.16666666666667 (3) 5. 25 (4) 2
9、( 1) -4 (2) 2 . 82842712474619 ( 3) -3 ( 4) 49 (5) ” hello (”6 )He
7)16 ( 8) “-459.65 ”( 9) 5 10、( 4) 11、( 2) 12、( 4) 第四章 习题参考答案 一、选择题:
第二章 习题参考答案 一、选择题: 1-10、 DCACD BCBBC 11-20、 BADCA BBAAB 21-29、 AACBB CDDC 二、填空题 1. 窗体、控件 2. 属性值 3. 属性窗口设置、代码窗口设置 4. 事件过程 5. 对象名、下划线、事件名 6. Form_Click
第三章 习题参考答案 一、选择题
4.Function WeekDay(ByVal x As Integer) As String Select Case x Case 0 WeekDay=”星期日 ” Case 1 WeekDay=”星期一 ” Case 2 WeekDay=”星期二 ” Case 3 WeekDay=”星期三 ”
End Sub 子函数 Function P2(x As Single, esp As Single) As single Dim p!,S!,F!,i% P=1:S=1:i=1:F=x Do P=P*i S=S+F/p Loop Until Abs(F/p)<ESP P2=s
End Function
Text2=text2 & Chr(64+i) &
“ =” & x(i) & “ “
If I Mod 7=0 then Text2=text2 & chr(13)+chr(10)
Next i
End Sub
3.设学生成绩的平均分已在 Mark(1) 至 Mark(10) 中 ,学生姓名在 name(1) 至 name(10) 中。 Private Sub Command1_click() Dim I%,J%,T%,S$ For i=1 To 9 For j=i+1 To 10 If Mark(i)<MARK(J) Then T=Mark(i):Mark(i)=Mark(j):Mark(j)=T S=name(i):name(i)=name(j):name(j)=S Next J Next i For i=1 To 10 Print Name(i),Mark(i) Next i End Sub
End Sub
2.Private Sub Form_Click() Dim n%,s& S=1:n=0 While s<=400000
N=n+1 S=s*n Wend If s>400000 Then n=n-1 Print n End Sub
3.Private Sub Form_Click() Dim imin%,imax%,i%,R% Imin=100:imax=20 For i=1 to 20 R=Int(Rnd*51+50) If R>imax Then imax=R If R<IMIN Then imin="R Next i Print imax,imin End Sub
量(单精度)
4、31 5、( 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
Text4=val(text1)*val(text2)*val(text3)
End Sub
Private Sub Command2_Click()
Text1= ”” : Text2= ”” : Text3= ”” : Text4= ”” End Sub
3.文本框、 “转大写 ”命令按钮和 “转大写 ”命令按钮的名称分别为 command2 Private Sub Command1_Click() Text1=Ucase(text1) End Sub Private Sub Command2_Click() Text1=Lcase(text1) End Sub
2.Swap2 能实现数据交换。 因为地址传递方式形参和实参有共同的地址, 会引起实参的变化(即形参将值回传给nction LF( ByVal x As Single) As Single LF=X*X*X End Function Sub Command1_Click() Dim I% For i=1 To 20 Print I, LF(i) Next i End Sub
Command1.caption=text1.text
End Sub
2.单价、数量、折扣和应付款对应的文本框的名称分别为:
text1 、 text2 、 text3 和 text4 ,
计算和清除命令按钮的名称分别为: command1 和 command2 。
Private Sub Command1_Click()
6.Function F1(ByVal X As`Single, ByVal Y As`Single) As Integer If X>Y Then F1=X Else F1=Y End If End Function 7. Function GDBH(ByVal x%) As String Dim i% For i = 3 To x - 3 Step 2 If isp(i) And isp(x - i) Then GDBH = i & "+" & (x - i) & "=" & x Exit Function End If Next End Function
1、B 2、 C 3、 A 4、B 5、 A 6、 C 7、 C 二、填空题
1、 11 字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、 变体型。 String、 Byte、 Integer 、 Long、 Single、 Double、 Currency、 Boolean 、Date、 Object 、 Variant
2、 双引号 (英文 )、# 3、 ASCI、I 1 、2 4、 public 、通用、 Dim、 Static、Private、 Static 5、 &、 +、+ 6、 Now()、 Time 、日期型 三、解答题
1、(3) 2、 (1 )
3、( 1)常量(关键字) ( 2)字符型常量 ( 3)逻辑型常量 ( 4)变量 ( 5)字符串常量 ( 6) 变量 (7)字符串常量 ( 8)变量 ( 9)日期型常量 (题目应是 #11/16/1999# ) ( 10)数值型常
相关文档
最新文档