VB程序设计基础例题

合集下载

VB程序设计基础例题

VB程序设计基础例题

3.1交换变量a1、a2的值,P35Private Sub Form_Click()Dim a1 As Integer, a2 As Integer, t As Integera1 = 5: a2 = 10Form1.Print "交换"; a1; a2t = a1: a1 = a2: a2 = tForm1.Print "得:"; a1; a2End SubPrivate Sub Form_Load()Form1.AutoRedraw = TrueForm1.Print "交换两个数"Form1.Print "单击窗体开始"End Sub3.2 Tab 函数,P35Private Sub Form_Click()Form1.Print Tab(10); "*********"Form1.Print Tab(11); "*******"Form1.Print Tab(12); "*****"Form1.Print Tab(13); "***"Form1.Print Tab(14); "*"End SubPrivate Sub Form_Load()Form1.AutoRedraw = TrueForm1.Print "显示星号三角形,单击窗体开始"End Sub3.5 Move 方法在指定位置显示窗体,文本框和图,P45 Private Sub Form_Load()Picture1.AutoRedraw = TrueMove 3000, 2000, 2800, 2800Text1.Move 300, 200, 2000, 500Picture1.Move 300, 1000, 1600, 1200Text1.Text = "文本框"Picture1.Print "图片框"End Sub图3.13 显示和隐藏,P46Private Sub Form_Click()Form1.HideForm2.ShowEnd SubPrivate Sub Form_Load()AutoRedraw = TrueForm1.Print "单击显示form2"End SubPrivate Sub Form_dblClick()Form2.HideForm1.ShowEnd SubPrivate Sub Form_Load()AutoRedraw = TrueForm2.Print "双击显示form1"End Sub3.6输出位置以及字体设置,P46Private Sub Form_Load()AutoRedraw = TrueForm1.Width = Screen.Width / 2Form1.Height = Screen.Height / 3Form1.Left = (Screen.Width - Form1.Width) / 2Form1.Top = (Screen.Height - Form1.Height) / 2FontName = "黑体": FontSize = 20str1$ = "Visual Basic 应用程序"CurrentX = (Form1.Width - TextWidth(str1$)) / 2CurrentY = (Form1.Height - TextHeight(str1$)) / 3Form1.Print str1$End Sub3.12 InputBox及“+”的应用P53Private Sub Form_Click()a = InputBox("enter an integer", 123, 456, , , HelpFile, context)b = InputBox("enter an integer")Text1.Text = b + aEnd Sub3.11计时器,P52Rem “计时开始”按钮单击事件Private Sub Command1_Click()Text1.Text = "计时开始"Form1.Tag = TimerCommand1.Enabled = FalseCommand2.Enabled = TrueEnd SubRem “计时停止”按钮单击事件Private Sub Command2_Click()Text1.Text = CInt(10 * (Timer - Form1.Tag)) / 10 Command1.Enabled = TrueCommand2.Enabled = FalseEnd SubRem“结束”按钮单击事件Private Sub Command3_Click()EndEnd SubRem 窗体装载事件作初始化Private Sub Form_Load()Text1.Text = "计时器"Command2.Enabled = FalseTimer1.Interval = 100End SubRem 计时器控制事件由interval属性设置的时间间隔触发Private Sub Timer1_Timer()Label1.Caption = Time$End Sub3.13 计算平方根,P55Private Sub Form_Click()Dim intFlag As IntegerDim strNumber As StringDim strMSG As StringstrNumber = InputBox("输入一个数")msg$ = "输入的数是:" + strNumber + Chr$(13) + Chr(10) + "确认是否正确" intFlag = MsgBox(msg$, 36)If intFlag = 6 ThenPrint "Sqr("; strNumber; ")="; Sqr(Val(strNumber))ElsePrint "取消操作"End IfEnd SubPrivate Sub Form_Load()AutoRedraw = TruePrint "计算一个数的平方根"Print "单击窗体开始"End Sub3.14 Msg函数,P56Private Sub Command1_Click()a$ = "software and hardware"b$ = Right(a$, 8)c$ = Mid(a$, 1, 8)MsgBox a$, , b$, c$, 1End SubPrivate Sub Command1_Click()x = Val(InputBox("输入一个数"))If x > 0 Then Print Log(x) / Log(10) Else Print "数据错误" End SubPrivate Sub Form_Load()Form1.AutoRedraw = tureForm1.Print "计算一个数的常用对数"End Sub4.3 字体设置,P68Private Sub Check1_Click()If Check1.Value = 1 ThenText1.FontBold = TrueElseText1.FontBold = FalseEnd IfEnd SubPrivate Sub Check2_Click()If Check2.Value = 1 ThenText1.FontItalic = TrueElseText1.FontItalic = FalseEnd IfEnd SubPrivate Sub Check3_Click()If Check1.Value = 1 ThenText1.FontUnderline = TrueElseText1.FontUnderline = FalseEnd IfEnd SubPrivate Sub Form_Load()Text1.Text = "Visual Basic应用程序"End SubPrivate Sub Option1_Click()Text1.FontSize = 8End SubPrivate Sub Option2_Click()Text1.FontSize = 12End SubPrivate Sub Option3_Click()Text1.FontSize = 16End SubPrivate Sub Command1_Click()x = Val(InputBox("输入年份"))If x Mod 400 = 0 Theny$ = "是闰年"ElseIf x Mod 4 = 0 ThenIf x Mod 100 <> 0 Theny$ = "是闰年"Elsey$ = "不是闰年"End IfElsey$ = "不是闰年"End IfForm1.Print x; y$End Sub4.5 Case语句,成绩等级判定,P71Private Sub Command1_Click()x = Val(InputBox("输入一个数"))Select Case xCase 90 To 100y$ = "优"Case 80 To 89y$ = "良"Case 70 To 79y$ = "中"Case 60 To 69y$ = "及格"Case 0 To 59y$ = "不及格"Case Elsey = "输入错误"End SelectForm1.Print "成绩:"; x; Chr$(13) + Chr$(10); "等级:"; y$ End Sub4.6 计算阶乘,P73Private Sub Command1_Click()n = Val(InputBox("输入一个自然数")) term = 1For i = 1 To n Step 1term = term * iNext iForm1.Print n; "!="; termEnd Sub4.7 计算“2+4+6+……+100”,P73 Private Sub Command1_Click()Sum = 0For x = 2 To 100 Step 2Sum = Sum + xNext xForm1.Print "Sum="; SumEnd SubPrivate Sub Form_Load()Form1.AutoRedraw = TrueForm1.Print "计算2+4+6+ (100)End Sub4.8 计算“1+2!+3!+……+10!”,P73 Private Sub Command1_Click()t = 1: s = 0For k = 1 To 10t = t * ks = s + tNext kForm1.Print sEnd SubPrivate Sub Form_Load()Form1.AutoRedraw = TrueForm1.Print "1+2!+3!……+10!="End Sub4.9计算e的近似值,精确到10^-6 ,P74Private Sub Command1_Click()Dim e As Single, t As Single, n As Singlee = 1: n = 0: t = 1Don = n + 1t = t / ne = e + tLoop While t > 0.000001Print e, nEnd Sub4.11 While - Wend循环,成绩等级划分,P76Private Sub Command1_Click()no = 0: a = 0: b = 0: c = o: d = 0: e = 0x = Val(InputBox("输入成绩,输入0-100以外的数时结束")) While x >= 0 And x <= 100no = no + 1If x >= 90 Thena = a + 1ElseIf x >= 80 Thenb = b + 1ElseIf x >= 70 Thenc = c + 1ElseIf x >= 60 Thend = d + 1Elsee = e + 1End Ifx = Val(InputBox("输入成绩,输入0-100以外的数时结束")) WendForm1.Print "总人数:"; noForm1.Print "优秀:"; aForm1.Print "良好:"; bForm1.Print "中等:"; cForm1.Print "及格:"; dForm1.Print "不及格:"; eEnd Sub4.10 猜数字,Do-Loop循环,P75Private Sub Command1_Click()Dim n As Integer, x As IntegerRandomizen = Int(100 * Rnd)Dox = Val(InputBox("输入一个100以内的整数"))If x = n ThenForm1.Print x; "正确"Exit DoElseIf x > n ThenForm1.Print x; "太大"ElseForm1.Print x; "太小"End IfLoopEnd Sub4.14 组合框,P80Private Sub Combo1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 ThenFor i = 0 To Combo1.ListCount - 1If Combo1.Text = Combo1.List(i) ThenLabel2.Caption = "输入项已在组合中"Exit SubEnd IfNext iLabel2.Caption = "已成功添加输入项"Combo1.AddItem Combo1.TextEnd IfEnd Sub点菜,列表框Option ExplicitPrivate Sub command1_Click()Dim i%For i = List1.ListCount - 1 To 0 Step -1 If List1.Selected(i) ThenList2.AddItem List1.List(i)List1.RemoveItem iEnd IfNext iEnd SubPrivate Sub Command2_Click()Dim i%For i = List2.ListCount - 1 To 0 Step -1 If List2.Selected(i) ThenList1.AddItem List2.List(i)List2.RemoveItem iEnd IfNext iEnd SubPrivate Sub Command3_Click()EndEnd SubPrivate Sub Form_Load()List1.AddItem "1"List1.AddItem "2"List1.AddItem "3"List1.AddItem "4"List1.AddItem "5"List1.AddItem "6"List1.AddItem "7"List1.AddItem "8"End SubPrivate Sub List1_DblClick()List2.AddItem List1.List(List1.ListIndex) List1.RemoveItem List1.ListIndexEnd SubPrivate Sub List2_DblClick()List1.AddItem List2.List(List2.ListIndex) List2.RemoveItem List2.ListIndexEnd Sub4.15 三重For 循环练习,P81Private Sub Command1_Click()Dim x As Integer, n As IntegerDim a As Integer, b As Integer, c As Integer n = 0For a = 1 To 3For b = 1 To 3For c = 1 To 3x = 100 * a + 10 * b + cn = n + 1Form1.Print x;If n Mod 10 = 0 Then PrintNext cNext bNext aForm1.PrintForm1.Print "三位数的个数是"; nEnd Sub4.16 多重Do - Loop循环及其退出,P82 Private Sub Form_Click()Dim cheek, countercheek = Truecounter = 0DoDo While counter < 20counter = counter + 1If counter = 10 Thencheek = FalseExit DoEnd IfLoopLoop Until cheek = FalsePrint counter, cheekEnd Sub4.17 有条件转移控制语句,P83 Private Sub Command1_Click()Dim a As Integer, b As Integer, c As Integer Randomize100a = Int(10 * Rnd):b = Int(10 * Rnd)Form1.Print a; "+"; b; " = ";str1$ = Str$(a) + "+" + Str$(b) + "="c = Val(InputBox(str1$))If c = a + b ThenForm1.Print c; "正确"ElseForm1.Print c; "错误,重做一题"GoTo 100End IfEnd Sub4.18 多分支选择转移,P84Private Sub Command1_Click()Dim n As Integer, b As Singlen = Val(InputBox("输入商品号码1~4")) On n GoTo 110, 210, 310, 410End110 a$ = "圆珠笔"b = 2c$ = "上海"GoTo 30210 a$ = "钢笔"b = 8.5c$ = "成都"GoTo 30310 a$ = "日记本"b = 3.6c$ = "南京"GoTo 30410 a$ = "蓝墨水"b = 1.8c$ = "重庆"GoTo 3030 Print a$, b, c$End Sub4.19 平方根,GoTo语句控制循环,P85Private Sub Command1_Click()Dim x As Single, y As Singlest:x = Val(InputBox("输入一个数(输入负数结束)"))If x < 0 Then Endy = Sqr(x)Print "sqr("; x; ")="; yGoTo stEnd Sub4.20 二分法求f(x)=x^3+4x^2-10=0在区间(1,4)内的实根,P86 Private Sub Command1_Click()a = 1:b = 4While b - a > 0.00001x = (a + b) / 2f1 = a ^ 3 + 4 * a ^ 2 - 10f = x ^ 3 + 4 * x ^ 2 - 10If f1 * f > 0 Thena = xElseb = xEnd IfWendPrint "x="; CInt(x * 10000) / 10000End Sub4.21百钱白鸡,P87Private Sub Command1_Click()Dim x As Integer, y As Integer, z As IntegerForm1.Print "公鸡", "母鸡", "小鸡"For x = 0 To 20For y = 0 To 33z = 100 - x - yIf 5 * x + 3 * y + z / 3 = 100 Then Print x, y, zNext y, xEnd Sub4.22 最大公约数,最小公倍数,P88Private Sub Command1_Click()Dim m As Integer, n As Integer, u As Integer, v As Integer m = Val(Text1.Text)n = Val(Text2.Text)If m > n Thenu = m: v = nElsev = m: u = nEnd IfDor = u Mod vu = v: v = rLoop Until r = 0Print "最大公约数:"; uPrint "最小公倍数:"; m * n / uEnd Sub4.23判断质数,P88Private Sub Command1_Click()Dim n As Integer, i As Integern = Val(InputBox("输入一个大于1的正整数"))For i = 2 To n - 1If n Mod i = 0 Then Exit ForNext iIf i > n - 1 ThenPrint n; "是质数"ElsePrint n; "不是质数"End IfEnd Sub5.1 一位数组元素的赋初值,P99 Option Base 1Private Sub Form_Click()Dim a As Variant, b As Varianta = Array(1, 2, 3, 4, 5, 6, 7)b = Array("one", "two", "three")For i = 1 To 7Print a(i);Next iPrintFor i = 1 To UBound(b)Print b(i); " ";Next iPrintEnd Sub5.2 一维数组的输入和输出,P100 Option Base 1Private Sub Form_Click()Dim a(10) As IntegerFor i = 1 To 10a(i) = Val(InputBox("Enter data")) Next iFor i = 1 To 10Print a(i); " ";Next iPrintEnd Sub5.4 Split和JoinDim a() As StringPrivate Sub Command1_Click()a = Split(Text1.Text, ",")End SubPrivate Sub Command2_Click() Text2.Text = Join(a, " ")End Sub5.3 二维数组的输入和输出,P100Option Base 1Private Sub Form_Click()Dim a(3, 3) As IntegerFor i = 1 To 3For j = 1 To 3a(i, j) = Val(InputBox("enter data"))Next jNext iFor i = 1 To 3For j = 1 To 3Print a(i, j); " ";Next jPrintNext iEnd Sub图5.4 数组的赋值,P102Option Base 1Private Sub Form_click()Dim a As Variant, b() As Varianta = Array(1, 2, 3, 4, 5)b = aPrintPrint "输出b数组:"For i = 1 To 5Print b(i); " ";Next iEnd Sub5.5 For Each …Next 语句输出数组元素的值,P102 Option Base 1Private Sub Form_Click()Dim a(10) As IntegerFor i = 1 To 10a(i) = Int(100 * Rnd)Next iPrintFor Each x In aPrint x; " ";Next xEnd Sub5.6控件数组的使用,P105Private Sub Option1_Click(Index As Integer) Dim X As Integer, Y As IntegerX = Val(Text1.Text)Y = Val(Text2.Text)Select Case IndexCase 0Label4.Caption = X + YCase 1Label4.Caption = X - YCase 2Label4.Caption = X * YCase 3Label4.Caption = X / YCase 4Label4.Caption = X \ YCase 5Label4.Caption = X Mod YEnd SelectEnd Sub5.9 求10个数中的最大值和最小值,P110 Option Base 1Private Sub Form_Click()Dim a As Varianta = Array(56, 90, -123, 58, 5, 10, 90, 54, 66, 518) Max = a(1)Min = a(1)For i = 2 To 10If a(i) > Max Then Max = a(i)If a(i) < Min Then Min = a(i)Next iPrintPrint "10个数为:"For i = 1 To UBound(a)Print a(i); " ";Next iPrintPrint "最大值为:"; MaxPrint "最小值为:"; MinEnd Sub5.7 自定义数据类型变量,P107 Private Type studentnum As String * 8name As String * 8total As Integeraverage As IntegerEnd TypePrivate Sub command1_Click() Dim stud As studentstud.num = "20032001" = "张大山"stud.total = 356stud.average = 89Text1(0) = stud.numText1(1) = Text1(2) = stud.totalText1(3) = stud.averageEnd Sub5.7改Private Type studentnum As String * 8name As String * 8total As Integeraverage As IntegerEnd TypePrivate Sub command1_Click() Dim stud As studentWith stud.num = "20032001".name = "张大山".total = 356.average = 89Text1(0) = .numText1(1) = .nameText1(2) = .totalText1(3) = .averageEnd WithEnd Sub5.8 自定义数据类型数组的声明和使用,P108Private Type studentno As String * 6name As String * 6s1 As Integers2 As Integers3 As Integertotal As Singleaver As SingleEnd TypePrivate Sub Form_click()Dim a(1 To 5) As student, t As studentn = 5For i = 1 To na(i).no = InputBox("输入第" & i & "个学生的学号:")a(i).name = InputBox("输入第" & i & "个学生的姓名:")a(i).s1 = Val(InputBox("输入第" & i & "个学生的语文成绩:")) a(i).s2 = Val(InputBox("输入第" & i & "个学生的数学成绩:")) a(i).s3 = Val(InputBox("输入第" & i & "个学生的英语成绩:")) Next iFor i = 1 To na(i).total = a(i).s1 + a(i).s2 + a(i).s3a(i).aver = a(i).total / 3Next iFor i = 1 To n - 1For j = i + 1 To nIf a(i).aver < a(j).aver Thent = a(i)a(i) = a(j)a(j) = tEnd IfNext jNext iPrintPrint " 学号姓名语文数学英语总分平均分" For i = 1 To nPrint Tab(2); a(i).no; Tab(10); a(i).name; Tab(18); a(i).s1; " "; Print a(i).s2; " "; a(i).s3; " "; a(i).total; " "; a(i).averNext iEnd Sub5.10用比较交换法对10个数从小到大排序,P111 Option Base 1Private Sub Form_click()Dim a As Varianta = Array(56, 90, -123, 58, 5, 10, 100, 54, 66, 518)n = UBound(a)Print "排序前10个数为:"For Each x In aPrint x; " ";Next xPrintFor i = 1 To n - 1For j = i + 1 To nIf a(i) > a(j) Thent = a(i)a(i) = a(j)a(j) = tEnd IfNext jNext iPrint "排序后的10个数为:"For i = 1 To nPrint a(i); " ";Next iEnd SubOption Base 1Private Sub Form_Click()Dim a As Varianta = Array(56, 90, -123, 58, 5, 10, 100, 54, 66, 518) n = UBound(a)Print "排序前10个数为:"For Each x In aPrint x; " ";Next xPrintFor i = 1 To n - 1p = iFor j = i + 1 To nIf a(p) > a(j) Then p = jNext jt = a(i)a(i) = a(p)a(p) = tNext iPrint "排序后的10个数为:"For i = 1 To nPrint a(i); " ";Next iEnd SubOption Base 1Private Sub Form_click()Dim a As Varianta = Array(56, 90, -123, 58, 5, 10, 100, 54, 66, 518) n = UBound(a)Print "排序前10个数为:"For Each x In aPrint x; " ";Next xPrintFor i = 1 To n - 1For j = 1 To n - 1If a(j) > a(j + 1) Thent = a(j)a(j) = a(j + 1)a(j + 1) = tEnd IfNext jNext iPrint "排序后的10个数为:"For i = 1 To nPrint a(i); " ";Next iEnd Sub5.13 城市运动会,P114Private Sub Form_Load()Dim nam(1 To 20) As String * 10, t As String * 10 For i = 1 To 20nam(i) = InputBox("输入参赛城市名")List1.AddItem nam(i)Next iFor i = 1 To 19For j = i + 1 To 20If nam(i) > nam(j) Thent = nam(i)nam(i) = nam(j)nam(j) = tEnd IfNext jNext iFor i = 1 To 20List2.AddItem nam(i)Next iEnd Sub5.14 顺序查询,P114Option Base 1Private Sub Form_Click()Dim a As Varianta = Array(-123, -10, 5, 8, 30, 56, 59, 66, 90, 518) n = UBound(a)Print "数组a中的10个数为:"For Each x In aPrint x; " ";Next xPrintk = Val(InputBox("输入要查询的关键值")) Print "要查询的数是:"; kp = 1While k <> a(p) And p < np = p + 1WendIf k = a(p) ThenPrint k; "has be found, on"; p; "th position."ElsePrint k; "has not be found."End IfEnd Sub5.15 折半查询,P116Option Base 1Private Sub Form_Click()Dim a As Varianta = Array(-123, -10, 5, 8, 30, 56, 59, 66, 90, 518) n = UBound(a)Print "数组a中的10个数为:"For Each x In aPrint x; " ";Next xPrintk = Val(InputBox("输入要查询的关键值")) Print "要查询的数是:"; klow = 1hig = nfind = -1While low <= hig And find = -1m = (low + hig) \ 2If k = a(m) Thenfind = 1Print k; "has be found,on"; m; "th position." ElseIf k < a(m) Thenhig = m - 1Elselow = m + 1End IfEnd IfWendIf find = -1 ThenPrint k; "has not be found."End IfEnd Sub5.16 矩阵乘以常数,P116Option Base 1Private Sub Form_Click()Dim nx1(3, 5) As Integer, nx2(3, 5) As Integer For i = 1 To 3For j = 1 To 5nx1(i, j) = Val(InputBox("输入nx1数组")) Next jNext iFor i = 1 To 3For j = 1 To 5nx2(i, j) = 10 * nx1(i, j)Next jNext iPrint "输出nx2数组:"For i = 1 To 3For j = 1 To 5Print nx2(i, j); " ";Next jPrintNext iEnd SubOption Base 1Private Sub Form_Click()Dim nx1(2, 5) As Integer, nx2(2, 5) As Integer Dim nx3(2, 5) As IntegerFor i = 1 To 2For j = 1 To 5nx1(i, j) = Val(InputBox("输入nx1数组:")) Next jNext iFor i = 1 To 2For j = 1 To 5nx2(i, j) = Val(InputBox("输入nx2数组:")) Next jNext iFor i = 1 To 2For j = 1 To 5nx3(i, j) = nx1(i, j) + nx2(i, j)Next jNext iPrint "输出nx3数组:"For i = 1 To 2For j = 1 To 5Print nx3(i, j); " ";Next jPrintNext iEnd SubOption Base 1Private Sub Form_Click()Dim a(4, 2) As Integer, b(2, 3) As Integer Dim c(4, 3) As IntegerFor i = 1 To 4For j = 1 To 2a(i, j) = Val(InputBox("输入a数组:")) Next jNext iFor i = 1 To 2For j = 1 To 3b(i, j) = Val(InputBox("输入a数组:")) Next jNext iFor i = 1 To 4For j = 1 To 3c(i, j) = 0For k = 1 To 2c(i, j) = c(i, j) + a(i, k) * b(k, j)Next kNext jNext iPrint "输出c数组:"For i = 1 To 4For j = 1 To 3Print c(i, j); " ";Next jPrintNext iEnd Sub。

