《Visual Basic程序设计基础》教材习题参考答案
《Visual Basic程序设计基础》教材习题参考答案第六章
第6章图形控件和图形方法一、判断题1.√2.×3.√4.×5.√6.×7.×8.×9.√10.√二、选择题1.C 2.B 3.C 4.A 5.A 6.C 7.A 8.C 9.C 10.B 11.A 12.B 13.B 14.C 15.C三、填空题1.Circle (ScaleLeft + ScaleWidth / 2, ScaleTop + ScaleHeight / 2), 8002.LoadPicture 3.AutoSize、Stretch、False、False 4.选中、属性5.形状、矩形6.Picture1.Picture=LodePicture("C:\Windows\Cloud.bmp")7.图片框、其他控件8.缇、SclaeMode 9.颜色10.颜色、圆弧起点处转角、圆弧终点处转角、椭圆纵轴与横轴长度之比四、程序阅读题程序1. 转动一条红色直线,其轨迹形成一个圆程序2. 在窗体上随机的位置、用随机的颜色、半径绘制1000个空心的圆。
程序3. 在图片框内绘制多个黄色边框矩形,填充样式在“实心”、“透明”间交替变换。
五、程序填空题1.(1)Combo1.ListIndex (2)Shape1.BorderStyle (3)Combo2.AddItem Str(i) 2.(1)Call pic (2)False (3)n = n + 1 (4)LoadPicture("c:\windows\1.bmp") (4)LoadPicture(fn)六、程序设计题程序1.界面设计略,过程设计如下:Private Sub Form_Load()Picture1.ScaleMode = 3End SubPrivate Sub Command1_Click()Dim x1 As Single, y1 As Single, x2 As Single, y2 As Singlex1 = InputBox("x1="): y1 = InputBox("y1=")x2 = InputBox("x2="): y2 = InputBox("y2=")Picture1.Line (x1, y1)-(x2, y2), , BEnd Sub程序2.界面设计略,过程设计如下:Private Sub Form_click()Dim r As Single, xo As Single, yo As SingleIf Form1.ScaleHeight < Form1.ScaleWidth Thenr = Form1.ScaleHeight / 3Elser = Form1.ScaleWidth / 3End Ifxo = Form1.ScaleLeft + Form1.ScaleWidth / 2yo = Form1.ScaleTop + Form1.ScaleHeight / 2Form1.FillStyle = 0: Form1.FillColor = vbBlueForm1.DrawWidth = 2: Form1.ScaleMode = 6Form1.Circle (xo, yo), r, vbYellowEnd Sub程序3.界面设计略,过程设计如下:Private Sub Form_Load()Dim i As IntegerFor i = 1 To 7: List1.AddItem i: Next iForm1.ScaleMode = 1End SubPrivate Sub List1_Click()Form1.Cls: Form1.ScaleMode = List1.TextForm1.Circle (Form1.ScaleLeft + Form1.ScaleWidth / 2, _ Form1.ScaleTop + Form1.ScaleHeight / 2), 50End Sub。
《Visual Basic程序设计基础》陈庆章 课后习题参考答案精编版
《Visual Basic程序设计基础》教材习题参考答案第1章 Visual Basic 6.0程序设计概述一、判断题1.√2.√3.×说明:同类控件(如两个标签)相互重叠,设计时可以设置“置前”、“置后”属性。
4.√5.×6.√7.×8.√9.√10.×11.√12.√13.×14.√15.×16.√17.√18.√19.√20.√二、选择题1. C2. B 3.D 4.C 5.B 6.A 7.D 8.A 9.B 10.A 11.C 12.D三、填空题1.对象、事件2.属性、方法、事件3.控件、屏幕(Screen)4.对象5.Left、Top 6.属性、<对象名>.<属性名>=<表达式> 7.网格8.F o rm19.Load或Initialize或Resize或Activate(自动执行的先后顺序也按此排列)10.Activate、Deactivate四、程序设计题程序1.界面设计参看图10-1、10-2以及表10-1。
表10-1 实例2各控件的主要属性设置过程设计如下:Private sub Form_Click()Command2.Enabled = FalseEen SubPrivate Sub Command1_Click()Label2.Visible = FalseLabel1.Caption = Text1.Text + ": 欢迎使用" + Label1.CaptionText1.Visible = FalseCommand1.Enabled = False: Command2.Enabled = TrueEnd SubPrivate Sub Command2_Click()EndEnd Sub程序2.界面设计略,过程设计如下:Private Sub Command1_Click() '字体变大Form1.FontSize = Form1.FontSize + 3Form1.Cls: Print "欢迎使用VB"End SubPrivate Sub Command2_Click() '字体变小Form1.FontSize = Form1.FontSize - 3Form1.Cls: Print "欢迎使用VB"End SubPrivate Sub Command3_Click() '字体加粗Form1.FontBold = TrueForm1.Cls: Print "欢迎使用VB"End SubPrivate Sub Command4_Click() '字体不加粗Form1.FontBold = FalseForm1.Cls: Print "欢迎使用VB"End Sub运行时,不得连续、过多次单击“字体变小”按钮,因为当FontSize属性值小于0会产生适时错误。
visual basic 程序设计课后习题参考答案
[Exit Function] End Function
(4). Function 过程的调用方法: ①直接调用 像使用 VB 内部函数一样,只需写出函数名
和相应的参数即可 ②用 Call 语句调用 与调用 Sub 过程一样来调用 Function
过程,当用这种方法调用 Function 过程时,将会放弃返回值 3、简述 VB 过程中参数传递的两种方式。
第五章 数 组
4
一、选择题
1 2 3 4 5 6 7 8 9 10 DADEBBCCC A
二、填空题
1 2、12、1、3、-1、2 0123 2222
2 2101 4444
3 name、index 4 preserve、erase 5 ubound、lbound
第六章 过 程
一、选择题
1 2 3 4 5 6 7 8 9 10 DCDCBABAB D 11 12 13 14 15 16 17 18 19 20 ACCDABCDB C
二、填空题
1 bas 2 形式、实际 3 a()、Ubound(b)、n=n-1 4 30、70 5 fedcba、static
三、简答题
6 static 7 static 8 12、7 9 visual basic 程序设计 10 -100
1、简述事件过程和通用过程的含义和联系。
5
VB 应用程序是由过程组成的,过程是完成某种特殊功能的一 组独立的程序代码。VB 中的过程有两大类:事件过程和通用过程
Visual basic 程序设计习题参考答案
第一章 Visual basic 程序设计
一、选择题
1 2 3 4 5 6 7 8 9 10
DC
CDCBAC B
Visual Basic程序设计基础第4章习题参考答案
1.执行下面的程序段后,x 的值为 A 。
x=5For i=1 To 20 Step 2x=x+i\5Next iA.21 B.22 C.23 D.242.在窗体上画两个文本框(其【Name】属性分别为“Text1”和“Text2”)和一个命令按钮(其【Name】属性为“Command1”),然后编写如下事件过程:Private Sub Command1_Click()x=0Do While x<50x=(x+2)*(x+3)n=n+1LoopForm1.Print xForm1.Print nEnd Sub程序运行后,单击命令按钮,窗体上显示的值分别为 B 。
A.1和0 B.2和72 C.3和50 D.4和1683.执行下面的程序段后,s的值为 C 。
s=5For i = 2.6 To 4.9 Step 0.6s=s+1Next iA.7 B.8 C.9 D.104.执行下面的程序段后,s的值为 A 。
s = 0i = 1N=1Do While i < Ns = s + ii = i + 1LoopA.0 B.1 C.2 D.35.执行下面的程序段后,s的值为 B 。
s = 0i = 1N=1Dos = s + ii = i + 1Loop While i < NA.0 B.1 C.2 D.31.在空白处填上代码以完成整个循环。
For i = l To 10Print Tab(16 - i);For j = 1 TO 2 * i - 1Print "*"Next jPrint '换行Next i2.补充代码,以完成查找75最大公约数的功能。
For i=36 To 1 Step -1If 75 mod i == 0 ThenPrint "75最大公约数为",iExit ForEnd ifNext i3.补充代码,以完成查找35和75最大公约数的功能。
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 程序设计的一些基本概念和技术,希望读者能够结合自己的实际情况进行学习和练习,不断提高自己的编程水平。
《Visual Basic程序设计教程》习题参考答案
第1章习题一、选择题1. B2. A3. B4. A二、填空题1. 事件驱动或消息驱动2. 工程资源管理器、窗体三、问答题1. 11个菜单项。
文件菜单包括新建工程、打开工程、添加工程、移除工程、保存工程、工程另存为、保存窗体文件、窗体文件另存为、打印、打印设置、生成可执行文件等命令项;编辑菜单(命令项略,以下同)、视图菜单、工程菜单、格式菜单、调试菜单、运行菜单、查询菜单、图表菜单、工具菜单、外接程序菜单、窗口菜单、帮助菜单。
2. 可以自行定义。
标准工具栏中有添加工程、添加窗体、菜单编辑器、打开工程、保存工程、剪切、复制、粘贴、查找、撤销、恢复、启动、中断、结束、工程资源管理器、属性窗口、窗体布局窗口、对象浏览器、工具箱、数据视图窗口等按钮。
四、编程题(略)第2章习题一、选择题1. A二、练习题1. S1. 把x赋值给同类型变量t;S2. 把y赋值给x;S3. 把t赋值给y。
2. S1. 输入a、b、c;S2. 如果a<b,则交换a与b的数据;S3. 如果a<c,则交换a与c的数据;S4. 如果b<c,则交换b与c的数据;S5. 输出a、b、c。
3. S1. 输入整数N;S2. 给整数K赋值2;S3. 如果K大于N-1,则转S6;S4.如果N除以K 的余数为0,则转S7;S5. K加1再赋值给K,转S3.;S6. 如果K大于N-1,则N为素数;否则N不是素数。
4. S1. 输入整数N;S2. 将N赋值给K;S3. 给整数nx赋值0;S4. 计算nx乘以10加K除以10的余数,再赋值给nx;S5. 计算K除以10的整数商,赋值给K;S6. 如果K>0,则转S4;否则,转S7;S7. 如果N=nx,则N为回文数,否则N不是回文数。
5.6.第3章习题一、选择题1. D2. C3. A4. B5. D6. A7. B8. D9. B 10. D 11. A . 12. C 13. C 14. C二、填空题1. 标题、引用2. ②④⑤3. 64. GotFocus、Resize5. AddItem、Clear6. Label,CommandButton,OptionButton,CheckBox,Frame、TextBox,ListBox,ComboBox7. PictureBox,Frame8. OptionButton,CheckBox,HScrollBar,VScrollBar、OptionButton、CheckBox,HScrollBar,VScrollBar三、问答题1. 答:对象的只读属性的属性值(如名称属性)只能在设计界面时在属性窗口进行设置;非运行属性的属性值则既可在设计界面时在属性窗口进行设置,也可通过程序代码进行设置与修改。
visual_Basic程序设计教程_课后习题答案及练习
第三章 VB基本语言
一、填空题
1、一般可以使用__________关键字声明常量。
2、______类型也称变体类型,是一种通用的、可变的数据类型,它可表示或存储任何一种
数据类型。
3、变量的声明分为两种方法:__________和____________。 4、在VB中,用___________________语句设定数组的下界,用_____________ 和__________________语句分别返回数组的上、下界。 5、在代码模块中加入Option Explicit的目的是 _____________________。 6、function aa (a1 as date,optional a2 as boolean) as single,写出optional 命令的作用__________________。 7、在VB中,我们用一个简单的______语句就能实现退出程序。 8、生成消息框的命令是____________,生成输入框的命令是 ____________。 9、通用对话框(commondialog)属activex控件,它可以显示多个标准 对话框,包括打开/另存为、字体、打印等对话框,若要显示所有文 件,则应设置其属性filter=____________,若要使它显示为打印对话 框,则应使用什么方法____________。 10、从字符串中任意位置截取字符的函数是__________。 11、语句For j = 3 To 20 Step 3 使循环体执行了______次。 12、对于正在使用的动态数组Arraya(),要增加一个单元,但不能破坏数组内的数据,则应
二、选择题
1、下面不是VB工作模式的是( ) A.设计模式 B.运行模式 C.汇编模式 D.中断模式 2、可视化编程的最大优点是( ) A.具有标准工具箱 B.一个工程文件由若干个窗体文件组成 C.不需要编写大量代码来描述图形对象 D.所见即所得 3、下列不能打开属性窗口的操作是( ) A.执行“视图”菜单中的“属性窗口”命令 B.按F4键 C.按Ctrl+T D.单击工具栏上的“属性窗口”按钮 4、下列可以打开立即窗口的操作是( ) A.Ctrl+D B.Ctrl+E C.Ctrl+F D.Ctrl+G 5、Visual Basic的编程机制是( ) A.可视化 B.面向对象 C.面向图形 D.事件驱动
《Visual Basic程序设计教程(第2版)》课后部分编程题参考答案
第1章1. 按要求设置窗体属性2.在窗体上建立一个标签Label1。
程序代码如下:Private Sub Form_Click()Label1.Caption = "你单击了窗体"End SubPrivate Sub Form_DblClick()Label1.Caption = "你双击了窗体"End Sub3.在窗体上建立两个文本框Text1(输入数)、Text2(输出数)和一个命令按钮Command1。
两个文本框的Text属性均为空。
Private Sub Command1_Click()Dim x As Singlex = Val(Text1.Text)Text2.Text = 15 * xEnd Sub第2章1~3题:按要求完成操作练习。
4. Private Sub Command1_Click() '"最大化"按钮Form1.WindowState = 2 '最大化End SubPrivate Sub Command2_Click() '"还原"按钮Form1.WindowState = 0 '还原End SubPrivate Sub Command3_Click() '"最小化"按钮Form1.WindowState = 1 '最小化End Sub5.在窗体上建立三个文本框Text1(第一个数)、Text2(第二个数)、Text3(计算结果)和一个命令按钮Command1(“计算”)。
Private Sub Command1_Click()Dim x As SingleDim y As Singlex = Val(Text1.Text)y = Val(Text2.Text)Text3.Text = x * x + y * yEnd Sub6. 在窗体上建立两个文本框Text1(输入一串字符)、Text2(输出结果)和一个命令按钮Command1。
Visual Basic程序设计习题答案(VB理论教材1~6章)
第一章VB概述一.选择题二.填空题1.视图工具箱2.对象事件驱动3.代码窗体设计器4.属性方法事件5.对象的特征6.一个对象可执行的动作7.属性窗口赋值语句三.简答题1.略2.略四.编程题【属性窗口设置】Caption 这是我的第一个练习【代码窗口设置】Private Sub Form_Click()Print "我可以用Visual Basic语言编写程序了!"End Sub第二章窗体与常用控件一.选择题二.填空题1.Value2.下拉列表框3.Scroll4.LargeChange5.ASCII码6.Enabled7.ListCount8.PopupMenu9.Alt10.复选11.CommonDialog1.ShowColor 或者 ShowColor12.Flags13: 114.-15.GFED第三章VB程序设计基础一.选择题二.填空题1.Right(CStr(x) , 1) & Left(CStr(x) , 1)2.x Mod 5=0 Or x Mod 9=03.False4.CDEF5.s >= "A" And s <= "Z" Or s >= "a" And s <= "z"6. x >= 0 And x < 1007.Int(Rnd * (X - 2) + 3)8.Sqr(cos(23 * 3.14 / 180) / (x ^ 2 * Log(y)))9.-4 -5 -410."请输入圆的半径:" "求圆的面积" 211."圆的半径值必须介于1到10之间,请重输" 48 "求圆的面积"第四章VB控制结构一.选择题二.填空题1. 4.8 202. y = 113. 1!+2!+3!+4!+5!4. 9k5. 0n6. 27. x >= 0x > max8. 5 713 1214 119.sum=0sum+jst & k & "+"10.4111011. i + 1List1.RemoveItem j12.Combo1.List(i)=Combo1.Textflag = FalseCombo1.AddItem Combo1.Text 三.编程题1.Private Sub Form_Click()Dim x As Singlex = Val(InputBox("请输入一个x的值:")) If x <= 0 Thenfx = -1ElseIf x < 1 Thenfx = Sqr(x)Elsefx = x ^ 3 + 2End IfMsgBox ("运算结果为:" & fx)End Sub2.Private Sub Form_Click()Dim n As Integer, k As Integer, s As Stringn = Val(InputBox("请输入一个正整数:"))k = 2s = n & "="DoIf n Mod k = 0 Thens = s & k & "*"n = n \ kElsek = k + 1End IfLoop Until n = ks = s & kPrint sEnd Sub3.Private Sub Form_Click()Dim s As String, i As IntegerDim a As Integer, b As Integer, c As Integer, d As Integer, e As Integer s = Text1.TextFor i = 1 To Len(s)If Mid(s, i, 1) >= "0" And Mid(s, i, 1) <= "9" ThenIf Val(Mid(s, i, 1)) Mod 2 <> 0 Thena = a + 1Elseb = b + 1End IfElseIf Mid(s, i, 1) >= "A" And Mid(s, i, 1) <= "Z" Thenc = c + 1ElseIf Mid(s, i, 1) >= "a" And Mid(s, i, 1) <= "z" Thend = d + 1Elsee = e + 1End IfNext iPrint "奇数个数为:"; aPrint "偶数个数为:"; bPrint "大写字母个数为:"; cPrint "小写字母个数为:"; dPrint "其他字符个数为:"; eEnd Sub4.Private Sub Form_Click()Dim n As Integer, sum As Integern = Val(InputBox("请输入一个正整数:"))Do Until n = 0sum = sum + n Mod 10n = n \ 10LoopMsgBox ("各位数字之和为:" & sum)End Sub5.Private Sub Form_Click()Dim n As Long, i As Integer, L As Integern = Val(InputBox("请输入一个正整数:"))L = Len(CStr(n))For i = 1 To L / 2If Mid(CStr(n), i, 1) <> Mid(CStr(n), L, 1) Then Exit ForEnd IfL = L - 1Next iIf i > L / 2 ThenMsgBox ("该数是回文数。
《Visual Basic程序设计基础》教材习题参考答案第九章
第9章数据库与数据访问技术一、判断题1. √2. √3. ×4. √5. ×6. ×7. √8. √9. ×10.×11.√12.√13.√14.√15.√16.×17.×18.×19.√20.√21.√22.×二、选择题1.A2.D3.C4.B5.C6.A7.C8.D9.D 10.C 11.A 12.D 13.A 14.B 15.B 16.C三、程序设计题程序1.(1)数据访问控件以及数据绑定控件的相关属性设置如下Data1:Connect("Access")、DatabaseName("d:\学籍.mdb")、RecordSource("学生)" Text1:DataSource("Data1")、DataField("学号")Text2:DataSource("Data1")、DataField("姓名")Check1:DataSource("Data1")、DataField("性别")Text3:DataSource("Data1")、DataField("出生日期)Text4:DataSource("Data1")、DataField("奖学金")Text5:DataSource("Data1")、DataField("简历")OLE1:DataSource("Data1")、DataField("照片")Adodc1:ConnectionString("Provider = Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info = False") CommandType("1-adCmdText")、RecordSource("select * from 成绩") DataGrid1:DataSource("Adodc1")(2)主要事件过程代码Option ExplicitPrivate Sub Form_Load()Caption = "学籍信息编辑浏览"Label1.Caption = "学号:" : Label2.Caption = "姓名:"Label3.Caption = "出生年月:" : Label4.Caption = "奖学金:"Label5.Caption = "简历:" : Label6.Caption = "照片:"Check1.Caption = "性别(选中表示男,否则为女)"Label7.Caption = "成绩信息查询显示": Adodc1.Visible = FalseEnd SubPrivate Sub Data1_Reposition()Adodc1.RecordSource = "select 成绩.课程号,课程名,成绩from 学生,课程,成绩" _ & "where 学生.学号= 成绩.学号and " & "成绩.课程号= 课程.课程号and " & _ "成绩.学号='" & Data1.Recordset("学号") & "'" & " order by 成绩.课程号" Label7.Caption = Trim(Data1.Recordset("姓名")) & "成绩信息查询显示" Adodc1.RefreshEnd Sub程序2.(1)数据访问控件以及数据绑定控件的相关属性设置如下:Adodc1:ConnectionString("Provider=Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info = False"CommandType("1-adCmdText")、RecordSource("select * from 学生)DataGrid1:DataSource("Adodc1")(2)主要事件过程代码Option ExplicitPrivate Sub Form_Load()Dim i As IntegerCaption = "学籍信息查询浏览": Adodc1.Visible = FalseLabel1.Caption = "选择查询方式:": Combo1.Text = "全部都显示"Label2.Caption = "全部表文件数据浏览表格:" : Label3.Visible = False Text1.Visible = False: Text1.Text = ""For i = 0 To 2Combo1.AddItem Mid("全部都显示按学号查询按姓名查询", 5 * i + 1, 5) Next iEnd SubPrivate Sub Combo1_Click()Select Case Combo1.ListIndexCase 0Text1.Visible = False: Label3.Visible = FalseAdodc1.RecordSource = "select * from 学生"Label2.Caption = "全部表文件数据浏览表格:": Adodc1.Refresh Case 1Label3.Caption = "输入查询条件(学号):" : Text1.Visible = True Label3.Visible = True: Text1.SetFocusCase 2Label3.Caption = "输入查询条件(姓名):" : Text1.Visible = True Label3.Visible = True: Text1.SetFocusEnd SelectEnd SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyReturn ThenIf Combo1.ListIndex = 1 ThenAdodc1.Recordset.MoveFirstAdodc1.Recordset.Find "学号='" & Text1.Text & "'"If Adodc1.Recordset.EOF ThenAdodc1.RecordSource = "select * from 学生"Label2.Caption = "全部表文件数据浏览表格:"Adodc1.Refresh: MsgBox "查无此人!"ElseAdodc1.RecordSource = "select * from 学生 " & "where _学号='" & Text1.Text & "'"Label2.Caption = "学生" + Text1.Text + "的数据浏览表格:"End IfElseAdodc1.Recordset.MoveFirstAdodc1.Recordset.Find "姓名='" & Text1.Text & "'"If Adodc1.Recordset.EOF ThenAdodc1.RecordSource = "select * from 学生"Label2.Caption = "全部表文件数据浏览表格:"Adodc1.Refresh: MsgBox "查无此人!"ElseAdodc1.RecordSource = "select * from 学生 " & _"where 姓名='" & Text1.Text & "'"End IfEnd IfAdodc1.RefreshEnd IfEnd Sub程序3.(1)数据访问控件以及数据绑定控件的相关属性设置如下:Adodc1(xs):ConnectionString("Provider=Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info=False")CommandType("2-adCmdTable")、RecordSource("学生")Adodc2(kc):ConnectionString("Provider=Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info=False")CommandType("2-adCmdTable")、RecordSource("课程")Adodc3(cjcx):ConnectionString("Provider=Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info=False")CommandType("1-adCmdText")RecordSource(" select 成绩.学号,学生.姓名,成绩.课程号,课程.课程名, _ 成绩.成绩 from 学生,课程,成绩 where 成绩.课程号 = 课程.课程号 _and 成绩.学号 = 学生.学号 "DataGrid1:DataSource("cjcx")DataList1:RowSource("xs")、ListField ("姓名")、BoundColumn("学号") DataList2:RowSource("kc")、ListField("课程名")、BoundColumn("课程号")(2)主要事件过程代码Option ExplicitDim p As BytePrivate Sub Form_Load()Dim i As IntegerFor i = 0 To 4Label1(i).Caption = Mid("优秀良好中等及格差等", 2 * i + 1, 2)Text1(i).Text = "": Text1(i).BackColor = RGB(205, 205, 192)Text1(i).Locked = TrueNext icjcx.RecordSource = "select 成绩.学号,学生.姓名,成绩.课程号,课程.课程名, " _ & "成绩.成绩from 学生,课程,成绩 " & _"where 成绩.课程号=课程.课程号 and 成绩.学号=学生.学号"cjcx.Refresh: Label2.Caption = "成绩信息列表"Label3.Caption = "选择学生姓名:" : Label4.Caption = "选择课程名:" xs.Visible = False: kc.Visible = False: cjcx.Visible = False Caption = "学籍信息查询": p = 0End SubPrivate Sub DataList1_Click()p = 0: Call cjdctjEnd SubPrivate Sub DataList2_Click()p = 1: Call cjdctjEnd SubPrivate Sub cjdctj()Dim cjdcjs(5) As Integer, dcase As Byte, i As ByteIf p = 0 Thencjcx.RecordSource = "select 成绩.学号,学生.姓名,成绩.课程号, " _ & "课程.课程名,成绩.成绩 from 学生,课程,成绩 " _& "where 成绩.学号='" & DataList1.BoundText & "' " _& "and (成绩.课程号=课程.课程号 and " _& "成绩.学号=学生.学号) order by 成绩.课程号"Frame1.Caption = "单位:门"Label2.Caption = Trim(DataList1.Text) & "成绩信息列表"Elsecjcx.RecordSource = "select 成绩.学号,学生.姓名,成绩.课程号, " _ & "课程.课程名,成绩.成绩 from 学生,课程,成绩 " _& "where成绩.课程号='" & DataList2.BoundText & "' " _& "and (成绩.课程号=课程.课程号 and " _& "成绩.学号=学生.学号) order by 成绩.学号"Frame1.Caption = "单位:人"Label2.Caption = Trim(DataList2.Text) & "成绩信息列表"End Ifcjcx.RefreshIf Not cjcx.Recordset.EOF Then cjcx.Recordset.MoveFirstWhile Not cjcx.Recordset.EOFIf cjcx.Recordset("成绩") < 60 Thendcase = 0Elsdcase = (cjcx.Recordset("成绩") \ 10) – 5End IfSelect Case dcaseCase 4, 5: cjdcjs(0) = cjdcjs(0) + 1Case 3: cjdcjs(1) = cjdcjs(1) + 1Case 2: cjdcjs(2) = cjdcjs(2) + 1Case 1: cjdcjs(3) = cjdcjs(3) + 1Case 0: cjdcjs(4) = cjdcjs(4) + 1End Selectcjcx.Recordset.MoveNextWendFor i = 0 To 4: Text1(i).Text = cjdcjs(i): Next iEnd Sub程序4.(1)数据访问控件以及数据绑定控件的相关属性设置如下:Adodc1:ConnectionString("Provider = Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info = False")CommandType("2-adCmdTable")、RecordSource("学生")LockType("4-adBatchOptimistic)Adodc2:ConnectionString("Provider = Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info=False")CommandType("2-adCmdTable")、RecordSource("课程")LockType("4-adBatchOptimistic")Adodc3:ConnectionString("Provider = Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info = False")CommandType("2-adCmdTable")、RecordSource("成绩")LockType("4-adBatchOptimistic")Text1:用于显示编辑"学号",但是本字段不设置数据绑定属性,输入或修改后的"学号"数据通过代码方式写入数据源中。
《Visual Basic程序设计基础》教材习题参考答案第九章
第9章数据库与数据访问技术一、判断题1. √2. √3. ×4. √5. ×6. ×7. √8. √9. ×10.×11.√12.√13.√14.√15.√16.×17.×18.×19.√20.√21.√22.×二、选择题1.A2.D3.C4.B5.C6.A7.C8.D9.D 10.C 11.A 12.D 13.A 14.B 15.B 16.C三、程序设计题程序1.(1)数据访问控件以及数据绑定控件的相关属性设置如下Data1:Connect("Access")、DatabaseName("d:\学籍.mdb")、RecordSource("学生)" Text1:DataSource("Data1")、DataField("学号")Text2:DataSource("Data1")、DataField("姓名")Check1:DataSource("Data1")、DataField("性别")Text3:DataSource("Data1")、DataField("出生日期)Text4:DataSource("Data1")、DataField("奖学金")Text5:DataSource("Data1")、DataField("简历")OLE1:DataSource("Data1")、DataField("照片")Adodc1:ConnectionString("Provider = Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info = False") CommandType("1-adCmdText")、RecordSource("select * from 成绩") DataGrid1:DataSource("Adodc1")(2)主要事件过程代码Option ExplicitPrivate Sub Form_Load()Caption = "学籍信息编辑浏览"Label1.Caption = "学号:" : Label2.Caption = "姓名:"Label3.Caption = "出生年月:" : Label4.Caption = "奖学金:"Label5.Caption = "简历:" : Label6.Caption = "照片:"Check1.Caption = "性别(选中表示男,否则为女)"Label7.Caption = "成绩信息查询显示": Adodc1.Visible = FalseEnd SubPrivate Sub Data1_Reposition()Adodc1.RecordSource = "select 成绩.课程号,课程名,成绩from 学生,课程,成绩" _ & "where 学生.学号= 成绩.学号and " & "成绩.课程号= 课程.课程号and " & _ "成绩.学号='" & Data1.Recordset("学号") & "'" & " order by 成绩.课程号" Label7.Caption = Trim(Data1.Recordset("姓名")) & "成绩信息查询显示" Adodc1.RefreshEnd Sub程序2.(1)数据访问控件以及数据绑定控件的相关属性设置如下:Adodc1:ConnectionString("Provider=Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info = False"CommandType("1-adCmdText")、RecordSource("select * from 学生)DataGrid1:DataSource("Adodc1")(2)主要事件过程代码Option ExplicitPrivate Sub Form_Load()Dim i As IntegerCaption = "学籍信息查询浏览": Adodc1.Visible = FalseLabel1.Caption = "选择查询方式:": Combo1.Text = "全部都显示"Label2.Caption = "全部表文件数据浏览表格:" : Label3.Visible = False Text1.Visible = False: Text1.Text = ""For i = 0 To 2Combo1.AddItem Mid("全部都显示按学号查询按姓名查询", 5 * i + 1, 5) Next iEnd SubPrivate Sub Combo1_Click()Select Case Combo1.ListIndexCase 0Text1.Visible = False: Label3.Visible = FalseAdodc1.RecordSource = "select * from 学生"Label2.Caption = "全部表文件数据浏览表格:": Adodc1.Refresh Case 1Label3.Caption = "输入查询条件(学号):" : Text1.Visible = True Label3.Visible = True: Text1.SetFocusCase 2Label3.Caption = "输入查询条件(姓名):" : Text1.Visible = True Label3.Visible = True: Text1.SetFocusEnd SelectEnd SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyReturn ThenIf Combo1.ListIndex = 1 ThenAdodc1.Recordset.MoveFirstAdodc1.Recordset.Find "学号='" & Text1.Text & "'"If Adodc1.Recordset.EOF ThenAdodc1.RecordSource = "select * from 学生"Label2.Caption = "全部表文件数据浏览表格:"Adodc1.Refresh: MsgBox "查无此人!"ElseAdodc1.RecordSource = "select * from 学生 " & "where _学号='" & Text1.Text & "'"Label2.Caption = "学生" + Text1.Text + "的数据浏览表格:"End IfElseAdodc1.Recordset.MoveFirstAdodc1.Recordset.Find "姓名='" & Text1.Text & "'"If Adodc1.Recordset.EOF ThenAdodc1.RecordSource = "select * from 学生"Label2.Caption = "全部表文件数据浏览表格:"Adodc1.Refresh: MsgBox "查无此人!"ElseAdodc1.RecordSource = "select * from 学生 " & _"where 姓名='" & Text1.Text & "'"End IfEnd IfAdodc1.RefreshEnd IfEnd Sub程序3.(1)数据访问控件以及数据绑定控件的相关属性设置如下:Adodc1(xs):ConnectionString("Provider=Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info=False")CommandType("2-adCmdTable")、RecordSource("学生")Adodc2(kc):ConnectionString("Provider=Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info=False")CommandType("2-adCmdTable")、RecordSource("课程")Adodc3(cjcx):ConnectionString("Provider=Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info=False")CommandType("1-adCmdText")RecordSource(" select 成绩.学号,学生.姓名,成绩.课程号,课程.课程名, _ 成绩.成绩 from 学生,课程,成绩 where 成绩.课程号 = 课程.课程号 _and 成绩.学号 = 学生.学号 "DataGrid1:DataSource("cjcx")DataList1:RowSource("xs")、ListField ("姓名")、BoundColumn("学号") DataList2:RowSource("kc")、ListField("课程名")、BoundColumn("课程号")(2)主要事件过程代码Option ExplicitDim p As BytePrivate Sub Form_Load()Dim i As IntegerFor i = 0 To 4Label1(i).Caption = Mid("优秀良好中等及格差等", 2 * i + 1, 2)Text1(i).Text = "": Text1(i).BackColor = RGB(205, 205, 192)Text1(i).Locked = TrueNext icjcx.RecordSource = "select 成绩.学号,学生.姓名,成绩.课程号,课程.课程名, " _ & "成绩.成绩from 学生,课程,成绩 " & _"where 成绩.课程号=课程.课程号 and 成绩.学号=学生.学号"cjcx.Refresh: Label2.Caption = "成绩信息列表"Label3.Caption = "选择学生姓名:" : Label4.Caption = "选择课程名:" xs.Visible = False: kc.Visible = False: cjcx.Visible = False Caption = "学籍信息查询": p = 0End SubPrivate Sub DataList1_Click()p = 0: Call cjdctjEnd SubPrivate Sub DataList2_Click()p = 1: Call cjdctjEnd SubPrivate Sub cjdctj()Dim cjdcjs(5) As Integer, dcase As Byte, i As ByteIf p = 0 Thencjcx.RecordSource = "select 成绩.学号,学生.姓名,成绩.课程号, " _ & "课程.课程名,成绩.成绩 from 学生,课程,成绩 " _& "where 成绩.学号='" & DataList1.BoundText & "' " _& "and (成绩.课程号=课程.课程号 and " _& "成绩.学号=学生.学号) order by 成绩.课程号"Frame1.Caption = "单位:门"Label2.Caption = Trim(DataList1.Text) & "成绩信息列表"Elsecjcx.RecordSource = "select 成绩.学号,学生.姓名,成绩.课程号, " _ & "课程.课程名,成绩.成绩 from 学生,课程,成绩 " _& "where成绩.课程号='" & DataList2.BoundText & "' " _& "and (成绩.课程号=课程.课程号 and " _& "成绩.学号=学生.学号) order by 成绩.学号"Frame1.Caption = "单位:人"Label2.Caption = Trim(DataList2.Text) & "成绩信息列表"End Ifcjcx.RefreshIf Not cjcx.Recordset.EOF Then cjcx.Recordset.MoveFirstWhile Not cjcx.Recordset.EOFIf cjcx.Recordset("成绩") < 60 Thendcase = 0Elsdcase = (cjcx.Recordset("成绩") \ 10) – 5End IfSelect Case dcaseCase 4, 5: cjdcjs(0) = cjdcjs(0) + 1Case 3: cjdcjs(1) = cjdcjs(1) + 1Case 2: cjdcjs(2) = cjdcjs(2) + 1Case 1: cjdcjs(3) = cjdcjs(3) + 1Case 0: cjdcjs(4) = cjdcjs(4) + 1End Selectcjcx.Recordset.MoveNextWendFor i = 0 To 4: Text1(i).Text = cjdcjs(i): Next iEnd Sub程序4.(1)数据访问控件以及数据绑定控件的相关属性设置如下:Adodc1:ConnectionString("Provider = Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info = False")CommandType("2-adCmdTable")、RecordSource("学生")LockType("4-adBatchOptimistic)Adodc2:ConnectionString("Provider = Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info=False")CommandType("2-adCmdTable")、RecordSource("课程")LockType("4-adBatchOptimistic")Adodc3:ConnectionString("Provider = Microsoft.Jet.OLEDB.4.0; _ Data Source = E:\GYH\VB\学籍1b.mdb; Persist Security Info = False")CommandType("2-adCmdTable")、RecordSource("成绩")LockType("4-adBatchOptimistic")Text1:用于显示编辑"学号",但是本字段不设置数据绑定属性,输入或修改后的"学号"数据通过代码方式写入数据源中。
《Visual Basic程序设计基础》习题参考答案
第7章对话框与菜单程序设计一、判断题1.√2.√3.√4.×5.×6.×7.√8.√9.√10.√二、选择题1.D 2.A 3.C 4.C 5.B 6.D 7.A 8.B 9.D 10.B三、填空题1.窗体控制菜单、下拉式菜单、快捷菜单2.ShowFont3.打开文件、另存为、颜色、字体、打印对话框4.工程、部件5.CommonDialog1.Action =3、CommonDialog1.ShowColor6.提示信息、对话框类型、对话框标题7.Click8.工具9.代码窗口、Click 10.相同、正四、程序阅读题程序1. 显示提示信息为“5”、标题为“na的输出结果”、有一个“确定”按钮的消息框。
程序2. 显示提示信息为“您选择了第1项”、标题为“第一项”、有一个“确定”按钮的消息框。
五、程序填空题1.(1)Int(Rnd*100) (2)Str(i) (3)Exit For2.(1)False (2)Date (3)CommonDialog1.Color (4)m1六、程序设计题程序1.界面设计略,过程设计如下:Private Sub Command1_Click()CommonDialog1.ShowOpenList1.AddItem CommonDialog1.FileNameEnd Sub程序2.界面设计略,过程设计如下:Private Sub Command1_Click()CommonDialog1.ShowSaveList1.AddItem CommonDialog1.FileNameEnd Sub程序3.界面设计如图10-9、表10-2所示,过程设计如下:Private Sub Sqr_Click()Shape1.Shape = 1End SubPrivate Sub Rec_Click()Shape1.Shape = 0End SubPrivate Sub Oval_Click()Shape1.Shape = 2End SubPrivate Sub Circle_Click()Shape1.Shape = 3End SubPrivate Sub Rrec_Click()Shape1.Shape = 4End SubPrivate Sub RSqr_Click()Shape1.Shape = 5End SubPrivate Sub Shp_Click()Shape1.FillStyle = 2End SubPrivate Sub Shzh_Click()Shape1.FillStyle = 3End SubPrivate Sub Xiex_Click()Shape1.FillStyle = 4End SubPrivate Sub ShPJ_Click()Shape1.FillStyle = 6End SubPrivate Sub XJ_Click()Shape1.FillStyle = 7End SubPrivate Sub FillColor_Click()CommonDialog1.ShowColorShape1.FillColor = CommonDialog1.ColorEnd SubPrivate Sub Exit_Click()EndEnd Sub第8章文件一、判断题1.×2.√3.×4.√5.√6.×7.√8.×9.√10.√11.×12.×13.√14.×15.×二、选择题1.A 2.C 3.B 4.B 5.A 6.C 7.C 8.B 9.C 10.B 11.D 12.B 13.B三、填空题1.ChDir 2.FileLen 3.Change 4.EOF 5.Line Input四、程序阅读题程序1. y= 1 a= 1 程序2. NO. 1 3 程序3.y= 3 a= 2 NO. 2 4 窗体:36 25 16 9 4 1y= 6 a= 3 NO. 3 7 文件:1 4 9 16 25 36y= 10 a= 4 NO. 4 11程序4. 程序5. 1 程序6. 1窗体上显示内容:20 2 2 1 2文件中内容:4 6 8 10 12 3 3 3 1 2 34 4 4 45 5 5 5 5五、程序填空题1.(1)Dim n As Integer (2)"C:\windows\calc.exe"(3)Output (4)End2.(1)For Output As #2 (2)0 (3)"temp.dat" As "c:\a1.dat"3.(1)Open "e:\dataout.txt" For Output As #1(2)t1 Mod t2 = 0 (3)If flag Then (4)Print coun六、程序设计题程序1.界面设计如图10-10所示,过程设计如下:Dim fn As StringPrivate Sub Drive1_Change()Dir1.Path = Drive1.DriveEnd SubPrivate Sub Dir1_Change()File1.Path = Dir1.PathEnd SubPrivate Sub File1_Click()If Right(File1.Path, 1) = "\" Thenfn = File1.Path + File1.FileNameElsefn = File1.Path + "\" + File1.FileNameEnd IfEnd SubPrivate Sub Command1_Click()Dim yesno As Byteyesno = MsgBox("确认要删除吗?", vbYesNo, "删除文件")If yesno = vbYes Then Kill fnFile1.RefreshEnd Sub程序2.建立4个文本框控件依次输入姓名、出生年月、外语、计算机成绩,按“确认”按钮追加该记录到磁盘文件d:\student.dat。
VB教材习题_参考答案1-6章
Visual Basic程序设计教程(李杰主编清华大学出版社 2011.2)习题答案习题2参考答案2.2 单选题1、B2、C3、A4、D5、A6、B7、D8、C9、B 10、D2.3 填空题1、事件驱动2、Cancel3、Name4、Private Sub Form1_Click()5、运行程序6、代码窗口7、Text1.Text = "我是一个学生"8、LostFocus()事件9、Label1.Caption = "请输入用户名"Label1.ForeColor = vbGreen10、(Text1.Text)*22.4 事件练习题1、①该事件的对象是标签Label1,单击标签触发该事件。
②缺省Label1对象的代码是针对窗体,其余有Label1对象的代码是针对标签的。
③Label1.AutoSize = True语句使标签的大小自动随文字的多少而改变。
2、程序运行后,单击命令按钮,在Text1文本框显示"知音海外版",在Text2文本框显示"计算机世界"。
3、单击“显示文本框”命令按钮触发的事件过程Private Sub Command1_Click()Text1.Visible = TrueText1.ForeColor = vbRedText1.Text = "VB程序设计"End Sub单击“隐藏文本框”命令按钮触发的事件过程Private Sub Command2_Click()Text1.Visible = FalseEnd Sub习题3参考答案3.2 单选题1 C2 C3 D4 B5 B6 B7 B8 C9 D3.3填空题1.REM(或‘) _ :2 双引号(“”)#3 $ %4 UCASE()5.(log(1+d*d)-exp(2))^(5/2) [ 还有一种理解方式:(log(1+d*d)-e*e)^(5/2)]6. &O113 &H4B习题4参考答案4.2 单选题BDCBD4.3 填空题1.MsgBox("是否删除? ", vbOkCancel + vbQuestion, "删除")2.The Length of 12345=53. 变量或表达式4. 15. loop4.4 程序设计题1.Private Sub Command1_Click()If Text1.Text = "asdf" ThenMsgBox "密码正确!"ElseMsgBox "密码错误", vbRetryCancel, "错误"End IfEnd Sub2. < 题目中的“连续产生n*n个字母”应该改为“连续产生n个字母”> Private Sub Command1_Click()Dim n%, y%, i%n = Val(Text1.Text)If n > 10 Or n<=0 ThenMsgBox "数据超界!"Text1.Text=””Text1.SetFocusElsey = Int((90 - 65 + 1) * Rnd) + 65For i = 1 To nPrint Chr(y + i)Next iEnd IfEnd Sub3.Private Sub Form_Click()Dim a!, b!, c!, x1!, x21, d!a = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)d = b * b - 4 * a * cIf d >= 0 Thenx1 = (-b + Sqr(d)) / (2 * a)X2 = (-b - Sqr(d)) / (2 * a)Print x1; X2ElsePrint "没有实根"End IfEnd Sub4.Private Sub Form_Click()Dim i%, j%, s%, n%,q%n = InputBox("enter n:")q = 0For i = 1 To ns = 0For j = 1 To is = s + jNext jq = q + sNext iPrint qEnd Sub5.Private Sub Form_Click()Dim i%, j%, n%, k%n = 0For i = 1 To 3For j = 1 To 3For k = 1 To 3Print i & j & k,n = n + 1If n Mod 5 = 0 Then PrintNext kNext jNext iPrintPrint "n="; nEnd Sub6.Private Sub Form_Click()Dim i%, j%, n%, k%For i = 1 To 9For j = 0 To 9For k = 0 To 9n = i * 100 + j * 10 + kIf n = i ^ 3 + j ^ 3 + k ^ 3 Then Print n,Next kNext jNext iEnd Sub习题5参考答案5.2 单选题1 A2 B3 C4 C5 D6 D7 A8 C9 D 10 A 11 A 12 B 5.3 填空题1.False2.Caption3.0 ListCount-14.Print List1.List(3)5.Combo1.ReMoveItem 36.LargeChange7.Timer8.5009.Shape10.Borderstyle5.4 程序设计题1.Dim op1, op2, result As SingleDim operator As IntegerPrivate Sub Command1_Click(Index As Integer)If Index >= 0 And Index <= 10 ThenIf txt1.Text = "" Thentxt1.Text = CStr(Index + 1)Elsetxt1.Text = txt1.Text + CStr(Index + 1) End IfEnd IfIf Index >= 12 And Index <= 15 Thenop1 = CDbl(txt1.Text)operator = Indextxt1.Text = ""End IfIf Index = 11 Thenop2 = CDbl(txt1.Text)Select Case operatorCase 12result = op1 + op2Case 13result = op1 - op2Case 14result = op1 * op2Case 15result = op1 / op2End Selecttxt1.Text = CStr(result)End IfEnd SubPrivate Sub Command2_Click()op1 = 0op2 = 0result = 0txt1.Text = ""End SubPrivate Sub Command3_Click()EndEnd Sub2.Private Sub chkBold_Click()If chkBold.Value = vbChecked ThenTxt1.FontBold = TrueElseTxt1.FontBold = FalseEnd IfEnd SubPrivate Sub chkUnderline_Click()If chkUnderline.Value = vbChecked Then Txt1.FontUnderline = TrueElseTxt1.FontUnderline = FalseEnd IfEnd SubPrivate Sub Opt18_Click()Txt1.FontSize = 18End SubPrivate Sub Opt22_Click()Txt1.FontSize = 22End Sub3.Private Sub Form_Load()List1.AddItem "上海"List1.AddItem "北京"List1.AddItem "天津"List1.AddItem "广东"List1.AddItem "辽宁"List1.AddItem "陕西"List1.AddItem "河南"List1.AddItem "深圳"List1.AddItem "四川"List1.AddItem "重庆"End SubPrivate Sub List1_DblClick()For i = 0 To 9If List1.ListIndex = i ThenList2.AddItem List1.List(i)List1.RemoveItem iEnd IfNext iEnd Sub4.Private Sub Command1_Click()Timer1.Enabled=TrueTimer1.Tag=Text1.Text*60Frame1.Caption=“现在开始倒计时”End SubPrivate Sub Timer1_ Timer()Timer1.Tag=Timer1.Tag-1If m<0 ThenTimer1.Enabler=FalseMsgBox“预定的时间到了!”,0,“倒计时”Frame1.Caption=“请输入计时的分钟数:”Text1.Text=0Exit SubEnd Ifn1=Format(m Mod 60,“00”)n2=Format(m \ 60)Mod 60,“00:”)n3=Format(m \ 3600),“00:”)Text1.Text=n3&n2&n1End Sub习题6参考答案6.1单选题1.C2.C3.B4.B5.B6.D7.B8.B9.A 10.A6.2 填空题1.Option Base 12.变体类型3.preserve (注意:教材上面写成perserve, 教材错误)4.Variant变体类型5.96.相同,索引号7.1).通过复制粘贴的方式创建控件数组2).在设计时候添加多个同类型的类型控件,然后通过“属性”窗口将这些控件的名称改为相同,并把Index属性设为不同的下标值。
《Visual Basic程序设计教程(第2版)》习题参考答案
《Visual Basic程序设计教程》(第2版)林卓然编著电子工业出版社2007年7月出版习题1一、单选题1.D 2.D 3.B 4.B 5.C 6.A7.A 8.A 9.B 10.B 11.B 12.B二、多选题1.ADE 2.AB 3.BCDE 4.CD 5.CE三、填空题1.属性,方法,事件 2.解释,编译 3.设计,运行,中断 4.Command2_Click 5.中央,代码 6.MyForm.frm 7.(1)Cmd1_Click(),(2)Txt1.Text="VB语言程序设计"习题2一、单选题1.(1)A,(2)C 2.A 3.B 4.B 5.B 6.D 7.B 8.A 9.A 10.B 11.B 12.A 13.B二、多选题1.BD 2.CD 3. AD三、填空题1.(1) (2+x*y)/(2–y*y) (2) a^2–3*a*b/(3+a)(3) x^(3/8)+Sqr(y^2+4*a^2a/(x+y^3))2.Int(50+6*Rnd)3.(1)138, (2)3, (3)214, (4) 70, (5) "45", (6)04. "系统管理数据库"习题3一、单选题1.C 2.B 3.B 4.D 5.B 6.C 7.B 8.D 9.C 10.(1)A, (2)C 11.A 12.B 13.D 14.B二、多选题1.AC 2.ABF 3.BE三、填空题1.$000,124 2.Label1.Caption="a*b=" 3.Height,Width4.2 5.Text1.SetFocus6.Multiline, ScrollBars, 2 7.24,2423习题4一、单选题1.C 2.B 3.C 4.C 5.D 6.B 7.(1)D,(2)A,(3)B 二、多选题1.ABCFGHJ 2.BE 3.CDE 4.AE三、填空题1.60000 2.O&pen 3.(1) "0" To "9";(2) "a" To "z", "A" To "Z";(3) Else习题5一、单选题1.B 2.(1)D,(2)C 3.A 4.(1)B,(2)C,(3)B 5.B 6.B 二、填空题1.(1) 4次,n=13;(2) 3次,n=8;(3) 3次,n=27;(4) 1次,n=12 2.227 3.0 4.Style 5.下拉列表框6.AddItem,RemoveItem或Clear 7.(1)ItemA,(2) ItemD,(3) ItemD,(4) ItemA习题6一、单选题1.D 2.A 3.B 4.C 5.C 6.A 7.(1)D (2)A (3)B 二、多选题1.AD 2.CD三、填空题1.二, 12; 1, 3; -1, 22. 0 1 2 31 0 1 22 1 0 13 2 1 03. Name, Index 4.(1) 0 To Index, (2)Val(Text1(k).Text)习题7一、单选题1.B 2.C 3.B 4.B 5.C 6.D 7.A 8.C 9.D 10.C 二、填空题1.EF 2.(1)14,(2) 2,(3)10 3.(1)10,(2)28,(3)6,(4) 64.(1)Power(x,n-1)*x,(2)Power = x习题8一、单选题1.B 2.D 3.D 4.A 5.B 6.D 7.A8.(1)D,(2)D 9.B 10.A 11.D二、填空题1. Get, Put2.(1) Open "Myfile3.txt" For Output(2) Write #1, StNo, StMb (3) Close #13. (1) Open " Myfile3.txt" For Input As #1 (2) EOF(1)(3) Input #1, StNo, StMb习题9单选题1.B 2.D 3.D 4.B 5.A 6.A习题10一、单选题1.C 2.(1)A,(2)C 3.C 4.A 5.(1)A,(2)D 6.A 7.D 8.B 9.D二、填空题1.(1)Change,(2)Value,(3)Scroll,(4)Value2.Circle(Scale.Width/2,Scale.Height/2),10003.(1) P1.Picture ,(2) P2.Picture,(3) P2.Picture = P3.Picture4.KeyDown,KeyPress,KeyUp 5.MouseDown,MouseUP6.菜单编辑器,顶;PopUpMenu7.(1) Button.Index (2) BackColor = RGB(255, 0, 0)(3) BackColor = RGB(0, 255, 0) (4) BackColor = RGB(0, 0, 255)8.(1)DragMode, (2)1,(3)0 9.(1)Action, (2)4, (3)ShowFont10.(1)KeyPress, (2)Cls, (3)CurrentY = Y, (4) Button=1习题11一、单选题1.C 2.C 3.A 4.D 5.A 6.D 7.D 8.C9.D 10.D 11.C 12.A 13.B二、填空题1.Select 职工号,基本工资 From 工资表 Where 基本工资>5002.Update 职工表 Set 姓名="伍小明" Where 职工号="00018"3.Select 学籍表.班号,Avg(成绩表.英语) From 成绩表,学籍表 Where 学籍表.学号=成绩表.学号 Group By 学籍表.班号4.Update 工资表 Set 基本工资=基本工资+1005.Delete From 工资表 Where 基本工资<2006.Insert Into 学籍表(学号,姓名,性别,年龄,班号) Values("951009","林东生","男",20,"31")(完)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Visual Basic程序设计基础》教材习题参考答案第1章 Visual Basic 6.0程序设计概述一、判断题1.√2.√3.×说明:同类控件(如两个标签)相互重叠,设计时可以设置“置前”、“置后”属性。
4.√5.×6.√7.×8.√9.√10.×11.√12.√13.×14.√15.×16.√17.√18.√19.√20.√二、选择题1. C2. B 3.D 4.C 5.B 6.A 7.D 8.A 9.B 10.A 11.C 12.D三、填空题1.对象、事件2.属性、方法、事件3.控件、屏幕(Screen)4.对象5.Left、Top 6.属性、<对象名>.<属性名>=<表达式> 7.网格8.F orm19.Load或Initialize或Resize或Activate(自动执行的先后顺序也按此排列)10.Activate、Deactivate四、程序设计题程序1.界面设计参看图10-1、10-2以及表10-1。
表10-1 实例2各控件的主要属性设置过程设计如下:Private sub Form_Click()Command2.Enabled = FalseEen SubPrivate Sub Command1_Click()Label2.Visible = FalseLabel1.Caption = Text1.Text + ": 欢迎使用" + Label1.CaptionText1.Visible = FalseCommand1.Enabled = False: Command2.Enabled = TrueEnd SubPrivate Sub Command2_Click()EndEnd Sub程序2.界面设计略,过程设计如下:Private Sub Command1_Click() '字体变大Form1.FontSize = Form1.FontSize + 3Form1.Cls: Print "欢迎使用VB"End SubPrivate Sub Command2_Click() '字体变小Form1.FontSize = Form1.FontSize - 3Form1.Cls: Print "欢迎使用VB"End SubPrivate Sub Command3_Click() '字体加粗Form1.FontBold = TrueForm1.Cls: Print "欢迎使用VB"End SubPrivate Sub Command4_Click() '字体不加粗Form1.FontBold = FalseForm1.Cls: Print "欢迎使用VB"End Sub运行时,不得连续、过多次单击“字体变小”按钮,因为当FontSize属性值小于0会产生适时错误。
程序3.界面设计略,过程设计如下(窗体Height值的计量包括标题、边框,而ScaleHeight 值仅与窗体有效绘图区域的高度有关):Private Sub Form_Load()Text1.Text = "Visual Basic 程序设计"End SubPrivate Sub Form_Resize()Text1.Top = 0: Text1.Left = 0Text1.Width = Form1.ScaleWidth/2 '用 Form1.ScaleWidth效果优于用Form1. WidthText1.Height = Form1.ScaleHeight/2 '用Form1.ScaleHeight优于用Form1. Height Command1.Top = Form1.ScaleHeight - Command1.HeightCommand1.Left = Form1.ScaleWidth - Command1.WidthEnd Sub第2章程序设计基础一、判断题1.√2.×3.×4.×5.√6.×7.√8.√9.√10.×二、选择题1.B 2.D 3.A 4.C 5.C 6.B 7.A 8.D 9. C 10.A 三、填空题1.String 2.4 3."aaa" 4.145 5.6 6.3 7.18 8.False 9.(x Mod 10) * 10 + x \ 10 10.10 + Int( Rnd * 90 ) 11.a * b Mod c12.Log(x)+Sin(3.141593/6) 13.Const PI=3.1415926 14.日期15.Int(x)+1四、程序设计题程序1.界面设计略,过程设计如下:方法一、用文本框控件输入圆的半径Private Sub Command1_Click()Dim x As Singlex = Text1.TextLabel1.Caption = x * x * 3.141593End Sub方法二、用InputBox函数输入圆的半径Private Sub Command1_Click()Dim x As Single '若要求计算结果具有15位有效位数,声明x为Double类型 x = InputBox("r=","输入圆的半径")Label1.Caption = x * x * 3.141593End Sub程序2.略。
第3章结构化程序设计与数组一、判断题1.√2.×3.√4.×5.√6.×7.×8.√9.×10.√二、选择题1.A 2.D 3.C 4.C 5.D 6.B三、填空题1.If x>y Then t=y: y=x: x=t 2.IS3.For i = 0 to 9: B(i) = InputBox("B(" & i & ")="): Next i4.Dim 5.String 6.8四、程序阅读题(写出下列程序的运行结果)程序1. 0 5 程序2. 20 程序3. 2 4 7 11 16程序4. 1 4 9 16 25程序5. 程序6.五、程序填空题1.(1)q * i (2)s + p * i / q (3)Next i2.(1)r = 0 (2)m Mod n3.(1)i + j - 1 (2)7 - i (3)Print4.(1)10 + Int(Rnd * 90) (2)i + 1 To 30 (3)a(i)=a(j) (4)a(i) Mod 2 = 1 六、程序设计题程序1.界面设计略,过程设计如下:Private Sub Form_Click()Dim x As Integer, y As Integer, z As IntegerDim max As Integer, midd As Integer, min As Integerx = InputBox("请输入x的值:")y = InputBox("请输入y的值:")z = InputBox("请输入z的值:")If x > y Then max = x Else max = yIf z > max Then max = zIf x < y Then min = x Else min = yIf z < min Then min = zmidd = x + y + z - max - minPrint max; midd; minEnd Sub程序2.界面设计略,过程设计如下:Private Sub Form_Click()Dim x As Single, y As Singlex = InputBox("请输入x的值:")If x > 3 Theny = x + 3ElseIf x >= 1 Theny = x * xElseIf x > 0 Theny = Sqr(x)Elsey = 0End IfPrint yEnd Sub程序3.界面设计略,过程设计如下:Private Sub Form_Click()Dim i As Integer, j As IntegerFor i = 1 To 9For j = 1 To 9Print Tab((j - 1) * 4); i * j;Next jPrintNext iEnd Sub程序4.界面设计略,过程设计如下:Private Sub Form_Click()Dim x As Single, s As Single, t As SingleDim i As Integer, n As Integerx = InputBox("请输入x的值:")n = InputBox("请输入n的值:")t = x / 2: s = tFor i = 3 To nt = t * x / is = s + tNext iPrint sEnd Sub程序5.界面设计略,过程设计如下:Private Sub Form_Click()Dim e As Single, t As Single, i As Integere = 2: t = 1: i = 1While t >= 0.0001i = i + 1: t = t / i: e = e + tWendPrint eEnd Sub程序6.界面设计略,过程设计如下:Option Base 1Private Sub Form_Click()Dim n As Integer, a(9, 9) As Integer, i As Integer, j As Integer On Error GoTo k '下列代码中若出现错误,转到标号为K的语句执行。
n = InputBox("请输入n,0<n<10")For i = 1 To n: a(i, 1) = 1: a(i, i) = 1: Next iFor i = 3 To nFor j = 2 To i - 1a(i, j) = a(i - 1, j - 1) + a(i - 1, j)Next j, iFor i = 1 To nPrint Tab(30 - 2 * i);For j = 1 To iPrint Space(4 - Len(Trim(Str(a(i, j))))); Trim(Str(a(i, j))); Next jPrintNext iExit Subk: MsgBox "输入n值小于1或大于10,数组下标超界。