2011年12月考试可视化程序设计(VB)第三次作业及答案
- 格式:rtf
- 大小:14.18 KB
- 文档页数:8
小学vb考试试题及答案一、选择题(每题2分,共20分)1. VB中,以下哪个关键字用于声明变量?A. DimB. SetC. CallD. Function答案:A2. 在VB中,以下哪个函数用于计算字符串的长度?A. LenB. StrC. MidD. Left答案:A3. VB程序设计语言中,以下哪个选项是正确的注释方式?A. '// 这是一个注释'B. '/* 这是一个注释 */'C. ' 这是一个注释'D. " 这是一个注释"答案:C4. 在VB中,以下哪个选项是正确的数组声明方式?A. Dim numbers(5) As IntegerB. Dim numbers As Integer(5)C. Dim numbers(5) As StringD. Dim numbers As String(5)答案:A5. VB中,以下哪个选项用于实现循环结构?A. If...Then...ElseB. For...NextC. Do...LoopD. While...Wend答案:B6. 在VB中,以下哪个关键字用于定义一个过程?A. FunctionB. SubC. ClassD. Property答案:B7. VB中,以下哪个函数用于将字符串转换为大写?A. UCaseB. LCaseC. StrConvD. Trim答案:A8. 在VB中,以下哪个选项用于实现条件判断?A. If...Then...ElseB. For...NextC. Do...LoopD. While...Wend答案:A9. VB程序设计语言中,以下哪个选项是正确的事件处理方式?A. Private Sub Button1_Click()B. Public Sub Button1_Click()C. Private Function Button1_Click()D. Public Function Button1_Click()答案:A10. 在VB中,以下哪个选项用于实现文件的打开操作?A. OpenB. CloseC. PrintD. Write答案:A二、填空题(每题2分,共20分)1. 在VB中,使用________关键字可以声明一个变量。
一、单项选择题(共10题、总分30分、得分30分)1. 下列哪个语句定义了包含8个元素的单精度数组() (本题分数:3 分,本题得分:3 分。
)A、Dim a(2,4) As SingleB、 Dim a(1 to 8)!C、Dim a!(7)D、 Dim a(1 to 2,3 to 6) As Long2. 下列关于菜单访问键和快捷键的说法正确的是() (本题分数:3 分,本题得分:3 分。
)A、若一菜单项的Caption属性为“打开(&O)”,则其快捷键是Ctrl+OB、快捷键指用于执行一个命令的功能键或组合键,可以在菜单编辑器中将快捷键设为Alt+FC、可以为任意的菜单项都添加快捷键或访问键D、通过访问键打开某个子菜单时,必须先使焦点位于其上一级菜单3. 如果要退出Do…Loop循环,可使用语句()。
(本题分数:3 分,本题得分:3 分。
)A、ExitB、 Exit DoC、 Exit ForD、Exit For4. 若有数组说明语句:Dim t(1 To 10) As Variant,则t被定义为()。
(本题分数:3 分,本题得分:3 分。
)A、数值数组B、可调数组C、字符串数组D、可变类型数组5. 在下列关于对话框的叙述中,错误的是(): (本题分数:3 分,本题得分:3 分。
)A、作为对话框窗体的Borderstyle、ControlBox、MaxButton和MinButton应分别设置为l、True、False和 False。
B、语句frmAbout.Show vbModeless,frmMain将 fmAbout窗体显示为 fmMain的无模式子窗体。
C、可以将对话框分成两种类型:模式的和无模式。
D、语句frmAbout.Show将frmAbout作为无模式对话框显示。
6. 在窗体上有一按钮Command1,其事件过程如下,则按下Command1窗体上显示的是()Private Sub Command1_Click()Dim i As IntegerScale (0, 0)-(10, 10)For i = 1 To 3DrawStyle = iDrawWidth = iLine (0, i + 1)-Step(8, 0)CurrentY = CurrentY + 1NextEnd Sub (本题分数:3 分,本题得分:3 分。
2011年9月全国计算机等级考试二级VB 笔试试卷及参考答案2011年 9月全国计算机等级考试二级笔试试卷Visual Basic语言程序设计(考试时间90 分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是()。
A)算法就是程序B)设计算法时只需要考虑数据结构的设计C)设计算法时只需要考虑结果的可靠性D)以上三种说法都不对(2)下列关于线性链表的叙述中,正确的是A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为2的结点数的两倍D)度为2的结点数是度为1的结点数的两倍(4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是A)学生成绩管理系统B)C语言编译程序C)UNIX操作系统D)数据库管理系统(5)某系统总体结构图如下图所示:该系统总体结构图的深度是A)7 B)6 C)3 D)2(6)程序调试的任务是A)设计测试用例B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确的是A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括A)概念模式B)内模式C)外模式D)数据模式(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)差C)交D)并(10)下列选项中属于面向对象设计方法主要特征的是A)继承B)自顶向下C)模块化D)逐步求精(11)以下描述中错误的是A)窗体的标题通过其Caption属性设置B)窗体的名称(Name属性)可以在运行期间修改C)窗体的背景图形通过其Picture属性设置D)窗体最小化时的图标通过其Icon属性设置(12)在设计阶段,当按Ctrl+R键时,所打开的窗口是A)代码窗口B)工具箱窗口C)工程资源管理器窗口D)属性窗口(13)设有如下变量声明语句:Dim a, b As Boolean则下面叙述中正确的是A)a和b都是布尔型变量B)a是变体型变量,b是布尔型变量C)a是整型变量,b是布尔型变量D)a和b都是变体型变量(14)下列可以作为Visual Basic变量名的是A)A#A B)4ABC C)?xy D)Print_Text(15)假定一个滚动条的LargeChange属性值为100,则100表示A)单击滚动条箭头和滚动框之间某位置时滚动框位置的变化量B)滚动框位置的最大值C)拖动滚动框时滚动框位置的变化量D)单击滚动条箭头时滚动框位置的变化量(16)在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click()MsgBox Str(123 + 321)End Sub程序运行后,单击命令按钮,则在信息框中显示的提示信息为A)字符串“123+321”B)字符串“444”C)数值“444”D)空白(17)假定有以下程序:Private Sub Form_Click()a = 1:b = aDo Until a >= 5x = a * bPrint b; xa = a + bb = b + aLoopEnd Sub程序运行后,单击窗体,输出结果是A) 1 1 B) 1 1 C) 1 1 D) 1 12 3 2 4 3 8 3 6(18)在窗体上画一个名称为List1的列表框,列表框中显示若干城市的名称。
可视化程序设计期中考试试卷及答案一、选择题(从四个备选作案中,选择一个正确的代号填入括号内,每小题2分,共20分)1.如果不带修饰符,在C#中类成员被默认声明为( )A.private型 B.protected型 C.public型 D.static型2.下面关于C#的逻辑运算符+、&&、!的运算优先级正确的是( ) A.||的优先级最高,然后是!,优先级最低的是+B.+的优先级最高,然后是!,优先级最低的是||C.!的优先级最高,然后是+,优先级最低的是||D.!的优先级最高,然后是||,优先级最低的是+3.C#执行程序是从()方法开始的A.main方法 B.Main方法 C.Run方法 D.Form_Load方法4.下列关于构造函数的描述正确的是( )A。
构造函数可以声明返回类型.B。
构造函数不可以用private修饰C.构造函数必须与类名相同D.构造函数不能带参数5.在C#语言中,下列能够作为变量名的是____。
A。
a_3b B。
3ab C. if D。
a—bc6。
已知a,b,c的值分别是4,5,6,执行下面的程序段后,判断变量n的值为( ).n=0;if(c〈b)n=a+b+c;else if(a+b<c)n=c—a-b;elsen=a+b;A.0B. -3 C。
9 D。
157.可以在()中设置窗体及窗体上各控件的属性。
A、代码编辑器窗口B、工具箱窗口C、属性窗口D、解决方案资源管理器窗口8。
下列关于解决方案的叙述中,不正确的是()A.一个解决方案可以包含多个项目B .解决方案文件的扩展名为“。
sln”C .新建项目时,会默认生成一个解决方案D .一个解决方案只能包含一个项目9. 在窗体上三个文本框textBox1, textBox2, textBox3,一个命令按钮button1,把三个文本框的Text 属性设置为空白,然后编写button1的Click 事件代码: private void button1_Click (Object sender,System.EventArgs e) {Textbox3。
18秋学期《可视化程序设计(VB)》在线作业3-0001
试卷总分:100 得分:0
一、单选题(共15 道试题,共75 分)
1.Visual Basic中,下面类型属于字符串型的是()。
A.Integer
B.Single
C.String
D.Boolean
正确答案:C
2.下面程序段运行后,变量a,b,c的值为()。
a=1:b=1:c=1 Do While a+b+c<=10 a=a+1 b=b*2 c=b/2 Loop
A.2 2 1
B.3 4 2
C.4 8 4
D.4 4 2
正确答案:C
3.下列变量名写法错误的是()。
A.abc
B.abc123
C.abc_123
D.123abc
正确答案:D
4.设有以下循环结构Do 循环体Loop While <条件> 则以下叙述中错误的是()。
A.若条件"是一个为0的常数,则一次也不执行循环体"
B."条件"可以是关系表达式、逻辑表达式或常数"
C.循环体中可以使用Exit Do语句
D."如果"条件"总是为True,则不停地执行循环体"
正确答案:A
5.以下关于菜单的叙述中,错误的是()。
A.在程序运行过程中可以增加或减少菜单项
B.如果把一个菜单项的Enabled属性设置为False,则可删除该菜单项
C.弹出式菜单在菜单编辑器中设计。
A.1Private Sub Command1_Click()Label3 = Text1End SubA.2Private Sub Form_Load()Timer1.Interval = 0End SubPrivate Sub Command1_Click() '自动Timer1.Interval = 200End SubPrivate Sub Command2_Click() '手动Timer1.Interval = 0Call MyMoveEnd SubPrivate Sub Timer1_Timer()Call MyMoveEnd SubSub MyMove()Label1.Move Label1.Left - 50If Label1.Left < 0 Then Label1.Left = Form1.Width End SubA.3Private Sub Form_Click()Text1 = Val(Text1) + 1End SubPrivate Sub Form_Load()Text1 = 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 图的宽度,象素单位'Form1.Height = 260 * 16 + 200 ' 260 是图的高度,象素单位,200 是窗体的标题栏高度End SubA.5Sub Command1_Click()Text1.FontName = "隶书"Text1.FontSize = 25End SubSub Command2_Click()Text2.Text = Text1.SelTextText2.FontName = Text1.FontNameText2.FontSize = Text1.FontSizeEnd SubB.1Private Sub Command1_Click()Text2 = Format(5 / 9 * (Val(Text1) - 32), "0.00")End SubPrivate Sub Command2_Click()Text1 = Format(9 / 5 * Val(Text2) + 32, "0.00")End Sub或Private Sub Command1_Click()Dim f!, c! ' 声明两个变量f = Val(Text1)c = 5 / 9 * (f - 32)Text2 = Format(c, "0.00") ' 保留两位小数End SubPrivate Sub Command2_Click()Dim ff!, cc! ' 声明两个变量cc = Val(Text2)ff = 9 / 5 * cc + 32Text1 = Format(ff, "0.00") ' 保留两位小数End SubB.2Label2 = Format(Val(Text1) * Val(Text1) * 3.14, "0.00") End SubPrivate Sub Command2_Click()Label3 = Format(Val(Text1) * 3.14 * 2, "0.00")End SubPrivate Sub Text1_LostFocus()If Not IsNumeric(Text1.Text) ThenMsgBox "输入有非数字字符,请重新输入", , "警告"Text1.Text = ""Text1.SetFocusEnd IfEnd Sub或Private Sub Command1_Click()Label2 = Format(Val(Text1) * Val(Text1) * 3.14, "0.00") End SubPrivate Sub Command2_Click()Label3 = Format(Val(Text1) * 3.14 * 2, "0.00")End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenIf Not IsNumeric(Text1.Text) ThenText1.Text = ""End IfEnd IfEnd SubB.3Private Sub Command1_Click()n = Int(Log(2) / Log(1.008) + 1)Label1 = n & "年后人数超过26 亿"End SubB.4Private Sub Command1_Click()Dim x, dx, cdx = Text1.Textdx = UCase(x)cd = Len(x)Print "大写字母为:"; dxPrint "字符串长度为:"; cdEnd SubB.5Text1 = Int(Rnd * 900 + 100)End SubPrivate Sub Command2_Click()Dim x%, x1%, x2%, x3%x = Val(Text1)x1 = x Mod 10 ' 分离出的个位数x2 = (x Mod 100) \ 10 ' 分离出的十位数x3 = x \ 100 ' 分离出的百位数Label1 = x1 * 100 + x2 * 10 + x3End SubB.6Private Sub Form_Click()Label1 = Left(Text1, 11)Label2 = Mid(Text1, 12, 6)Label3 = Right(Text1, 5)End SubB.7Private Sub Command1_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 Command2_Click()ClsEnd Sub进一步要求:Private Sub Command1_Click()PrintFor i = 1 To 5Print Tab(15 - i * 2); String(2 * i - 1, "★"); String(10 - (2 * i - 1), "☆"); String(2 * i - 1, "★") Next iEnd SubPrivate Sub Command2_Click()ClsEnd SubB.8Private Sub Form_Click()x = Val(InputBox("输入一正实数", "计算", 0))pf = Format(x * x, "0.000")pfg = Format(Sqr(x), "0.000")lf = Format(x * x * x, "0.000")lfg = Format(x ^ (1 / 3), "0.000")Print "平方为:"; pf; Space(5); "平方根为:"; pfg; Space(5); "立方为:"; lf; Space(5); "立方根为:"; lfgEnd SubC.1Private Sub Form_Click()Dim x!, y!x = Val(InputBox("输入x 的值"))If x < 1000 Theny = xElseIf x < 2000 Theny = 0.9 * xElseIf x < 3000 Theny = 0.8 * xElsey = 0.7 * xEnd IfPrint yEnd SubC.2Private Sub Form_Click()Dim x!, y!x = Val(InputBox("输入上网时间"))If x < 10 Theny = 30ElseIf x < 50 Theny = 30 + 2.5 * (x - 10)Elsey = 30 + 2.5 * 40 + 2 * (x - 50)End IfIf y > 150 Theny = 150End IfPrint yEnd SubC.3Private Sub Command1_Click()Dim x!, y!, z!x = InputBox("input x")y = InputBox("input y")z = InputBox("input z")Print " x y z"Print " 排序前"; x; " "; y; " "; z Ifx < y Then t = x: x = y: y = tIf x < z Then t = x: x = z: z = tIf y < z Then t = y: y = z: z = tPrint " 排序后" & x & " " & y & " " & z End SubPrivate Sub Command2_Click()Dim x!, y!, z!x = InputBox("input x")y = InputBox("input y")z = InputBox("input z")Print " x y z"Print " 排序前"; x; " "; y; " "; z Ifx < y Then t = x: x = y: y = tIf y < z Thent = y: y = z: z = tIf x < y Thent = x: x = y: y = tEnd IfEnd IfPrint " 排序后" & x & " " & y & " " & z End SubC.4Dim a(3) As IntegerPrivate Sub Command1_Click()Picture1.ClsFor i = 0 To 2a(i) = Int(Rnd * 100 + 200)Picture1.Print a(i)Next iEnd SubPrivate Sub Command2_Click()Picture2.ClsDim z As IntegerFor i = 0 To 1If a(i) > a(i + 1) Thenz = a(i + 1)a(i + 1) = a(i)a(i) = zEnd IfNext iPicture2.Print a(0)Picture2.Print a(1)Picture2.Print a(2)End SubC.5Private Sub Text2_LostFocus()Dim m%, n%, y%m = Val(Text1)n = Val(Text2)If n Mod 2 <> 0 ThenMsgBox ("脚数必定为偶数")Text2 = ""Text2.SetFocusElsey = n / 2 - mIf y < 0 ThenMsgBox ("脚数必须≥2 倍的头数,请重新输入")Text2 = ""Text2.SetFocusElsex = n / 2 - mLabel2 = yLabel3 = m - yEnd IfEnd IfEnd SubC.6Private Sub Command1_Click()Dim a!, b!, c!, x1!, x2!, de!a = Text1b = Text2c = Text3de = b * b - 4 * a * ct = 2 * aIf de = 0 ThenText4 = Format(-b / t, "0.00")Text5 = Format(-b / t, "0.00")ElseIf de > 0 ThenText4 = Format((-b + Sqr(de)) / t, "0.00")Text5 = Format((-b - Sqr(de)) / t, "0.00")ElseText4 = 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" End IfEnd SubPrivate Sub Command2_Click()Text1 = ""Text2 = ""Text3 = ""Text4 = ""Text5 = ""End SubC.7Private Sub Text3_LostFocus()Select Case Trim(Text3)Case "+"Text4 = Val(Text1) + Val(Text2)Case "-"Text4 = Val(Text1) - Val(Text2)Case "*"Text4 = Val(Text1) * Val(Text2)Case "/"If Val(Text2) = 0 ThenMsgBox "分母为零,重新输入"Text2 = ""Text2.SetFocusElseText4 = Val(Text1) / Val(Text2)End IfEnd SelectEnd SubC.8Private Sub Text1_LostFocus()Select Case Trim(Text1)Case 1Text2 = "Monday"Case 2Text2 = "Tuesday"Case 3Text2 = "Wednesday"Case 4Text2 = "Thursday"Case 5Text2 = "Friday"Case 6Text2 = "Saturday"Case 7Text2 = "Sunday"Case Is > 7, Is < 1MsgBox "数字为1~7,重新输入"Text1 = ""Text1.SetFocusEnd SelectEnd Sub或者Private Sub Text1_LostFocus()If Text1 > 7 Or Text1 < 1 ThenMsgBox "数字为1~7,重新输入"Text1 = ""Text1.SetFocusElseText2 = Choose(Text1, "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")End IfEnd SubD.1Private Sub Form_Click()For i = 1 To 9Print Tab(10 - i); String(2 * i - 1, Trim(Str(i)))Next iEnd SubD.2Private Sub Form_Click()For i = 1 To 10 Step 1Print Tab(i); String((20 - 2 * i), Chr(64 + i))Next iEnd SubD.3Private Sub Command1_Click()Dim s!, t!, i&s = 1t = 1For i = 1 To 100000t = t + is = s + 1 / tIf 1 / t < 0.00001 Then Exit ForNext iPrint "For 结构"; s, i; "项"End SubD.4Private Sub Command1_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 iPrint "当n=" & n & "时,pi="; piEnd SubD.5Private Sub Form_Click()Dim s!, t!, i!, a%, n%a = Int(Rnd * 9 + 1)n = Int(Rnd * 6 + 5)t = 0: s = 0Print "a="; a, "n="; nFor i = 1 To nt = t * 10 + as = s + tPrint t;Next iPrintPrint "s="; sEnd SubD.6Private Sub Command1_Click()Dim s As Integers = 0For i = 1 To 9For j = 0 To 9For k = 0 To 9s = i * 100 + j * 10 + kIf s = i ^ 3 + j ^ 3 + k ^ 3 ThenPrint sEnd IfNext kNext jNext iEnd SubPrivate Sub Command3_Click()formd6.Hidemain.ShowEnd SubD.7Private Sub Command1_Click()Dim a!, x0!, x1!a = 27x0 = 2i = 0Doi = i + 1x1 = 2 * x0 / 3 + a / (3 * x0 * x0)If Abs(x1 - x0) < 0.00001 Then Exit Dox0 = x1LoopPrint x1, iEnd SubD.8Private Sub Command1_Click()s = 0x0 = 0.01For i = 1 To 30s = s + x0x0 = x0 * 2Next iPrint sEnd SubD.9Private Sub Command4_Click()Picture1.ClsPicture1.Print "x 课安排在"; "y 课安排在"; "z 课安排在"Picture1.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), "周一", "周二", "周三", "周四", "周五", "周六", "周日") Picture1.Print " "; X1; " "; Y1; " "; z1Next YNext xNext zEnd SubE.1Private Sub Form_Click()Dim a(1 To 10) As IntegerFor i = 1 To 10a(i) = Int(Rnd * 71 + 30)Print a(i); " ";Next iMax = a(1)Min = a(1)Avg = a(1)For i = 2 To 10If a(i) > Max Then Max = a(i)If a(i) < Min Then Min = a(i)Avg = Avg + a(i)Next iAvg = Avg / 10PrintPrint "Max="; Max; " Min="; Min; " Avg="; AvgEnd SubE.2Private Sub Form_Click()Dim aa = Array(56, 78, 98, 88, 76, 78)For i = 0 To 5Print String(a(i) \ 5, "◆"); a(i)PrintNext iEnd SubE.3Dim a%(19)Private Sub Command1_Click()Picture1.ClsFor i = 0 To 19a(i) = Int(Rnd * 101)Picture1.Print a(i); " ";If (i + 1) Mod 4 = 0 Then Picture1.PrintNext iEnd SubPrivate Sub Command2_Click()Picture2.ClsDim s(5 To 9)For i = 0 To 19k = a(i) \ 10Select Case kCase 0 To 5s(5) = s(5) + 1Case 9 To 10 '90~100 分的人数s(9) = s(9) + 1Case 6 To 8 ' 存放其他三个分数段的下标有规律,根据K 获得s(k) = s(k) + 1End SelectNext iFor i = 5 To 9If s(i) <> 0 Then Picture2.Print "s("; i; ")的人数有"; Format(s(i), "0"); "个" Next iEnd SubE.4Private Sub Command1_Click()Picture1.ClsDim d%(1 To 10)For i3 = 1 To 10Randomized(i3) = Int(Rnd * 91 + 10)Next i3For i = 1 To 10For j = 1 To 10 - iIf d(j) < d(j + 1) Thent = d(j): d(j) = d(j + 1): d(j + 1) = tEnd IfNext jNext iFor i = 1 To 10: Picture1.Print d(i);If i Mod 5 = 0 Then Picture1.PrintNext iEnd SubE.5Dim a%(3, 3), b%(3, 3)Private Sub Form_Load()For i = 0 To 3For j = 0 To 3a(i, j) = Int(Rnd * 36 + 35)b(i, j) = Int(Rnd * 41 + 100)Next jNext iEnd SubPrivate Sub Command1_Click()Picture1.ClsFor i = 0 To 3For j = 0 To iPicture1.Print a(i, j); " ";Next jPicture1.PrintNext iEnd SubPrivate Sub Command2_Click()Picture2.ClsFor i = 0 To 3For j = i To 3Picture2.Print Tab(j * 6); b(i, j);Next jPicture2.PrintNext iEnd SubPrivate Sub Command3_Click()Picture3.Clssa = 0For i = 0 To 3sa = sa + a(i, i)Next isb = 0For i = 0 To 3sb = sb + b(i, 3 - i)Next iPicture3.Print "A 数组主对角线元素和为:"; sa Picture3.Print "B 数组副对角线元素和为:"; sb End SubE.6Private Sub Form_Click()n = InputBox("输入n 值")ReDim a6%(n + 1, n + 1)a6(0, 0) = 1: a6(1, 1) = 1: a6(1, 0) = 1For i = 2 To n + 1For j = 2 To ia6(i, j) = a6(i - 1, j - 1) + a6(i - 1, j) Picture1.Print a6(i, j); "";Next jPicture1.PrintNextEnd SubE.7Private Sub Form_Load()List1.ClearList1.AddItem "大学计算机基础"List1.AddItem "C/C++程序设计"List1.AddItem "VB 程序设计"List1.AddItem "Web 程序设计"List1.AddItem "多媒体技术与应用"List1.AddItem "数据库技术与应用"List1.AddItem "网络技术与应用"List1.AddItem "硬件技术基础"List1.AddItem "软件技术技术基础"End SubPrivate Sub List1_Click()If List2.ListCount >= 5 ThenMsgBox ("超过5 门课程,不能再选")Exit SubElseList2.AddItem List1.TextList1.RemoveItem List1.ListIndexEnd IfEnd SubE.8Sub Combo1_KeyPress(KeyAscii As Integer) Select Case KeyAsciiCase 48 To 57, 13Case ElseKeyAscii = 0End SelectIf KeyAscii = 13 ThenCombo1.AddItem Combo1.TextCombo1.Text = ""End IfEnd SubPrivate Sub Command1_Click()Dim min%, max%min = Val(Combo1.List(0))max = Val(Combo1.List(0))imin = 0imax = 0For i = 1 To Combo1.ListCount - 1If Val(Combo1.List(i)) > max Thenimax = imax = Combo1.List(i)ElseIf Val(Combo1.List(i)) < min Thenimin = imin = Combo1.List(i)End IfNext it = Combo1.List(0)Combo1.List(0) = Combo1.List(imin)Combo1.List(imin) = tt = Combo1.List(Combo1.ListCount - 1)Combo1.List(Combo1.ListCount - 1) = Combo1.List(imax) Combo1.List(imax) = tEnd SubE.9Private Sub Form_Click()For i = 0 To Screen.FontCount - 1If Asc(Left(Screen.Fonts(i), 1)) < 0 ThenPicture1.Print Screen.Fonts(i)Picture2.FontName = Screen.Fonts(i)Picture2.Print "商丘师范学院"End IfNext iEnd SubE.10Private Type clerknumber As String * 3name As String * 5salary As IntegerEnd TypeDim a(0 To 4) As clerk, n%Private Sub Command1_Click()If n >= 5 ThenMsgBox ("输入人数超过数组声明的个数")ElseWith a(n).number = Text1.name = Text2.salary = Text3Picture1.Print a(n).number, a(n).name, a(n).salary PrintEnd Withn = n + 1Text1 = ""Text2 = ""Text3 = ""End IfEnd SubPrivate Sub Command2_Click()Dim t As clerk, i%, j%For i = 0 To n - 1For j = i To n - 1If a(i).salary < a(j + 1).salary Thent = a(i): a(i) = a(j + 1): a(j + 1) = tEnd IfNext jNext iPicture1.ClsPicture1.Print "工号姓名工资" For i = 0 To n - 1Picture1.Print a(i).number, a(i).name, a(i).salaryPrintNext iEnd SubF.1Private Sub Form_Click()Dim a(1 To 10), amin, i%For i = 1 To 10a(i) = -Int(Rnd * 101 + 300)Print a(i);Next iCall s(a(), amin)PrintPrint "min="; aminEnd SubSub s(b(), min)Dim i%min = b(LBound(b))For i = LBound(b) + 1 To UBound(b)If b(i) < min Then min = b(i)Next iEnd SubF.2Private Sub Command1_Click()Dim mm%, nn%mm = Val(Text1)nn = Val(Text2)Picture1.Print mm; Tab(6); nn; Tab(12); gcd(mm, nn) End SubFunction gcd%(ByVal m%, ByVal n%)If m < n Then t = m: m = n: n = tr = m Mod nDo While (r <> 0)m = n: n = r: r = m Mod nLoopgcd = nEnd FunctionF.3Dim x!Private Sub Command1_Click()Print "调用标准函数Sin 的结果"; Sin(x)End SubPrivate Sub Command2_Click()Print "调用自定义函数MySin 的结果"; MySin(x) End SubFunction MySin(x!) As DoubleDim i%, t!, s!t = xs = ti = 1Do While Abs(t) > 0.00001t = -1 * t * x * x / ((i + 1) * (i + 2))s = s + ti = i + 2LoopMySin = sEnd FunctionPrivate Sub Command3_Click()x = InputBox("输入要计算正弦函数的角度值x") x = x * 3.14 / 180End SubF.4Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 ThenIf Not IsNumeric(Text1) ThenMsgBox "输入非数字串,重新输入"Text1.Text = ""Text1.SetFocusElseIf IsH(Text1) ThenPicture1.Print Text1; " ★"ElsePicture1.Print Text1End IfText1 = ""End IfEnd IfEnd SubFunction IsH(ss As String) As BooleanDim i%, Ls%IsH = Truess = Trim(ss)Ls = Len(ss)For i = 1 To Ls \ 2If Mid(ss, i, 1) <> Mid(ss, Ls + 1 - i, 1) ThenIsH = FalseExit FunctionEnd IfNext iEnd FunctionF.5Function prime(ByVal m As Integer) As Booleanprime = TrueDim i%For i = 2 To m - 1If (m Mod i) = 0 Then prime = False: Exit Function '注意冒号和exit 的范围Next iEnd FunctionPrivate Sub Command1_Click()n = 0For i = 6 To 100 Step 2For j = 3 To i \ 2If prime(j) ThenIf prime(i - j) ThenList1.AddItem i & " =" & j & " +" & i - jn = n + 1End IfEnd IfNext jNext iPicture1.Print " 6 和100 之间共有"; n; "对素数和"End SubF.6Dim a%()Private Sub Form_Click()Print "1000 以内的完数为:"For i = 1 To 1000If IsWs(i) ThenPrint i; "=1";For j = 1 To UBound(a)Print "+"; a(j);Next jPrintEnd IfNext iEnd SubFunction IsWs(m) As BooleanDim s%s = 0For i = 1 To m \ 2If m Mod i = 0 ThenReDim Preserve a(j)a(j) = ij = j + 1s = s + iEnd IfNext iIf m = s Then IsWs = TrueEnd FunctionF.7Private Sub DeleStr(s1 As String, ByVal s2 As String)Dim i%ls2 = Len(s2)i = InStr(s1, s2)Do While i > 0s1 = Left(s1, i - 1) + Mid(s1, i + ls2) ' 在s1 中去除s2 子串i = InStr(s1, s2)LoopEnd SubPrivate Sub Command1_Click() ' 调用DeleStr 子过程Dim ss1 As Stringss1 = Text1Call DeleStr(ss1, Text2)Text3 = ss1End SubPrivate Sub Command2_Click()End SubF.8Private Sub Command1_Click()Dim maxw$maxlen Text1 & " ", maxwText2 = maxwEnd SubSub maxlen(s$, maxw$)Dimword$ maxw = ""Do While s <> ""i = InStr(s, " ")word = Left(s, i - 1)If Len(word) > Len(maxw) Then maxw = words = Mid(s, i + 1)LoopEnd SubG.1Private Sub Command1_Click()List1.ClearList1.AddItem 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(Text1))le = Len(st)If Not IsNumeric(Left(st, le - 2)) Or Right(st, 2) <> "MB" Then MsgBox "有不合法字符!"Text1 = ""Text1.SetFocusEnd IfEnd SubG.2Private Sub Check1_Click()Picture1.Font.Bold = Not Picture1.Font.BoldEnd SubPrivate Sub Check2_Click()Picture1.Font.Italic = Not Picture1.Font.BoldEnd SubPrivate Sub Command1_Click()Picture1.ClsIf Option1 ThenPicture1.Print Sin(Val(Text1))ElseIf Option2 ThenPicture1.Print Exp(Val(Text1))ElseIf Option3 ThenPicture1.Print Sqr(Val(Text1))End IfEnd SubPrivate Sub return_Click(Index As Integer)Form6.ShowUnload Form2End SubG.3Private Sub HScroll1_Change()Text1 = VScroll1.ValueText2 = HScroll1.ValueText3 = HScroll2.ValueText4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), "0.00") Text5 = Format(Val(Text4) + Val(Text1), "0.00")End SubPrivate Sub HScroll2_Change()Text1 = VScroll1.ValueText2 = HScroll1.ValueText3 = HScroll2.ValueText4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), "0.00") Text5 = Format(Val(Text4) + Val(Text1), "0.00")End SubPrivate Sub VScroll1_Change()Text1 = VScroll1.ValueText2 = HScroll1.ValueText3 = HScroll2.ValueText4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), "0.00") Text5 = Format(Val(Text4) + Val(Text1), "0.00")End SubG.4Dim t As SinglePrivate Sub Command1_Click()t = InputBox("输入倒计时分钟数")t = t * 60ProgressBar1.Min = 0ProgressBar1.Max = tProgressBar1.Value = tEnd SubPrivate Sub Command2_Click()Timer1.Interval = 1000ProgressBar1.Visible = TrueEnd SubPrivate Sub Timer1_Timer()Dim m%, s%t = t - 1ProgressBar1.Value = tm = t \ 60s = t Mod 60Label1 = m & "分" & s & "秒"If t = 0 ThenMsgBox " 时间到!"Timer1.Interval = 0ProgressBar1.Visible = FalseEnd IfEnd SubG.5Private Sub Command1_Click()CommonDialog1.ShowColorLabel1.ForeColor = CommonDialog1.ColorEnd SubPrivate Sub Command2_Click()CommonDialog1.ShowOpeni = Shell("C:\WINDOWS\NOTEPAD.exe " + CommonDialog1.FileName, vbNormalFocus) End SubG.6rivate Sub bold_Click()Text1.FontBold = Not Text1.FontBoldbold.Checked = Not bold.CheckedEnd SubPrivate Sub del_Click()Text1 = ""End SubPrivate Sub end_Click()EndEnd SubPrivate Sub font12_Click()Text1.FontSize = 12End SubPrivate Sub font16_Click()Text1.FontSize = 16End SubPrivate Sub Form_Load()bold.Checked = Falseitalic.Checked = FalseEnd SubPrivate Sub italic_Click()Text1.FontItalic = Not Text1.FontItalicitalic.Checked = Not italic.CheckedEnd SubPrivate Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu menu2End SubG.7Private Sub Command1_Click()CommonDialog1.ShowColorLabel1.ForeColor = CommonDialog1.ColorEnd SubPrivate Sub Command2_Click()CommonDialog1.ShowOpeni = Shell("C:\WINDOWS\NOTEPAD.exe " + CommonDialog1.FileName, vbNormalFocus) End SubPrivate Sub return_Click(Index As Integer)Form6.ShowUnload Form5End SubG.8G.9Private Sub 结束_Click()EndEnd SubPrivate Sub 删除最大值_Click()max = List1.List(0)For i = 1 To List1.ListCount - 1If max < List1.List(i) Then max = List1.List(i): j = i Next iList1.RemoveItem jEnd SubPrivate Sub 删除最小值_Click()min = List1.List(0)For i = 1 To List1.ListCount - 1If min > List1.List(i) Then min = List1.List(i): j = i Next iList1.RemoveItem jEnd SubPrivate Sub 随机产生_Click()RandomizeFor i = 0 To 9List1.List(i) = Int(Rnd * 30 + 70)Next iEnd SubPrivate Sub 添加数据_Click()List1.AddItem Int(Rnd * 30 + 70)End SubPrivate Sub 统计_Click()Dim max%, min%, ave!, m%, n%max = List1.List(0)min = List1.List(0)ave = List1.List(0)m = 0n = 0For i = 1 To List1.ListCount - 1If max < List1.List(i) Then max = List1.List(i): m = i If min > List1.List(i) Then min = List1.List(i): n = i ave = ave + List1.List(i)Next iForm2.Text1 = List1.List(n)Form2.Text2 = List1.List(m)Form2.Text3 = Format(ave / List1.ListCount, "0.00") Form2.ShowEnd SubG.10Private Sub experimentG2_Click()Form2.ShowEnd SubPrivate Sub experimentG3_Click()Form3.ShowEnd SubPrivate Sub experimentG4_Click()Form4.ShowEnd SubPrivate Sub experimentG5_Click()Form5.ShowEnd SubPrivate Sub font_12_Click()Text1.FontSize = 12End SubPrivate Sub font_16_Click()Text1.FontSize = 16End SubPrivate Sub rnd10_Click()RandomizeFor i = 0 To 9List1.List(i) = Int(Rnd * 30 + 70)Next iEnd SubPrivate Sub stat_Click()Dim max%, min%, ave!, m%, n%max = List1.List(0)min = List1.List(0)ave = List1.List(0)m = 0n = 0For i = 1 To List1.ListCount - 1If max < List1.List(i) Then max = List1.List(i): m = i If min > List1.List(i) Then min = List1.List(i): n = i ave = ave + List1.List(i)Next istat2.Text1 = List1.List(n)stat2.Text2 = List1.List(m)stat2.Text3 = Format(ave / List1.ListCount, "0.00")stat2.ShowEnd SubPrivate Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu caidan2, vbPopupMenuCenterAlignEnd SubPrivate Sub xie_Click()Text1.Font.Italic = Not Text1.Font.BoldEnd SubH.1Private Sub Command1_Click()Open "c:\score" For Output As #1Print #1, "051023", "王海涛", 66Print #1, "052498", "周文英", 88Print #1, "050992", "陈建东", 77Open "c:\score1" For Output As #2Write #2, "051023", "王海涛", 66Write #2, "052498", "周文英", 88Write #2, "050992", "陈建东", 77Closei1 = Shell("NOTEPAD.exe" + " c:\score", vbNormalNoFocus)i2 = Shell("NOTEPAD.exe" + " c:\score1", vbNormalNoFocus)End SubPrivate Sub Command2_Click()Dim no As String, name As String, s As IntegerOpen "c:\score" For Input As #1Do While Not EOF(1)Line Input #1, linedataList1.AddItem linedataLoopOpen "c:\score1" For Input As #2Do While Not EOF(2)Input #2, no, name, sList2.AddItem no & name & sLoopCloseEnd SubH.2Private Sub Command1_Click()Dim fib%(0 To 9), i%Open "c:\fb.dat" For Output As #1For i = 0 To 9If i = 0 Or i = 1 Thenfib(i) = iElsefib(i) = fib(i - 1) + fib(i - 2)End IfPrint #1, """Fib(" & i & ")""," & fib(i)Next iClose #1i = Shell("NOTEPAD.exe" + " c:\fb.dat", vbNormalNoFocus) End SubPrivate Sub Command2_Click()Dim st$, n%, sum%Open "c:\fb.dat" For Input As #1Do While Not EOF(1)Input #1, st, nsum = sum + nList1.AddItem st & "=" & nLoopClose #1List1.AddItem " 合计:" & sumList1.AddItem "平均:" & sum / 10End SubH.3H.4Private Type studtypeno As String * 4name As String * 6mark As SingleEnd TypeDim student As studtype, stud(1 To 5) As studtype, t As studtypePrivate Sub Command1_Click()Open "d:\score.dat" For Random As #1 Len = Len(student) With student.no = "0001".name = "星期一"。
东北大学15春学期《可视化程序设计(VB)》在线作业及满分答案一、单选题(共15 道试题,共75 分。
)1. 下面程序段运行后,变量n的值为()。
n=0 For x=3 To 11 Step2 n=n+1 Next xA. 4B. 5C. 6D. 7正确答案:B2. 目录列表框的Path属性的作用是()。
A. 显示当前驱动器或指定驱动器上的目录结构B. 显示当前驱动器或指定驱动器上的某目录下的文件名C. 显示根目录下的文件名D. 显示该路径下的文件正确答案:A3. 从键盘上输入两个字符串,分别保存在变量str1、str2中。
确定第二个字符串在第一个字符串中起始位置的函数是()。
A. LeftB. MidC. StringD. Instr正确答案:D4. 在窗体上画一个命令按钮,名称为Command1。
单击命令按钮时,执行如下事件过程:Private Sub Command1_Click() a$ = "software and hardware" b$ = Right(a$, 8) c$ = Mid(a$, 1, 8) MsgBox a$, , b$, c$, 1 End Sub 则在弹出的信息框的标题栏中显示的信息是()。
A. software and hardwareB. softwareC. hardwareD. 1正确答案:C5. 下列属于字符常量的是()。
A. Abs(x)B. "100"C. "val("100")"D. 10000/100正确答案:B6. 若某过程声明为Sub aa(n as integer),则调用实参与形参是按地址传递。
A. Callaa(5)B. Callaa(n+1)C. Callaa(n)D. Callaa(i-1)正确答案:D7. 以下不能在"工程资源管理器"窗口中列出的文件类型是( )。
《VB程序设计》综合复习资料第一章 Visual Basic程序设计概述一、填空题Visual Basic是一种面向__________的可视化程序设计语言,采取了__________的编程机制。
____________,窗体文件的扩展名是____________,标准模块文件的扩展名是____________。
VB工作模式是()A.模式B.运行模式C.汇编模式D.模式可视化编程的最大优点是()A.具有标准工具箱B.一个工程文件由若干个窗体文件组成C.不需要编写大量代码来描述图形对象D.所见即所得下列不能打开属性窗口的操作是A.执行视图菜单中的属性窗口命令B.按F4键C.按Ctrl+TD.单击工具栏上的属性窗口按钮下列可以打开立即窗口的操作是A.Ctrl+D B.Ctrl+E C.Ctrl+F D.Ctrl+G5、Visual Basic的编程机制是()A.可视化 B.面向对象 C.面向图形 D.事件驱动三、简答题1、代码窗口主要包括哪几部分?2、在工程资源管理器窗口中,主要列出了哪三类文件?3、窗体布局窗口的主要用途是什么?4、VB的基本特点是什么?怎样理解可视化设计?怎要理解事件驱动编程?填空题设置是否可以用Tab键来选取命令按钮,应该用______________属性_______和________属性决定,其大小由__________和_________属性决定。
3、利用对象的属性setfocus可获得焦点,对于一个对象只有其visible属性和____________属性为true,才能接受焦点。
设置控件背景颜色的属性名称是______________________。
所有控件都具有的共同属性是__________________属性。
一般情况下,控件有两个属性项的缺省值是相同的,这两个属性项是_______________。
VB中的每个对象(控件)都有一组特征,这组特征称为__________,我们通过修改它可以控制对象的外观和操作。
第3次作业一、单项选择题(本大题共76分,共19小题,每小题4分)1.以下关J" Visual Basic的参数传递的描述不正确的是______________________ 。
A.形式参数表和实际参数表屮对应的变最名必须相同B.形式参数表和实际参数表中对应的变量个数必须相同C.形式参数表和实际参数表中对应的变量类型必须相同D.形式参数表和实际参数表屮对应的书写顺序必须对应相同2.将数组看成一个整体作为过程的参数吋,是以方式实现参数传递的。
以下正确的描述是:在Visual Basic应用程序中_____________ 。
A.过程的定义不可以恢套,但过程的调用能恢套B.过程的定义可以恢套,但过程的调用不可以嵌套C.过程的定义和过程的调用均不可以嵌套D.过程的定义和过程的调用均可以嵌套3. ________________________ 在过程定义中用表示形参的传地址。
A.B.ByRefC.ByVaiD.ByValue4.在过程调用结束后还能保存过程屮局部变量的值,则使用________________ 关键字在过程中定义该局部变量。
A.DimB.PrivateC.PublicD.Static5.Sub过程与Function il程最根本的区别是。
Sub过程可以使川Call语句或直接使川过程名调川,而Function 程不可以B.Function过程可以有参数,Sub过程不可以C.两种过程参数的传递方式不同D.Sub过程的过程名不能返回值,而Function过程能通过过程名返回值6.要想在过程调用后返回两个结果,下面的过程定义语句屮合法的是__________ OA.Sub Proc(ByVal n,ByVal m)B.Sub Proc(n,ByVal m)C.Sub Proc(n,m)D.Sub Proc(ByVal n,m)7.以下叙述屮,不正确的是()。
A.过程11'的形式参数是局部变最。
第3次作业一、填空题(本大题共44分,共 11 小题,每小题 4 分)1. 窗体的Name属性只能在 ______ 设置。
2. 全局级变量的作用域为 ______ 。
3. 中断模式,除了用鼠标指向要观察的变量直接显示其值外,还可以通过______ 窗口、 ______ 窗口和 ______ 窗口观察有关变量的值。
4. 在用Show方法后显示自定义对话框时,如果Show方法后带 ______ 参数就将窗体作为模式对话框显示。
5. 用逻辑运算符连接两个或多个逻辑量组成的式子称为 ______ 。
6. 组合框的Style设置为 ______ 时,其风格为下拉式列表框;列表框的Style设置为 ______ 时,其风格为复选框。
7. 随机文件以 ______ 为单位读写,二进制文件以 ______ 为单位读写。
8. 假设A变量,(6+7A)÷SIN(2.34π)的VB表达式是 ______ 。
9. 使用通用对话框控件C1显示为一个标准的字体对话框,应使用语句______ 。
10. 若要在8号通道上建立顺序文件“c:\dir1\file2.dat”,使用的语句为______ 。
11. 某“学生成绩”表包括“学号”、“姓名”和“成绩”字段,要将学号为“040621’姓名为“张颖”、成绩为88的学生信息插入“学生成绩”表中,相应的Insert语句为: ______ 。
二、问答题(本大题共18分,共 3 小题,每小题 6 分)1. InputBox函数有何要求?2. 菜单名与菜单项有什么区别?3. 构造满足下列条件的Open语句。
(1)建立一个新的顺序文件Seqnew.dat,供用户写人数据,指定文件号为1。
(2)打开一个老的顺序文件Seqold.dat,用户将从该文件读出数据,指定文件号为2。
(3)打开一个老的顺序文件Seqappend.dat,用户将在该文件后面添加数据,文件号通过调用FreeFile函数获得。
参考答案第1章Visual Basic 简介一、选择题1、B2、C3、A4、D5、C6、A7、D8、C9、D 10、B11、C 12、B二、填空题1 过程对象事件驱动2 学习版专业版企业版企业版3 Alt+F4 Alt+Q4 设计运行中断5 设置在应用程序运行时,各窗体在屏幕上的显示位置6 内部(标准)7 资源管理器8 编译方式解释方式9 选择“视图/工具箱”命令10 print 或?“大家都来学用Visual Basic”11按字母序按分类序12编辑代码三、思考题略第2章Visual Basic程序设计概述一、选择题1、A2、A3、D4、D5、D6、C7、A 8、C 9、A 10、C 11、B 12、D13、C 14、C 15、B 16、B 17、D 18、B三、编程题1、(1)建立应用程序用户界面。
选择”新建”工程,进入窗体设汁器,在窗体中增加一个标签控件Labe11和两个命令按钮 Commandl 、 Comlnand2。
(2)设置对象属性,见表。
(可自由设置)3编写代码private sub command1_clicklabel1.visible=false1 窗体 控件2 Left Top Width Height3 Ctrl 或shift4 Scrollbars Multiline True Passwordchar5 事件过程6 在属性窗口设置 在代码窗口设置7 对象名 下划线 事件名8 Form_Click9 Form1.Hide10 界面设计 属性设置 代码编写 保存运行11 窗体文件 工程文件12 部件13 窗体文件 模块文件 类模块文件private sub command2_clicklabel1.visible=trueend sub2、Private Sub Command1_ClickIf Text1.Text<>””And Text2.Text<>””Then ′组合条件判断文本框是否为空Form1.Caption=Text1.Text & ″,″& Label2.Caption & ″″& Text2.Text End IfEnd Sub第3章Visual Basic程序设计基础一选择题1.B2.C3.D4.B5.B6.B7.D8.D9.C10.C11.D 12.C 13.D 14.D 15.A 16.D 17.D 18.D 19.C 20.C21.A22.D23.B24.A 25.B 26.A二、填空题1 our name is2 13 True4 字母数字下划线2555 56 07 Logx/log10/0.5+x^2或者Logx/log10/0.5+x*x8 0,1,2,3,49 x>=0 and x<10010 511 false12 6三、编程题1.提示:Ucase、Lcase的使用2.提示:属性设置中,“计算”按钮的default属性设为True.“清除”按钮的Cancel属性设为True.第4章数据输入输出一、选择题1、D2、A3、A4、B5、D6、B7、C 8、C 9、D 10、D二、填空题1. 1+1= 22+2=42. 500.00%3.将当前字体放大两倍4. 20-11-025. 11 1三、编程题1.提示:(1)流程图。
习题一答案在教材上找。
习题二1.对象指现实世界中的实体。
每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。
类是对同一种对象的集合与抽象。
类包含所创建对象的属性数据,以及对这些数据进行操作的方法。
封装和隐藏是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。
VB工具箱中的可视图标是VB系统设计好的标准控件类。
通过将控件类实例化,得到真正的控件对象。
在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。
VB中常用的对象是控件。
此外,VB还提供了系统对象。
窗体是个特例,它既是类也是对象。
当向一个工程添加一个新窗体时,实质就由窗体类创建了一个窗体对象。
对象的三要素:属性、事件和方法。
属性:存放对象的数据(决定对象外观及功能)对象属性的设置方法:在设计阶段,利用属性窗口直接设置属性值;程序运行时,通过语句[对象名.]属性名=属性值。
若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。
事件:发生在对象上的事情。
同一事件,对不同的对象,会引发不同的反应。
事件过程:应用程序处理事件的步骤。
应用程序设计的主要工作就是为对象编写事件过程的代码。
方法:面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数。
方法是面向对象的,调用时一定要指明对象。
2.窗体和控件具有的基本属性“(1) Name属性:名称所创建的对象名称,在程序中引用。
(2) Caption属性:标题该属性决定了对象上显示的内容。
(3) Height、Width、Top和Left属性决定对象的大小和位置。
(4) Enabled 属性:对象是否允许操作(5) Visible 属性:对象是否可见(6) Font 属性组:文本的外观FontName字体、FontSize大小FontBold粗体、FontItalic斜体FontStrikethru 删除线FontUnderline 下划线(7) ForeColor属性:前景颜色(8) BackColor属性:背景颜色(9) MousePointer属性:鼠标指针类型, 设置值范围0~15,由系统指定。
《可视化程序设计》题库及答案一、选择题1.用来将窗体隐藏,而并非从内存中删除的方法是()。
A. 窗体名称.HideB. Exit 窗体名称C. 窗体名称.ExitD. Unload 窗体名称2.将列表框(List Box)上要显示的内容放到列表框控件上的方法是()。
A. AdditemB. DataSourceC. ListIndexD. ToolTipText3.为了在运行时能显示窗体左上角的控制框(系统菜单),必须()。
A.把窗体的Contro1Box 属性设置为Fale,其他属性任意B.把窗体的ControlBox 属性设置为True,并且把Boder Style属性设置为1-5C.把窗体的ControlBox 属性设置为False,同时把BoderStyle属性调协为非0值D.把窗体的ControlBox 属性设置为True,同时把BoderStyle属性设置为0值4.有关多文档界面(Multiple document.nbspInterface)的不正确描述是()。
A.多文档界面(MDI)是指在一个父窗口下面可以同时打开多个子窗口B.子窗口归属于父窗口C.如果父窗口关闭,则所有子窗口全部关闭D.如果所有子窗口全部关闭,则父窗口关闭5.程序运行后,在窗体上单击鼠标,此时窗体不会接收到的事件是()。
A. MouseDownB.MouseUpC.LoadD.Click6.下列选项中全部属于SQL语言的常用命令的是()。
A.Create、From、Drop、Insert B.Where、From、Drop、InsertC.Create、Alter、Drop、Insert D.Between、From、Drop、Insert7.在窗体上按下鼠标左键后释放,不会触发窗体的哪个事件( )。
A.MouseDown B.MouseUp C. Dblclick D.Click8.为了把焦点移到某个指定的控件,所使用的方法是( )A.SetFocus B.Visible C.Refresh D.GetFocus9.可以同时删除字符串前导和尾部空白的函数是( )A.Ltrim B.Rtrim C.Trim D.Mid10.表达式4+5 \ 6 * 7 / 8 Mod 9 的值是( )A.4 B.5 C.6 D.711.下列语句中的语句( )可以实现顺序文件的按行读取操作。
VB程序设计编程考试题及答案1.输入3个数,输出最大的数Private Sub command1_click()Dim maxFor i = 1 To 3n = Val(InputBox("输入第" & i & "个数"))If n > max Thenmax = nEnd IfNextPrint "三个数中最大的数是" ; maxEnd Sub2.有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根Private Sub Command1_Click()Dim a, b, c, na = Text1b = Text2c = Text3n = b * b - 4 * a * cIf n >= 0 ThenLabel4 = "方程有根"ElseLabel4 = "方程无根"End IfEnd Sub3.输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示“恭喜!成绩通过!”,若小于60,则弹出消息框,显示“抱歉!成绩没有通过!Private Sub Form_Load()Text1 = ""End SubPrivate Sub Command1_Click()Dim nn = Text1If n > =60 ThenVal (MsgBox("恭喜!成绩通过!"))ElseVal (MsgBox("抱歉!成绩没有通过!"))End IfEnd Sub4.输入一年份,判断它是否为闰年,并显示有关信息。
(判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除)Private Sub Command1_Click()Dim y%y = InputBox("请输入年份")If y Mod 4 = 0 And y Mod 100 <> 0 Or y Mod 400 = 0 ThenVal (MsgBox("闰年!"))ElseVal (MsgBox("平年!"))End IfEnd Sub5.输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格。
可视化程序设计(VB)1 单选题1 在窗体上画两个单选按钮,名称分别为Option1、Option2,标题分别为“宋体”和“黑体”;一个复选框,名称为Check1,标题为“粗体”;一个文本框,名称为Text1,Text属性为“改变文字字体”。
要求程序运行时,“宋体”单选按钮和“粗体”复选框被选中(窗体外观如下图) ,则能够实现上述要求的语句序列是()。
DA Option1.value=TrueB Option1.Value=True Check1.Value=False Check1.Value=TrueC Option2.Value=FalseD Option1.Value=True Check1.Value=True Check1.Value=12 下列叙述中正确的是()。
CA 在窗体的Form_Load事件过程中定义的变量是全局变量B 局部变量的作用域可以超出所定义的过程C 在某个Sub过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程D 在调用过程时,所有局部变量被系统初始化为0或空字符串3 符号()是VB中的合法变量名。
DA 78WEB SUBC [X6Y]D X354 一个工程中含有窗体Form1、Form2和标准模块Model1,如果在Form1中有语句Pubilc X As Integer,在Model1中有语句Pubilc Y As Integer,则以下叙述中正确的是()。
CA 变量X、Y的作用域相同B Y的作用域是Model1C 在Form1中可以直接使用XD 在Form2中可以直接使用X和Y5 正确定义实型变量的是()。
BA Dim I As IntegerB Dim Sum As SingleC Dim Name As StringD "wjm="信息技术"6 程序运行后,在窗体上单击鼠标,此时窗体不会接收到的事件是()。
2011年12月考试可视化程序设计(VB)第三次作业及答案一、填空题(本大题共60分,共 15 小题,每小题 4 分)1. 要使用状态栏控件设计状态栏,应首先在“部件”对话框中选择 Microsoft Windows Common Controls 6.0 ,然后从工具箱中选择 StatusBar 控件。
2. 对象的边框类型由 BorderStyle 属性设置。
3. VB的每个菜单项都有一个下拉菜单,含有若干个菜单命令。
用鼠标单击某个菜单项就执行相应的菜单命令。
4. 菜单的热键指使用 Alt 键和菜单项标题中的一个字符来打开菜单。
建立热键的方法是在菜单标题的某个字符前加上一个 & 符号,在菜单中这一字符会自动加上下划线,表示该字符是一个热键字符。
5. 运行时,要使工具栏控件Toolbarl中的第二个按钮的按钮菜单中的第三项无效(变成灰色),应使用语句: Toolbarl.Buttons(2).ButtonMenus(3).Enabled=False。
6. 根据文件内容区分,文件分为程序文件和数据文件。
7. 当使用Format函数与Print方法一起输出时,格式字符串中的”#”号表示一个数字位,它的个数决定显示数据的长度,若要显示的数据位数大于这个长度,则显示时数据按原样显示。
8. 菜单在运行时的动态增减主要通过控件数组实现,首先将菜单项的 Visible 属性设为False,然后在程序中用 Load 语句加载。
9. 如果将工程的启动对象设置成 Main 子程序,则程序启动时可以不加载任何窗体。
10. 要从字符串“Visual Basic 6.0”中截取子字符串“Basic”可使用的函数是 Mid(“Visual Basic 6.0”,8,5) 。
11. 要在运行时给状态栏 StatusBar1的第二个窗格添加一幅图片,该图片由文件“c:\windows\winupd.ico”指定,应使用语句:StatusBar1.Panels(2).Picture=LoadPicture(“C:\Windows \Winupd.ico”)。
12. 若case子句中的表达式表列具有形式:表达式1 To 表达式2,则它的含义是:当测试表达式的值等于这个范围内的值时,执行该case子句相应的程序块。
13. 表示x是5的倍数或是9的倍数的逻辑表达式是 x mod 5=0 OR x mod 9=0 。
14. 程序运行过程中,在立即窗口显示变量f的语句是 Debug.Print f 。
15. 设Form1.Scaleleft=-250,Form1.Scalertop=300,Form1.Scalewidth=350,Form1.Scaleheight=500,则Form1的右下角坐标为 100,800 。
二、程序阅读题(本大题共40分,共 10 小题,每小题 4 分)1. 若窗体Form1上添加了通用对话框CommonDialog1,下面程序的功能是什么?Dim filename As StringDim str As StringCommonDialog1.Filter = "文本文件(*.TXT)|*.txt"CommonDialog1.Action = 1filename = CommonDialog1.filenameCommonDialog1.ShowColorForm1.ForeColor = CommonDialog1.ColorOpen filenameFor Input As #1Do While Not EOF(1)str = str + Input(1, #1)LoopForm1.Print strClose #1以选择的颜色作为窗体前景色,将一个文本文件显示在Form1窗体上2. Private Sub Form_Click()num = 0Donum = num + 3Print numLoop Until numMod 4 = 0End Sub程序运行后,单击窗体,输出结果是:3 6 9 123. 写出下面事件过程的执行结果。
Private Sub Command1_Click()Dim f(10) As Integerf(0)=1f(1)=1For i=2 To 10f(i)=f(i - 2)+f(i - 1)Next iFor i=0 To 9If i Mod 4=0 ThenPrintPrint f(i)Next iEnd Sub执行结果是:1 1 2 3 5 8 13 21 34 554.下列标准模块和窗体模块的功能是给通信录文件“d:\txrf1.dat”添加新记录,在横线上填上适当内容。
标准模块:Type txr num As Integername As String * 10tel As String * 8addr As String * 20End Type窗体模块:Private Sub Command1_Click()Dim n%, zgr As txrOpen "d:\txrf1.dat" For Random As #1Len = Len(zgr)zgr.num = InputBox("输入新职工编号:") = InputBox("输入新职工姓名:")zgr.tel = InputBox("输入新职工电话号码:")zgr.addr = InputBox("输入新职工住址:")n = LOF(1) / Len(zgr) + 1 (2)Put #1, n, zgrClose #1End Sub5. 写出下面的程序运行后,连续单击4次窗体,在Form1上的执行结果。
Private Sub Form_Click()Static a As IntegerDim b As Integerb=a+b+1a=a+bForm1.Print “a=”;a, “b=”;bEnd Sub执行结果为: a=1 b=1 a=3 b=2 a=7 b=4 a=15 b=86. 有如下事件过程,写出程序的功能(数学表达式)。
Private Sub Command1_Click()T=0M=1Sum =0DoT=T+MSum =Sum+TM=M+2Loop While M<=39Print“Sum =”;SumEnd Sub计算数学表达式:1+22+32+42+…+202==28707. 编写如下代码:dim flag as Booleanprivate sub form_mousedown(button as integer,shift as integer,x as single,y as single)flag=trueend subprivate sub form_mousemove(button as integer,shift as integer,x as single,y as single)flag=falseend subprivate sub form_mouseup(button as integer,shift as integer,x as single,y as single)if flag=false thenprint "DDDD"end ifend sub程序运行后,如果在窗体上输出“DDDD”,则应执行的操作为移动鼠标并松开鼠标左键。
8. 下面事件过程的功能是从键盘上输入若干个数据存放到一维数组a中,并求出这组数据的平均值,在横线上填上适当内容。
Private Sub Command1_Click()Dim n%, i%Dim a() As Integern=InputBox("请输入数据个数:")ReDim a(n)For i=1 To na(i)=InputBox("请输入第" & Str(i) & "个数据:")Next iFor i=1 To nSum=Sum+a(i)Next iPrint "平均值:"; Sum / nEnd Sub9. 下面程序的作用是什么?Private Sub Command1_Click()Dim a()a = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)For n = 0 To 8Print a(n);NextPrintCall s1(a)For n = 0 To 8Print a(n);NextEnd SubPrivate Sub s1(ByRef x())s = UBound(x)For n = 0 To s / 2temp = x(n)x(n) = x(s - n)x(s - n) = tempNextEnd Sub将数组a倒置10. 使用情况语句改写下列事件过程。
Private Sub Command1_Click()Dim score!, grade$score=InputBox("请输入一个学生的分数:") If score>=90 ThenGrade=”A”ElseIf score>=80 ThenGrade=”B”ElseIf score>=70 ThenGrade=”C”ElseIf score>=60 ThenGrade=”D”ElseGrade=”E”End IfPrint "该学生的分数等级为:"; grade; End SubPrivate Sub Command1_Click()Dim score!, grade$score=InputBox("请输入一个学生的分数:") Select Case scoreCase Is>=90grade="A"Case Is>=80grade="B"Case Is>=70grade="C"Case Is>=60grade="D"Case Elsegrade="E"End SelectPrint "该学生的分数等级为:"; grade; End Sub。