VB基础部分(练习题)

VB基础部分(练习题)

语言基础单选1、与传统的程序设计语言相比,Visual Basic 最突出的特点是:A 结构化程序设计B 程序开发环境C事件驱动编程机制 D 程序调试技术2、假定已在窗体上画了多个控件,并有一个控件是活动的,为了在属性窗口设置窗体的属性,预先应执行的操作是:A 单击窗体上没有控件的地方B 单击任一个控件C 不执行任何操作10D 双击窗体的标题栏3、在Visual Basic工程中,可以+-*作为启动对象的程序是A 任何窗体或标准模块B 任何窗体或过程C Sub Main过程或其他任何模块D Sub Main过程或任何窗体4、以下叙述中错误的是A 一个工程可以包括多种类型的文件B Visual Basic应用程序既能以编译方式执行,也能以解释方式执行C程序运行后,在内存中只能驻留一个窗体D 对于事件驱动型应用程序,每次运行时的执行顺序可以不一样5、以下叙述中错误的是A 打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件B 保存Visual Basic程序时,应分别保存窗体文件及工程文件C Visual Basic应用程序只能以解释方式执行D 事件可以由用户引发,也可以由系统引发6、如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是A如果工程中含有Sub Main过程,则程序一定首先执行该过程B 不能把标准模块设置为启动模块C 用Hide方法只是隐藏一个窗体,不能从内存中清除该窗体D 任何时刻最多只有一个窗体是活动窗体7、下列可以作为Visual Basic的变量名的是:A FileNameB a(A+b)C 23D D print8、以下声明语句中错误的是A Const var1=123B Dim var2 = 'ABC'C public a,b as integerD Static var3 As Integer9、以下运算符中,不是逻辑运算符的是:A OrB XorC ImpD mod10、下列选项中,把r定义为双精度型变量的是:A r%B r!C r#D r$11、用来将数值转换为字符串类型的函数是:A Chr$()B Asc()C Str$()D Val()12、在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:Private Sub Command1_Click()X = 12345Print Format$(X, "000.00")End Sub程序运行后,单击命令按钮,窗体上显示的是A 123.45B 12345.00C 12345D 00123.4513、inputBox函数的返回值类型是:A 数值B 字符串C 变体 D数值或字符串(视输入的数据而定)填空1、在VB中,Len(“共产党”)的值是:_3______________;执行语句s=Len(Mid("VisualBasic",1,6))后,s的值是:__6_____________2、语句print “25+32”的结果是:_25+32__________________3、设a=2,b=3,c=4,d=5,则表达式3>2*b OR a=c AND b<>c OR c>d的值是:_____false_________ ;NOT a<=c OR 4*c=b^2 AND b<>a+c的值是_____________4、以下语句的输出结果是:_3______a%=3.14159Print a%5、在VB中,工程文件的扩展名是.VBP,窗体文件的扩展名是.____ ___________。

vb程序设计试题及答案

vb程序设计试题及答案

vb程序设计试题及答案一、选择题(每题2分,共20分)1. 在VB中,下列哪个选项是正确的数据类型?A. IntegerB. DoubleC. StringD. All of the above答案:D2. VB中用于声明变量的关键字是?A. DimB. DeclareC. SetD. All of the above答案:A3. 在VB中,下列哪个选项是正确的循环语句?A. ForB. DoC. WhileD. All of the above答案:D4. VB中用于打开文件的函数是?A. OpenB. CloseC. WriteD. Read答案:A5. 在VB中,下列哪个选项是正确的条件语句?A. If...ThenB. Select CaseC. Do WhileD. All of the above答案:A6. VB中用于创建新窗体的语句是?A. Form.ShowB. Form.NewC. Form.CreateD. Form.Open答案:A7. VB中用于声明常量的关键字是?A. ConstB. DimC. StaticD. Option答案:A8. 在VB中,下列哪个选项是正确的数组声明?A. Dim arr(5) As IntegerB. Dim arr() As IntegerC. Dim arr As IntegerD. Dim arr(5) As String答案:A9. VB中用于结束程序的语句是?A. EndB. ExitC. CloseD. All of the above答案:B10. VB中用于捕获异常的语句是?A. Try...CatchB. On ErrorC. CatchD. All of the above答案:B二、填空题(每题2分,共20分)1. 在VB中,声明一个名为myVar的变量,其类型为字符串,应该使用语句________。

答案:Dim myVar As String2. VB中,用于定义一个名为myFunction的函数,返回值为整数,应该使用语句________。

VB程序设计30道编程题

VB程序设计30道编程题

V B程序设计30道编程题------------------------------------------作者xxxx------------------------------------------日期xxxx'1.输入3个数,输出最大的数Private Sub Command11_Click()Dim max%X1=Val(InputBox("input"))X2=Val(InputBox("input"))x3=Val(InputBox("input"))max=X1If max<=X2 Thenmax=X2End IfIf max<=x3 Thenmax=x3End IfMsgBox("3个数之中的最大数max="&max)End SubPrivate Sub Command12_Click()'2.'有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根a=Val(InputBox("input"))B=Val(InputBox("input"))c=Val(InputBox("input"))s=B^2-4*a*cIf a<>0 ThenIf s=0 ThenMsgBox("两个相等实根")ElseIf s>0 ThenMsgBox("两个不相等实根")ElseIf s<0 ThenMsgBox("两个不相等虚根")End IfElseMsgBox("无解")End IfEnd SubPrivate Sub Command13_Click()'3.输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示"恭喜!成绩通过!",若小于60,则弹出消息框,显示"抱歉!成绩没有通过!"X=Val(InputBox("input"))If X>=60 ThenMsgBox("恭喜!成绩通过!")ElseMsgBox("抱歉!成绩没有通过!")End If End SubPrivate Sub Command14_Click()'4.输入一年份,判断它是否为闰年,并显示有关信息。

VB程序设计教案例题及解析

VB程序设计教案例题及解析

VB程序设计教案例题及解析程序设计教案例题及解析VB程序设计是一门非常重要的计算机科学技能,它在各行各业都有广泛的应用。

本文旨在提供一些VB程序设计练习题及解析,帮助初学者获取更多知识,并提高自己的技能水平。

一、VB程序设计实践题1.基础实践题目:设计一个VB程序,让用户输入两个数并输出两个数之和。

2.中级实践题目:设计一个VB程序,让用户输入一个数字并输出该数字的因数。

3.高级实践题目:设计一个VB程序,让用户输入文本并输出该文本中出现次数最多的字符。

二、VB程序设计实践解析1.基础实践题目解析:我们需要在VB程序中设计两个文本框和一个按钮,用于用户输入两个数并输出两数之和。

用户输入两个数后,我们需要通过VB程序获取用户输入的数值,并通过代码计算它们的和。

代码如下:Dim x As IntegerDim y As IntegerDim sum As Integerx = Val(Text1.Text)y = Val(Text2.Text)sum = x + yText3.Text = sum在代码中,我们使用了VB中的计算公式sum=x+y来计算两个数的和,并使用了Text3.Text将计算结果输出。

2.中级实践题目解析:在这个题目中,用户需要输入一个数字,并输出该数字的因数。

我们可以通过VB程序实现这个操作。

我们需要在VB程序中设计一个文本框和一个按钮,用于用户输入一个数字并输出该数字的因数。

用户输入数字后,我们需要通过VB程序获取用户输入的数值,并通过代码计算它的因数。

代码如下:Dim x As IntegerDim i As IntegerDim count As Integerx = Val(Text1.Text)For i = 1 To x Step 1If x Mod i = 0 Thencount = count + 1End IfNext iText2.Text = count在代码中,我们使用了VB中的For循环语句来遍历x的因数,并计算因数的数量(count)。

VB程序设计试题及答案(一)-vb程序设计答案

VB程序设计试题及答案(一)-vb程序设计答案

VB程序设计试题及答案(一)一、单选题1. VB6.0是一种面向B 的编程环境。

(A) 机器(B) 对象(C) 过程(D) 应用2. 要使FormI窗体的标题栏显示"欢迎使用VB",以下D 语句是正确的。

(A) Forml.Cap on=“欢迎使用VB”(B) Forml.Cap on='欢迎使用欢迎使用VB'(C) Forml.Cap on=欢迎使用VB(D) Forml.Cap on="欢迎使用VB"3. 若要使命令按钮不可操作,要对A 属性进行设置。

(A) EnabIed (B)Visible(C) Backcolor (D)Cap on4. 如果在窗体上已经创建了一个文本框对象TextI,可以通过C 事件获得输入键值的ASCII码。

(A) Change (B) LostFocus(C) KeyPress (D) GotFocus5. 下面A 是合法的变量名。

(A) X_yz (B) 123ab。

(C) integer (D) X-Y6. 以下关系表达式中,其值为False的是A 。

(A) "ABC">"AbC" (B) "女">"男"(C) "BASIC"=UCase("basic) (D) "123"<"23"7. 为了给x、y、z三个变量赋初值1,下面正确的赋值语句是A 。

(A) x=1:y=1:z=1 (B) x=1,y=1,z=1(C) x=y=z=1 (D) xyz=18. VB提供了结构化程序设计的三种基本结构,三种基本结构是D 。

(A)递归结构、选择结构、循环结构(B)选择结构、过程结构、顺序结构(C)过程结构、输入输出结构、转向结构(D)选择结构、循环结构、顺序结构9. 下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是D 。

《VB程序设计基础及实验》——测试题库(34页)

《VB程序设计基础及实验》——测试题库(34页)

一、判断题(共180小题)(A)。

1、VB代码中的所有符号,都必须是英文半角字符表示,不能使用汉字或全角字符。

(B)。

2、在VB中,对象是指具有特殊属性和行为方式的实体,各种控件都是对象,但窗体不属于对象。

(B)。

3、控件放置到窗体中后,其大小和位置就不能再进行调整。

(A)4、Name(名称)属性是一个控件区别于其他控件的特征。

(A)5、Visible属性用来设置对象的可见性。

(A)6、Enabled属性用于激活或禁用对象。

(A)7、响应某个事件后所执行的操作通过一段代码来实现,这样的一段程序代码叫做事件过程。

(A)8、VB有三种工作模式分别是设计模式、运行模式、中断模式。

(A)9、VB程序设计的特点是事件驱动。

(A)10、事件驱动编程是非常适用于图形用户界面的编程形式。

(A)11、属性是用来描述和反映对象特征的参数,对象的属性既可以在属性窗口中设置,又可以在程序代码通过赋值实现。

(A)12、当进入vb的集成开发环境,若发现不显示“工具箱”时,可以使用“视图” 中的“工具箱”打开。

(A)13、属性、事件、方法构成了对象的三要素。

(A)14、双击控件或窗体本身会打开属性窗口。

(B)。

(15、在Visual Basic6.0中所有对象都具有相同的属性。

(B)。

16、文本框获得焦点的方法是GotFocus.(B)。

17、在Visual Basic中所有对象都具有Click事件.(B)。

18、命令按钮只能响应单击click事件。

(B)。

19、VB程序一行写不下,可以直接换行继续写。

(B)。

20、文本框和标签控件运行后都可以接受用户的输入。

(B)。

21、VB 程序中所有用到的控件都可以在标准工具箱中找到。

(A)22、若要对窗体上的控件调整大小,先要保证该控件是活动控件。

(A)23、当在窗体上单击某控件时,控件的边框上就会有8个黑色小方块,此时该控件就是活动控件。

(A)24、如果把光标置于控件内部,按住鼠标左键不放,移动鼠标,就可以把控件拖到窗体上任何位置。

VB语言程序设计习题2

VB语言程序设计习题2

《VB语言程序设计》习题2一、单项选择题1.在Visual Bsaic代码中,将多个语句合并写在一行上的并行符是()。

A、撇号(')B、冒号(:)C、感叹号(!)D、星号(*)2.通过()可以在设计时直观地调整窗体在屏幕上的位置。

A、代码窗口B、窗体布局窗口C、窗体设计窗口D、属性窗口3.通过改变选项按钮(OptionButton)控件的()属性值,可以改变按钮的选取状态。

A、ValueB、StyleC、AppearanceD、Caption4.为了清除列表框中的所有内容,应使用的方法是()。

A、ClsB、ClearC、RemoveD、RemoveItem5.文本框能输入()。

A、控制字符B、ASCII字符C、回车D、文本和数字6.下列控件中,没有Caption属性的是()。

A、框架B、列表框C、复选框D、单选按钮7.文本框控件最多能处理()字节。

A、32KB、64KC、128KD、16K8.以下能够触发文本框Change事件的操作是()。

A、文本框失去焦点B、文本框获得焦点C、设置文本框的焦点D、改变文本框的内容9.要将一个组合框设置为简单组合框(Simple Combo),则应将其Style属性设置为()。

A、0B、1C、2D、310.要使标签所在处透明显示背景,应把BackStyle属性设置为()。

A、0B、1C、TureD、False11.用()属性可唯一标志控件阵列中的某一个控件。

A、NameB、IndexC、CaptionuD、TabIndex12.组合框控件是将()组合成一个控件。

A、列表框控件和文本框控件B、标签控件和列表框控件C、标签控件和文本框控件D、复选框控件和选项按钮控件13.()使图象(Image)控件中的图象自动适宜控件的大小。

A、将控件的AutoSize属性设为TrueB、将控件的AutoSize属性设为FalseC、将控件的Stretch属性设为TrueD、将控件的Stretch属性设为false14.如果要在命令按钮上显示图形文件,应设置命令按钮的()。

《VB程序设计基础》模拟试题

《VB程序设计基础》模拟试题

《VB程序设计》模拟试题●填空题1.窗体模块的文件扩展名为 ___FRM_________ 、标准模块的文件扩展名为____BAS______ 、类模块文件的扩展名为______CLS_______ 。

Basic中数据类型可分为 _____标准数据类型________和用户自定义数据类型两大类,前者根据其取值的不同,可分为_____整型_________、 ______长整型_____、布尔型和 ____字符型_________。

3. Abs= ;Int= ____-10_______。

4. "程序"& "设计"运算结果为 ___程序设计____ 。

5. Dim a, b as Boolean语句显式声明变量a是___变体___变量,b是___布尔__变量。

6. MsgBox函数的返回值中, VBRetry表示单击了____重试_____按钮,VBYes 表示单击了___是_____按钮,VBNo表示单击了_____否____按钮。

7. 要加载窗体,可以在代码中使用___________语句,要显示窗体,可以在代码中使用___________方法,要隐藏窗体,可以在代码中使用Hide方法,要卸载窗体,可以在代码中使用___________方法。

8.对话框分为_________对话框和________对话框两种类型,其中_____________ 对话框最常用。

9. 对象是Visual Basic应用程序的基本单元,它是由 ___类___创建的。

在Visual Basic中可以用属性、 __方法___、___事件___ 来说明和衡量一个对象的特性。

10. 条件判断语句可以使用___If…then____________语句、____If…Then…Else______语句和 ______If…Then…ElseIf______语句。

Select case 语句11. 声明一个值为的常量Pi的语句为___Const pi = 。

程序设计基础VB期中考试卷

程序设计基础VB期中考试卷

《程序设计基础VB》期中考试卷一、选择题〖每小题1分, 共计40分〗;1.以下变量名中合法的是【1】。

A.x2-.......B.prin.......C.str_....D.2x分析:书P105, 标识符命名规则答案:C在Visual Basic中, 所有的窗体和控件都必定具有的一个属性是【2】。

A. NameB. Font C)Caption D)FillColor分析:名称属性是每个对象必须具备的, VB为每一个对象设置了一个默认的名称, 用户可以不更改, 对象的默认名称是由对象的类名+序号构成的。

答案:A以下所列的7个控件中, 具有Caption属性的有【3】个。

CheckBox(复选框)、ComboBox(组合框)、HscrollBar(水平滚动条)、Image(图像框)、Frame(框架)、Label(标签)、Line(线条)A. 5B. 4C. 3D. 2分析:常用控件中, TextBox、PictureBox、Image、ListBox、ComboBox、Timer、Line、Shape、HScrollBar、VScrollBar没有Caption属性;Label、CommandButton、OptionButton、CheckBox、Frame具有Caption属性;另外, 窗体也有Caption属性。

答案:C2.用来设置文字字体是否斜体的属性是【4】。

A. FontUnderlineB. FontBoldC. FontSlopeD. FontItalic分析: 也可以写成Font.Italic答案:D若需要在同一窗口内安排两组相互独立的单选按钮( OptionButton ), 可使用【5】控件将它们分隔开。

① TextBox ② Picture ③ Image ④ FrameA. ①②B. ②③C. ②④D. ③④分析:将单选按钮分组的方法是放置在不同的容器中, VB中可以做容器的控件有:PictureBox、Frame答案:CTimer控件的【6】属性决定该控件是否对时间的推移做出响应。

VB程序设计试题 及 参考答案

VB程序设计试题 及  参考答案

VB程序设计及参考答案一、单选题(共20分,每小题1分)1、要改变控件的宽度,应修改该控件的()属性。

(A)TOP (B)width (C)Left (D)Height2、将命令按钮Command1设置为不可见,应修改该命令按钮的()属性。

(A)Visible (B)Value (C)Caption (D)Enabled3、()对象具有clear方法。

(A)图片框(B)窗体(C)复选框(D)列表框4、启动VB后,就意味着要建立一个新()。

(A)窗体(B)文件(C)工程(D)程序5、下列()对象不具有Clear方法。

(A)列表框(B)组合框(C)剪贴框(D)图片框6、组合框有三种风格,它们由Style属性所决定,其中为简单组合框时,Style 属性值应为()(A)0 (B)1 (C)2 (D)37、下列可调整图片框的大小以适合图片的属性是()(A)Stretch (B)autosize (C)picture (D)oledropmode 8、要想清除文本框中的内容则可利用()进行。

(A)Caption (B)Text (C)Clear (D)Cls9、在文本框控件中将Text的内容全部显示为所定义的字符的属性是()。

(A)Password (B)PasswordChar(C)需要编程来实现(D)以上都不是10、Visual Basic是一种面向对象的程序设计语言,所采用的编程机制是()。

(A)从主程序开始执行(B)按过程顺序执行(C)事件驱动(D)按模块顺序执行11、下列四项中合法的变量名是()。

(A)a-bc (B)a_bc (C)4abc (D)integer12、无论何种控件,共同具有的属性是()(A)Text (B)Name (C)Caption (D)ForeColor13、有程序代码如下:Text1.Text = "Visual Basic程序设计"则Text1、Text ,和"Visual Basic程序设计"分别代表()。

VB程序设计题

VB程序设计题

一.[题目] 编一程序,显示所有的水仙花数,所谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。

例如,153是水仙花数,因为153=13+53+33【编程要求】1、单击"计算"按钮,则将计算结果显示在多行文本框中Text1中;单击"结束"按钮,程序停止运行。

2、界面应与给出的参考界面相似,不得增加或减少控件。

3、求出范围100-999之间的水仙花数【参考代码】Text1.Text = ""For i = 100 To 999a = i \ 100c = i Mod 10b = i \ 10 Mod 10If i = a ^ 3 + b ^ 3 + c ^ 3 ThenText1.Text = Text1.Text & i & vbCrLfEnd IfNext i二.[题目] 输入两个数,求最大公约数和最小公倍数。

[编程要求]1、输入数值后,按"计算"按钮,计算出最大公约数和最小公倍数按"清除"按钮,则将所有文本框中的内容清空,并将光标焦点指向text1。

按"结束"按钮,结束程序的执行。

2、程序中有一个过程,该过程的功能是求两个数的最大公约数。

【参考代码】Dim k As IntegerDok = m Mod nm = nn = kLoop While (k <> 0)gcd = mNext i三.输入一个正整数k,将k的各位数字分离后,累加求和。

程序界面如下图所示。

【编程要求】1、单击"计算"按钮,将结果在文本框中显示出来。

2、单击"清除"按钮,将二个文本框中的内容清空;单击"结束"按钮,程序停止运行。

3、界面应与给出的参考界面相似,不得增加或减少控件;4、运行程序,并输入123456检验。

VB经典的程序设计题

VB经典的程序设计题

VB经典的程序设计题VB经典的程序设计题VB经典的程序设计题是指那些常见的、经典的VB程序设计题目,这些题目涵盖了VB程序设计的各个方面,包括基础语法、界面设计、数据处理、算法等内容。

在考虑这些题目时,我们可以根据自己的需求和目标来选择合适的题目,以提高自己的VB编程能力。

下面是一些VB经典的程序设计题目,供参考。

一、VB基础语法题⒈编写一个程序,输入一个正整数n,输出从1到n的所有自然数。

⒉编写一个程序,输入一个整数n,输出该整数的倒序。

⒊编写一个程序,输入一个字符串,将它反转输出。

⒋编写一个程序,输入一个字符串,输出字符串中的所有数字。

⒌编写一个程序,输入一个字符串,将其中的大写字母转换为小写字母,将其中的小写字母转换为大写字母。

二、界面设计题⒈编写一个程序,设计一个登录界面,包括用户名和密码的输入框以及登录按钮。

⒉编写一个程序,设计一个计算器界面,包括数字按钮、运算符按钮和结果显示框。

⒊编写一个程序,设计一个图形界面,包括按钮和文本框,用于计算两个数的和、差、积和商。

⒋编写一个程序,设计一个学绩查询界面,包括学号和姓名的输入框以及查询按钮。

三、数据处理题⒈编写一个程序,输入一组整数,将它们按照从大到小的顺序排序并输出。

⒉编写一个程序,输入一组字符串,将其中的重复字符串去除并输出。

⒊编写一个程序,输入一组学绩,计算平均分并输出。

⒋编写一个程序,输入一组学绩,计算最高分和最低分,并输出。

四、算法题⒈编写一个程序,输入一个正整数n,判断它是否是素数。

⒉编写一个程序,输入一个正整数n,输出它的所有因子。

⒊编写一个程序,输入一个正整数n,计算它的阶乘。

⒋编写一个程序,输入一个正整数n,计算它的斐波那契数列的第n项。

附件:本文档没有涉及附件。

法律名词及注释:⒈ VB:Visual Basic的简称,是一种基于事件驱动的程序设计语言。

⒉程序设计题:指要求编写一个能够运行的程序来解决特定问题的问题描述。

⒊基础语法:指编程语言的基本语法结构和规则。

VB程序设计例题12例

VB程序设计例题12例

索引一、在窗体上画一个文本框,其名称为Text1,Text属性为空白。

再画一个命令按钮,其名称为C1,Visible属性为False。

编写适当的事件过程。

程序运行后,如果在文本框中输入字符,则命令按钮出现。

二、计算圆的周长和面积:在窗体中添加一个文本框(Text1)和一个对应的标签(Label1),再添加两个命令按钮(Command1和Command2)和一个图片框(Picture1)。

程序运行时,当单击Command1按钮后,计算圆的周长;当单击Command2按钮后,计算圆的面积;计算结果输出在图片框中。

(要求在未输入半径前两个按钮呈灰色不可用。

)三、在窗体上添加三个文本框和对应的三个标签,标签的标题分别是“个位”、“十位”、“百位”。

程序运行时,当单击窗体后,随机产生一个【100,999】区间内的整数,将它的个位、十位、百位数字分别显示在对应的文本框中。

四、设计一个计算程序:在窗体上添加四个文本框和四个对应的标签,标签的标题分别是“语文”、“数学”、“外语”、“平均成绩”,三个命令按钮,标题分别为“清除”、“计算”、“退出”。

程序运行后,用户按“清除”按钮,则清除文本框中显示的内容,按“计算”按钮,则计算三科平均成绩,将计算结果显示在第四个文本框中(计算结果保留小数点后一位)。

单击退出按钮则程序退出。

五、某税务部门征收所得税,规定如下:(1)收入200元以内,免征。

(2)收入在200~400元,超过200元的部分纳税3%。

(3)收入超过400元的部分,纳税4%。

(4)当收入达5000元或超过时,将4%税金改为5%。

编程序实现上述操作。

六、给定三角形的三条边的边长,计算三角形的面积。

编写程序,首选判断给出的三条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。

当输入-1时结束程序。

七、编程求100以内的全部素数。

八、编程打印钻石图案。

九、输出杨辉三角形。

十、有一个数组,包含了10个不同的随机整数(20~90),要求计算出它们的平均值,并输出这个数组中最接近于平均值的数。

VB程序设计练习题及参考答案

VB程序设计练习题及参考答案

VB程序设计练习题及参考答案visualbasic程序设计练习题一、填空1.当进入vb集成环境,发现没有显示“工具箱”窗口时,应选择菜单的选项,使“工具箱”窗口显示。

2.在BMP图形文件之后加载命令按钮的图片属性时,所需的图形不会显示在选项按钮上,因为该属性未设置为1(图形)。

3.在文本框中,通过属性能获得当前插入点所在的位置。

4.要编辑文本框中的现有内容,请按键盘上的键,但该键不起作用,因为该属性已设置为true。

6.在vb中,1234、123456&、1.2346e+5、1.2346d+5四个常数分别表示、、、。

7.整数变量x存储两位数。

要交换两个数字的位置,例如,13变为31,表达式为。

8.表示x是5的倍数或是9的倍数的逻辑表达式为。

9.如果a=3.5、B=5.0、C=2.5和d=true,则表达式a>=0anda+C>B+3ornotd的值为。

10.int(-3.5)、int(3.5)值分别是、。

11.表达式ucase(mid(\的值是。

12.要将以下语句循环20次,循环变量的初始值应为:fork=to-5step-213.下面程序段显示个“*”。

fori=1到5 Forj=1打印\nextjnexti14.复选框属性设置为2-grayed时,变成灰色,禁止用户选择。

15.属性设置为1,单选按钮和复选框的标题显示在左边。

16.属性设置为1,单选按钮和复选框以图形方式显示。

17.程序运行时,如果框架属性设置为false,框架标题为灰色,表示框架内的所有对象均被屏蔽,不允许用户对其进行操作。

18.列表框中项目的序号是从开始的。

19.指示列表框中最后一项的序列号。

20.方法可以清除列表框中的所有内容。

21.组合框是组合了文本框和列表框的特性而形成的一种控件。

风格的组合框不允许用户输入列表框中没有的项。

22.VB程序存储在模块中,模块分为______________三种类型。

123.如果希望每15秒生成一次计时器事件,interval属性应设置为。

vb100例(上)

vb100例(上)

VB 基础程序设计100例(上)注意:1. 除非题目要求,不要使用控件(如按钮,文本框等),也不添加其他窗体和标准模块。

一律在Form_Click()过程中编写代码,用inputbox 函数输入数据,在窗体上输出结果。

2. 每个程序只保存一个窗体文件(例如第1题为t001.frm ),不保存.vbp 工程文件。

3. 只有在使用外部过程(Sub 子过程、Function 函数过程)可以提高效率,或题目要求使用外部过程的情况下,才使用外部过程。

4. 所有代码都应按缩进的格式书写。

待有了一定的程序设计经验之后,在学习第5章时,再根据需要进行应用程序界面设计,即进入VB 编程的第二阶段。

有了第一阶段的基础,第二阶段困难不大。

第一部分 该部分习题不使用数组1.用Inputbox 函数输入一个整数,判断其能否被2,3,和5整除,若能则输出该数及它的平方值2.输入一个年份,判断是否闰年。

闰年的条件是该数能被4整除且不能被100整除,或该数能被400整除3.交换两个变量的值,在程序中只允许出现这两个变量4.依次输入一元二次多项式的二次项、一次项和常数项系数,输出它的两个根,例如 x1=2 x2=-3.5 或 x1=3+2*i x2=3-2*i 这里 i 是虚数单位5.计算 s=1+2+3+…+n 和c=1*2*3*…*n6.计算下式之和首次大于10000时的n 的值:s=1+2+22+…+2n +…7.计算下式之和不超过10000时的n 的最大值:s=12+22+…+n 2+…8.计算 s=1*21 (51)311-++++n9.计算 s=n n 1)1( (31)211--+-+-10.计算 t=1+(1+2)+(1+2+3)+…+(1+2+…+n)11.计算 t=1!+2!+…+n!12.计算 t=!1...!31!211n ++++13.计算 s=)!1(...!32!2++++n nx x x14.同上题,要求用Sub 过程计算每项的分子,用Function 过程计算每项的分母15.编写Function 过程计算n!,调用该过程计算组合数16.编写Sub 过程计算n!,调用该过程计算组合数17.编写程序,打印斐波那契(Fibonacci)数列的前30项。

VB程序设计练习题及参考答案

VB程序设计练习题及参考答案

Visual Basic程序设计练习题1.Visual Basic是一种面向对象的可视化程序设计语言,采取了A的编程机制。

A.事件驱动B.按过程顺序执行C.从主程序开始执行D.按模块顺序执行2.在Visual Basic中最基本的对象是C,它是应用程序的基石,是其他控件的容器。

A.文本框B.命令按钮C.窗体D.标签3.多窗体程序是由多个窗体组成。

在缺省情况下,VB在应用程序执行时,总是把B 指定为启动窗体。

A.不包含任何控件的窗体B.设计时的第一个窗体C.包含控件最多的D.命名为Frm1的窗体4.若有程序代码如下:text1.text="Visual Basic"则:text1,text和"Visual Basic" 分别代表C。

A.对象,值,属性B.对象,方法,属性C.对象,属性,值D.属性,对象,值5.Visual Basic是一种面向对象的程序设计语言,A不是面向对象系统所包含的三要素。

A.变量B.事件C.属性D.方法6.在VB集成环境创建VB应用程序时,除了工具箱窗口、窗体中的窗口、属性窗口外,必不可少的窗口是C。

A.窗体布局窗口B.立即窗口C.代码窗口D.监视窗口7.保存新建的工程时,默认存放的位置是B。

A.My Documents B.VB98 C.\ D.Windows 8.若要使标签控件显示时不覆盖其背景内容,要对D属性进行设置。

A.BackColor B.BorderStyle C.ForeColor D.BackStyle 9.若要使命令按钮不可操作,要对A属性设置。

A.Enabled B.Visible C.BackColor D.Caption 10.文本框没有D属性。

A.Enabled B.Visible C.BackColor D.Caption 11.不论何控件,共同具有的是B属性。

A.Text B.Name C.ForeColor D.Caption 12.要使Form1窗体的标题栏显示“欢迎使用VB”,以下D语句是正确的。

VB程序设计入门练习及答案

VB程序设计入门练习及答案

习题2(程序设计入门)一、选择题1.如果把一个人当作对象,那么血型相当于这个对象的:A(A) 属性(B) 方法(C) 事件(D) 特征2.下列哪一种方法不能改变窗体的大小:A(A) 设计时在窗体布局窗口中进行调整(B) 设计时在属性窗口中设置相应的属性(C) 运行时设置相应属性的值(D) 运行时调用窗体的Move方法3.一个对象可以执行的动作和可被对象识别的动作分别称为:B(A) 事件、方法(B) 方法、事件(C) 属性、方法(D) 过程、事件4.在窗体Form1的Click事件过程中有以下语句:Label1.Caption = "Visual Basic"若本语句执行之前,标签控件Label1的Caption属性为默认值,则标签控件的Name 属性和Caption属性在执行本语句之前的值分别为:A(A) "Label"、"Label" (B) "Label"、"Caption"(C) "Label1"、"Label1" (D) "Caption"、"Label"5.见上题。

该语句执行后,标签控件的Name属性和Caption属性的值分别为:B(A) "Label"、"VisualBasic" (B) "Label1"、"Visual Basic"(C) "Label1"、"Caption" (D) "Label"、"Label1"6.下面哪种对象没有Caption属性:B(A) Form (B) TextBox (C) CommandButton (D) Label7.文本框对象的默认属性是:B(A) Name (B) Text (C) Visible (D) Enabled8.Visual Basic源程序的续行符是:D(A) 单引号(B) 双引号(C) 冒号(D)空格与下划线9.下面的动作中,不能引发按钮Click事件的是:B(A) 在按钮上单击鼠标左键(B) 在按钮上单击鼠标右键(C) 把焦点移至按钮上,然后按回车键(D) 如果按钮有快捷字母,按“Alt+该字母”二、判断题1.标签控件是专门用来显示信息的,所以不能响应鼠标的单击事件。

vb程序设计试题(含答案)

vb程序设计试题(含答案)

第一套试题一、选择题〔每题 2 分,共 30 分〕1.在 VB环境中,工程文件的扩展名是 ( C )〔 A〕 .frm〔B〕.bas〔C〕.vbp〔D〕.frx2.下面 4 项中不属于面向对象系统三要素的是 ( A )〔 A〕变量〔B〕事件〔C〕属性〔D〕方法、/ 、Mod、 * 这 4 个算述运算符中,优先级别最低的是( C )〔 A〕 \〔B〕/〔C〕Mod〔D〕*4.要使 Print 方法在 Form_Load事件中起作用,要对窗体的 ( C ) 属性进行设置〔 A〕 BackColor〔B〕ForeColor〔 C〕 AutoRedraw〔D〕Caption5.不管何控件,共同具有的属性是 ( B )〔 A〕 Text〔B〕Name〔 C〕 ForeColor〔D〕Caption6.要使 Form1窗体的标题栏显示“欢送使用 VB〞,以下语句正确的选项是 ( D )A〕 Form1.Caption= “欢送使用 VB〞〔B〕Form1.Caption= ˊ欢送使用 VBˊ〔 C〕 Form1.Caption= 欢送使用 VB〔D〕Form1.Caption=〞欢送使用VB〞7.VB 提供了结构化程序设计的 3 种根本结构,这 3 种根本结构是 ( D )〔 A〕递归结构,选择结构,循环结构〔B〕选择结构,过程结构,顺序结构(C〕过程结构,输入、输出结构,转向结构〔D〕选择结构,循环结构,顺序结构8. 给变量赋值 a=123+MID(“123456〞 ,3,2) ,a 变量中的值是 ( D )〔 A〕“ 12334〞〔B〕123〔C〕12334〔D〕157 下面 If 语句统计满足性别为男、职称为副教授以上、年龄小于 40 岁条件的人数,不正确的语句是 ( D )〔 A〕 If sex= “男〞 And age<40 And InStr(duty,“教授〞)>0 Then n=n+1B〕 If sex= “男〞 And age<40 And (duty= “教授〞 Or duty= “副教授〞 ) Then n=n+1〔 C〕 If sex= “男〞 And age<40 And Right(duty,2)=“教授〞Then n=n+1〔 D〕 If sex=“男〞 And age< 40 And duty= “教授〞 And duty= “副教授〞 Thenn=n+110. 假设要去除列表框的所有内容,可用来实现的方法是( C )〔 A〕 RemoveItem〔B〕Cls〔 C〕 Clear〔D〕以上均不可以11.要使时钟控件 Timer1 的 Timer 事件不起作用,以下正确的语句是 ( B ) 〔 A〕 Timer1.Visible=False〔B〕Timer1.Enabled=False〔 A〕 Timer1.Interval=1000〔D〕Timer1.Index=0引用列表框 (List1) 最后一个数据项应使用的语 ( B )(A)List1.List(List1.ListCount) (B)List1.List(List1.ListCount-1)(C)List1.List(ListCount)(D)List1.List(ListCount-1)13.如下数组声明语句,正确的选项是 ( B )〔 A〕 Dim a[3,4]As Integer 〔 C〕 Dim a(n,n) As Integer 〔B〕Dim a(3,4)As Integer 〔D〕Dim a(3,4)As Integer14.下面子过程语句说明合法的是 (A 、D )〔 A〕 Sub f1(ByVal n%) 〔 C〕 Function f1%(f1%) 〔B〕Sub f1(n%)As Integer 〔D〕Function f1(ByVal n%)15.假定有如下的命令按钮 ( 名称为 Command1)事件过程:Private Sub Command1_Click()x=InputBox(" 输入: " , " 输入整数 ")MsgBox"输入的数据是:〞,,〞输入数据:"+xEnd Sub16. 程序运行后,单击命令按钮,如果从键盘上输入整数10,那么以下表达中错误的是(A)〔 A〕x 的值是数值 10〔B〕输入对话框的标题是“输入整数〞(C〕信息框的标题是“输入数据: 10〞〔 D〕信息框中显示的是“输入的数据是:〞二、填空题〔每题 2 分,共 20 分〕1、当进入 VB集成环境后,发现没有显示“工具箱〞窗口,应选择视图菜单的工具箱选项,使“工具箱〞窗口显示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.1交换变量a1、a2的值,P35Private Sub Form_Click()Dim a1 As Integer, a2 As Integer, t As Integer a1 = 5: a2 = 10Form1.Print "交换"; a1; a2t = a1: a1 = a2: a2 = tForm1.Print "得:"; a1; a2End SubPrivate Sub Form_Load()Form1.AutoRedraw = TrueForm1.Print "交换两个数"Form1.Print "单击窗体开始"End Sub3.2 Tab 函数,P35Private Sub Form_Click()Form1.Print Tab(10); "*********"Form1.Print Tab(11); "*******"Form1.Print Tab(12); "*****"Form1.Print Tab(13); "***"Form1.Print Tab(14); "*"End SubPrivate Sub Form_Load()Form1.AutoRedraw = TrueForm1.Print "显示星号三角形,单击窗体开始"End Sub3.5 Move 方法在指定位置显示窗体,文本框和图,P45 Private Sub Form_Load()Picture1.AutoRedraw = TrueMove 3000, 2000, 2800, 2800Text1.Move 300, 200, 2000, 500Picture1.Move 300, 1000, 1600, 1200Text1.Text = "文本框"Picture1.Print "图片框"End Sub图3.13 显示和隐藏,P46Private Sub Form_Click()Form1.HideForm2.ShowEnd SubPrivate Sub Form_Load()AutoRedraw = TrueForm1.Print "单击显示form2"End SubPrivate Sub Form_dblClick()Form2.HideForm1.ShowEnd SubPrivate Sub Form_Load()AutoRedraw = TrueForm2.Print "双击显示form1"End Sub3.6输出位置以及字体设置,P46Private Sub Form_Load()AutoRedraw = TrueForm1.Width = Screen.Width / 2Form1.Height = Screen.Height / 3Form1.Left = (Screen.Width - Form1.Width) / 2 Form1.Top = (Screen.Height - Form1.Height) / 2 FontName = "黑体": FontSize = 20str1$ = "Visual Basic 应用程序"CurrentX = (Form1.Width - TextWidth(str1$)) / 2CurrentY = (Form1.Height - TextHeight(str1$)) / 3Form1.Print str1$End Sub3.12 InputBox及“+”的应用P53Private Sub Form_Click()a = InputBox("enter an integer", 123, 456, , , HelpFile, context)b = InputBox("enter an integer")Text1.Text = b + aEnd Sub3.11计时器,P52Rem “计时开始”按钮单击事件Private Sub Command1_Click()Text1.Text = "计时开始"Form1.Tag = TimerCommand1.Enabled = FalseCommand2.Enabled = TrueEnd SubRem “计时停止”按钮单击事件Private Sub Command2_Click()Text1.Text = CInt(10 * (Timer - Form1.Tag)) / 10 Command1.Enabled = TrueCommand2.Enabled = FalseEnd SubRem“结束”按钮单击事件Private Sub Command3_Click()EndEnd SubRem 窗体装载事件作初始化Private Sub Form_Load()Text1.Text = "计时器"Command2.Enabled = FalseTimer1.Interval = 100End SubRem 计时器控制事件由interval属性设置的时间间隔触发Private Sub Timer1_Timer()Label1.Caption = Time$End Sub3.13 计算平方根,P55Private Sub Form_Click()Dim intFlag As IntegerDim strNumber As StringDim strMSG As StringstrNumber = InputBox("输入一个数")msg$ = "输入的数是:" + strNumber + Chr$(13) + Chr(10) + "确认是否正确"intFlag = MsgBox(msg$, 36)If intFlag = 6 ThenPrint "Sqr("; strNumber; ")="; Sqr(Val(strNumber))ElsePrint "取消操作"End IfEnd SubPrivate Sub Form_Load()AutoRedraw = TruePrint "计算一个数的平方根"Print "单击窗体开始"End Sub3.14 Msg函数,P56Private Sub Command1_Click()a$ = "software and hardware"b$ = Right(a$, 8)c$ = Mid(a$, 1, 8)MsgBox a$, , b$, c$, 1End Sub4.2 计算对数,P66Private Sub Command1_Click()x = Val(InputBox("输入一个数"))If x > 0 Then Print Log(x) / Log(10) Else Print "数据错误" End SubPrivate Sub Form_Load()Form1.AutoRedraw = tureForm1.Print "计算一个数的常用对数" End Sub4.3 字体设置,P68Private Sub Check1_Click()If Check1.Value = 1 ThenText1.FontBold = TrueElseText1.FontBold = FalseEnd IfEnd SubPrivate Sub Check2_Click()If Check2.Value = 1 ThenText1.FontItalic = TrueElseText1.FontItalic = FalseEnd IfEnd SubPrivate Sub Check3_Click()If Check1.Value = 1 ThenText1.FontUnderline = TrueElseText1.FontUnderline = FalseEnd IfEnd SubPrivate Sub Form_Load()Text1.Text = "Visual Basic应用程序" End SubPrivate Sub Option1_Click()Text1.FontSize = 8End SubPrivate Sub Option2_Click()Text1.FontSize = 12End SubPrivate Sub Option3_Click()Text1.FontSize = 16End Sub4.4 判断闰年,P69Private Sub Command1_Click()x = Val(InputBox("输入年份"))If x Mod 400 = 0 Theny$ = "是闰年"ElseIf x Mod 4 = 0 ThenIf x Mod 100 <> 0 Theny$ = "是闰年"Elsey$ = "不是闰年"End IfElsey$ = "不是闰年"End IfForm1.Print x; y$End Sub4.5 Case语句,成绩等级判定,P71 Private Sub Command1_Click()x = Val(InputBox("输入一个数")) Select Case xCase 90 To 100y$ = "优"Case 80 To 89y$ = "良"Case 70 To 79y$ = "中"Case 60 To 69y$ = "及格"Case 0 To 59y$ = "不及格"Case Elsey = "输入错误"End SelectForm1.Print "成绩:"; x; Chr$(13) + Chr$(10); "等级:"; y$ End Sub4.6 计算阶乘,P73Private Sub Command1_Click()n = Val(InputBox("输入一个自然数"))term = 1For i = 1 To n Step 1term = term * iNext iForm1.Print n; "!="; termEnd Sub4.7 计算“2+4+6+……+100”,P73Private Sub Command1_Click()Sum = 0For x = 2 To 100 Step 2Sum = Sum + xNext xForm1.Print "Sum="; SumEnd SubPrivate Sub Form_Load()Form1.AutoRedraw = TrueForm1.Print "计算 2+4+6+ (100)End Sub4.8 计算“1+2!+3!+……+10!”,P73 Private Sub Command1_Click()t = 1: s = 0For k = 1 To 10t = t * ks = s + tNext kForm1.Print sEnd SubPrivate Sub Form_Load()Form1.AutoRedraw = TrueForm1.Print "1+2!+3!……+10!="End Sub4.9计算e的近似值,精确到10^-6 ,P74Private Sub Command1_Click()Dim e As Single, t As Single, n As Singlee = 1: n = 0: t = 1Don = n + 1t = t / ne = e + tLoop While t > 0.000001Print e, nEnd Sub4.11 While - Wend循环,成绩等级划分,P76Private Sub Command1_Click()no = 0: a = 0: b = 0: c = o: d = 0: e = 0x = Val(InputBox("输入成绩,输入0-100以外的数时结束"))While x >= 0 And x <= 100no = no + 1If x >= 90 Thena = a + 1ElseIf x >= 80 Thenb = b + 1ElseIf x >= 70 Thenc = c + 1ElseIf x >= 60 Thend = d + 1Elsee = e + 1End Ifx = Val(InputBox("输入成绩,输入0-100以外的数时结束")) WendForm1.Print "总人数:"; noForm1.Print "优秀:"; aForm1.Print "良好:"; bForm1.Print "中等:"; cForm1.Print "及格:"; dForm1.Print "不及格:"; eEnd Sub4.10 猜数字,Do-Loop循环,P75Private Sub Command1_Click()Dim n As Integer, x As IntegerRandomizen = Int(100 * Rnd)Dox = Val(InputBox("输入一个100以内的整数"))If x = n ThenForm1.Print x; "正确"Exit DoElseIf x > n ThenForm1.Print x; "太大"ElseForm1.Print x; "太小"End IfLoopEnd Sub4.14 组合框,P80Private Sub Combo1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenFor i = 0 To Combo1.ListCount - 1If Combo1.Text = Combo1.List(i) Then Label2.Caption = "输入项已在组合中"Exit SubEnd IfNext iLabel2.Caption = "已成功添加输入项" Combo1.AddItem Combo1.TextEnd IfEnd Sub点菜,列表框Option ExplicitPrivate Sub command1_Click()Dim i%For i = List1.ListCount - 1 To 0 Step -1If List1.Selected(i) ThenList2.AddItem List1.List(i)List1.RemoveItem iEnd IfNext iEnd SubPrivate Sub Command2_Click()Dim i%For i = List2.ListCount - 1 To 0 Step -1 If List2.Selected(i) ThenList1.AddItem List2.List(i)List2.RemoveItem iEnd IfNext iEnd SubPrivate Sub Command3_Click()EndEnd SubPrivate Sub Form_Load()List1.AddItem "1"List1.AddItem "2"List1.AddItem "3"List1.AddItem "4"List1.AddItem "5"List1.AddItem "6"List1.AddItem "7"List1.AddItem "8"End SubPrivate Sub List1_DblClick()List2.AddItem List1.List(List1.ListIndex) List1.RemoveItem List1.ListIndexEnd SubPrivate Sub List2_DblClick()List1.AddItem List2.List(List2.ListIndex) List2.RemoveItem List2.ListIndexEnd Sub4.15 三重For 循环练习,P81Private Sub Command1_Click()Dim x As Integer, n As IntegerDim a As Integer, b As Integer, c As Integer n = 0For a = 1 To 3For b = 1 To 3For c = 1 To 3x = 100 * a + 10 * b + cn = n + 1Form1.Print x;If n Mod 10 = 0 Then PrintNext cNext bNext aForm1.PrintForm1.Print "三位数的个数是"; nEnd Sub4.16 多重Do - Loop循环及其退出,P82 Private Sub Form_Click()Dim cheek, countercheek = Truecounter = 0DoDo While counter < 20counter = counter + 1If counter = 10 Thencheek = FalseExit DoEnd IfLoopLoop Until cheek = FalsePrint counter, cheekEnd Sub4.17 有条件转移控制语句,P83Private Sub Command1_Click()Dim a As Integer, b As Integer, c As Integer Randomize100a = Int(10 * Rnd):b = Int(10 * Rnd)Form1.Print a; "+"; b; " = ";str1$ = Str$(a) + "+" + Str$(b) + "="c = Val(InputBox(str1$))If c = a + b ThenForm1.Print c; "正确"ElseForm1.Print c; "错误,重做一题" GoTo 100End IfEnd Sub4.18 多分支选择转移,P84Private Sub Command1_Click()Dim n As Integer, b As Singlen = Val(InputBox("输入商品号码1~4")) On n GoTo 110, 210, 310, 410End110 a$ = "圆珠笔"b = 2c$ = "上海"GoTo 30210 a$ = "钢笔"b = 8.5c$ = "成都"GoTo 30310 a$ = "日记本"b = 3.6c$ = "南京"GoTo 30410 a$ = "蓝墨水"b = 1.8c$ = "重庆"GoTo 3030 Print a$, b, c$End Sub4.19 平方根,GoTo语句控制循环,P85Private Sub Command1_Click()Dim x As Single, y As Singlest:x = Val(InputBox("输入一个数(输入负数结束)"))If x < 0 Then Endy = Sqr(x)Print "sqr("; x; ")="; yGoTo stEnd Sub4.20 二分法求f(x)=x^3+4x^2-10=0在区间(1,4)内的实根,P86 Private Sub Command1_Click()a = 1:b = 4While b - a > 0.00001x = (a + b) / 2f1 = a ^ 3 + 4 * a ^ 2 - 10f = x ^ 3 + 4 * x ^ 2 - 10If f1 * f > 0 Thena = xElseb = xEnd IfWendPrint "x="; CInt(x * 10000) / 10000End Sub4.21百钱白鸡,P87Private Sub Command1_Click()Dim x As Integer, y As Integer, z As Integer Form1.Print "公鸡", "母鸡", "小鸡"For x = 0 To 20For y = 0 To 33z = 100 - x - yIf 5 * x + 3 * y + z / 3 = 100 Then Print x, y, z Next y, xEnd Sub4.22 最大公约数,最小公倍数,P88Private Sub Command1_Click()Dim m As Integer, n As Integer, u As Integer, v As Integer m = Val(Text1.Text)n = Val(Text2.Text)If m > n Thenu = m: v = nElsev = m: u = nEnd IfDor = u Mod vu = v: v = rLoop Until r = 0Print "最大公约数:"; uPrint "最小公倍数:"; m * n / uEnd Sub4.23判断质数,P88Private Sub Command1_Click()Dim n As Integer, i As Integern = Val(InputBox("输入一个大于1的正整数")) For i = 2 To n - 1If n Mod i = 0 Then Exit ForNext iIf i > n - 1 ThenPrint n; "是质数"ElsePrint n; "不是质数"End IfEnd Sub5.1 一位数组元素的赋初值,P99Option Base 1Private Sub Form_Click()Dim a As Variant, b As Varianta = Array(1, 2, 3, 4, 5, 6, 7)b = Array("one", "two", "three") For i = 1 To 7Print a(i);Next iPrintFor i = 1 To UBound(b)Print b(i); " ";Next iPrintEnd Sub5.2 一维数组的输入和输出,P100 Option Base 1Private Sub Form_Click()Dim a(10) As IntegerFor i = 1 To 10a(i) = Val(InputBox("Enter data")) Next iFor i = 1 To 10Print a(i); " ";Next iPrintEnd Sub5.4 Split和JoinDim a() As StringPrivate Sub Command1_Click()a = Split(Text1.Text, ",")End SubPrivate Sub Command2_Click()Text2.Text = Join(a, " ")End Sub5.3 二维数组的输入和输出,P100Option Base 1Private Sub Form_Click()Dim a(3, 3) As IntegerFor i = 1 To 3For j = 1 To 3a(i, j) = Val(InputBox("enter data")) Next jNext iFor i = 1 To 3For j = 1 To 3Print a(i, j); " ";Next jPrintNext iEnd Sub图5.4 数组的赋值,P102Option Base 1Private Sub Form_click()Dim a As Variant, b() As Varianta = Array(1, 2, 3, 4, 5)b = aPrintPrint "输出b数组:"For i = 1 To 5Print b(i); " ";Next iEnd Sub5.5 For Each …Next 语句输出数组元素的值,P102 Option Base 1Private Sub Form_Click()Dim a(10) As IntegerFor i = 1 To 10a(i) = Int(100 * Rnd)Next iPrintFor Each x In aPrint x; " ";Next xEnd Sub5.6控件数组的使用,P105Private Sub Option1_Click(Index As Integer) Dim X As Integer, Y As IntegerX = Val(Text1.Text)Y = Val(Text2.Text)Select Case IndexCase 0Label4.Caption = X + YCase 1Label4.Caption = X - YCase 2Label4.Caption = X * YCase 3Label4.Caption = X / YCase 4Label4.Caption = X \ YCase 5Label4.Caption = X Mod YEnd SelectEnd Sub5.9 求10个数中的最大值和最小值,P110Option Base 1Private Sub Form_Click()Dim a As Varianta = Array(56, 90, -123, 58, 5, 10, 90, 54, 66, 518) Max = a(1)Min = a(1)For i = 2 To 10If a(i) > Max Then Max = a(i)If a(i) < Min Then Min = a(i)Next iPrintPrint "10个数为:"For i = 1 To UBound(a)Print a(i); " ";Next iPrintPrint "最大值为:"; MaxPrint "最小值为:"; MinEnd Sub5.7 自定义数据类型变量,P107 Private Type studentnum As String * 8name As String * 8total As Integeraverage As IntegerEnd TypePrivate Sub command1_Click() Dim stud As studentstud.num = "20032001" = "张大山"stud.total = 356stud.average = 89Text1(0) = stud.numText1(1) = Text1(2) = stud.totalText1(3) = stud.averageEnd Sub5.7改Private Type studentnum As String * 8name As String * 8total As Integeraverage As IntegerEnd TypePrivate Sub command1_Click() Dim stud As studentWith stud.num = "20032001".name = "张大山".total = 356.average = 89Text1(0) = .numText1(1) = .nameText1(2) = .totalText1(3) = .averageEnd WithEnd Sub5.8 自定义数据类型数组的声明和使用,P108Private Type studentno As String * 6name As String * 6s1 As Integers2 As Integers3 As Integertotal As Singleaver As SingleEnd TypePrivate Sub Form_click()Dim a(1 To 5) As student, t As studentn = 5For i = 1 To na(i).no = InputBox("输入第" & i & "个学生的学号:")a(i).name = InputBox("输入第" & i & "个学生的姓名:")a(i).s1 = Val(InputBox("输入第" & i & "个学生的语文成绩:")) a(i).s2 = Val(InputBox("输入第" & i & "个学生的数学成绩:"))a(i).s3 = Val(InputBox("输入第" & i & "个学生的英语成绩:")) Next iFor i = 1 To na(i).total = a(i).s1 + a(i).s2 + a(i).s3a(i).aver = a(i).total / 3Next iFor i = 1 To n - 1For j = i + 1 To nIf a(i).aver < a(j).aver Thent = a(i)a(i) = a(j)a(j) = tEnd IfNext jNext iPrintPrint " 学号姓名语文数学英语总分平均分"For i = 1 To nPrint Tab(2); a(i).no; Tab(10); a(i).name; Tab(18); a(i).s1; " ";Print a(i).s2; " "; a(i).s3; " "; a(i).total; " "; a(i).aver Next i5.10用比较交换法对10个数从小到大排序,P111Option Base 1Private Sub Form_click()Dim a As Varianta = Array(56, 90, -123, 58, 5, 10, 100, 54, 66, 518) n = UBound(a)Print "排序前10个数为:"For Each x In aPrint x; " ";Next xPrintFor i = 1 To n - 1For j = i + 1 To nIf a(i) > a(j) Thent = a(i)a(i) = a(j)a(j) = tEnd IfNext jPrint "排序后的10个数为:"For i = 1 To nPrint a(i); " ";Next iEnd Sub5.11 选择法,排序,P112Option Base 1Private Sub Form_Click()Dim a As Varianta = Array(56, 90, -123, 58, 5, 10, 100, 54, 66, 518) n = UBound(a)Print "排序前10个数为:"For Each x In aPrint x; " ";Next xPrintFor i = 1 To n - 1p = iFor j = i + 1 To nIf a(p) > a(j) Then p = j Next jt = a(i)a(i) = a(p)a(p) = tNext iPrint "排序后的10个数为:" For i = 1 To nPrint a(i); " ";Next iEnd Sub5.12 冒泡法,排序,P113Option Base 1Private Sub Form_click()Dim a As Varianta = Array(56, 90, -123, 58, 5, 10, 100, 54, 66, 518) n = UBound(a)Print "排序前10个数为:"For Each x In aPrint x; " ";Next xPrintFor i = 1 To n - 1For j = 1 To n - 1If a(j) > a(j + 1) Thent = a(j)a(j) = a(j + 1)a(j + 1) = tEnd IfNext jNext iPrint "排序后的10个数为:"For i = 1 To nPrint a(i); " ";Next iEnd Sub5.13 城市运动会,P114Private Sub Form_Load()Dim nam(1 To 20) As String * 10, t As String * 10 For i = 1 To 20nam(i) = InputBox("输入参赛城市名")List1.AddItem nam(i)Next iFor i = 1 To 19For j = i + 1 To 20If nam(i) > nam(j) Thent = nam(i)nam(i) = nam(j)nam(j) = tEnd IfNext jNext iFor i = 1 To 20List2.AddItem nam(i)Next iEnd Sub5.14 顺序查询,P114Option Base 1Private Sub Form_Click()Dim a As Varianta = Array(-123, -10, 5, 8, 30, 56, 59, 66, 90, 518) n = UBound(a)Print "数组a中的10个数为:"For Each x In aPrint x; " ";Next xPrintk = Val(InputBox("输入要查询的关键值"))Print "要查询的数是:"; kp = 1While k <> a(p) And p < np = p + 1WendIf k = a(p) ThenPrint k; "has be found, on"; p; "th position."ElsePrint k; "has not be found."End IfEnd Sub5.15 折半查询,P116Option Base 1Private Sub Form_Click()Dim a As Varianta = Array(-123, -10, 5, 8, 30, 56, 59, 66, 90, 518) n = UBound(a)Print "数组a中的10个数为:"For Each x In aPrint x; " ";Next xPrintk = Val(InputBox("输入要查询的关键值"))Print "要查询的数是:"; klow = 1hig = nfind = -1While low <= hig And find = -1m = (low + hig) \ 2If k = a(m) Thenfind = 1Print k; "has be found,on"; m; "th position." ElseIf k < a(m) Thenhig = m - 1Elselow = m + 1End IfEnd IfIf find = -1 ThenPrint k; "has not be found."End IfEnd Sub5.16 矩阵乘以常数,P116Option Base 1Private Sub Form_Click()Dim nx1(3, 5) As Integer, nx2(3, 5) As Integer For i = 1 To 3For j = 1 To 5nx1(i, j) = Val(InputBox("输入nx1数组"))Next jNext iFor i = 1 To 3For j = 1 To 5nx2(i, j) = 10 * nx1(i, j)Next iPrint "输出nx2数组:" For i = 1 To 3For j = 1 To 5Print nx2(i, j); " "; Next jPrintNext iEnd Sub5.17 矩阵加法,P117Option Base 1Private Sub Form_Click()Dim nx1(2, 5) As Integer, nx2(2, 5) As Integer Dim nx3(2, 5) As IntegerFor i = 1 To 2For j = 1 To 5nx1(i, j) = Val(InputBox("输入nx1数组:")) Next jNext iFor i = 1 To 2For j = 1 To 5nx2(i, j) = Val(InputBox("输入nx2数组:")) Next jNext iFor i = 1 To 2For j = 1 To 5nx3(i, j) = nx1(i, j) + nx2(i, j)Next jNext iPrint "输出nx3数组:"For i = 1 To 2For j = 1 To 5Print nx3(i, j); " ";Next jPrintNext iEnd Sub5.18 矩阵乘法,P118Option Base 1Private Sub Form_Click()Dim a(4, 2) As Integer, b(2, 3) As Integer Dim c(4, 3) As IntegerFor i = 1 To 4For j = 1 To 2a(i, j) = Val(InputBox("输入a数组:")) Next jNext iFor i = 1 To 2For j = 1 To 3b(i, j) = Val(InputBox("输入a数组:")) Next jNext iFor i = 1 To 4For j = 1 To 3c(i, j) = 0For k = 1 To 2c(i, j) = c(i, j) + a(i, k) * b(k, j) Next kNext jNext iPrint "输出c数组:"For i = 1 To 4For j = 1 To 3Print c(i, j); " ";Next jPrintNext iEnd Sub。

相关文档
最新文档