土木一班VB复习资料 (压缩).doc_第1页
土木一班VB复习资料 (压缩).doc_第2页
土木一班VB复习资料 (压缩).doc_第3页
土木一班VB复习资料 (压缩).doc_第4页
土木一班VB复习资料 (压缩).doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

土木一班VB复习资料:程序练习:问:A (3,2)=?A (1,2)=?A (2,3)=? Dim n As Integer, i As Integer, j As Integer Dim a(3, 3) As Integer, k As Integer n = 3 : k = 1 i = n : j = (n + 1) / 2 a(i, j) = k For k = 2 To n * n i = i + 1: j = j + 1 If i n And j = n Then i = 1 ElseIf i n Then j = 1 ElseIf i n And j n Then i = i - 2: j = j - 1 ElseIf i = n And j = n And a(i, j) 0 Then i = i - 2: j = j - 1 End If a(i, j) = k Next k 求1000以内完数Private Sub Command1_Click() Dim n As Integer Dim i As Integer, k As Integer Dim a() As Integer, sum As Integer Dim s As String For n = 2 To 1000 k = 0 For i = 1 To n - 1 If n Mod i = 0 Then k = k + 1 ReDim Preserve a(k) a(k) = i End If Next i sum = 0 For i = 1 To UBound(a) sum = sum + a(i) Next i s = If sum = n Then s = n & 是完数,因为: & n & = For i = 1 To UBound(a) - 1 s = s & a(i) & + Next i s = s & a(UBound(a) List1.AddItem s End If Next nEnd Sub计算的e值(1)Private Sub Command1_Click() Dim n As Integer, i As Integer Dim f As Long, sum As Single Dim a As Single n = 0 sum = 1 Do n = n + 1 f = 1 For i = 1 To n f = f * i Next i a = 1 / f sum = sum + a Loop Until a 0.000001 Print e= & sumEnd Sub(2)Private Sub Command2_Click() Dim n As Integer, sum As Single Dim a As Single sum = 1 a = 1 Do n = n + 1 a = a / n sum = sum + a Loop Until a 0.000001 Print e= & sumEnd Sub求所有数值和和对角线之和Option Base 1Private A(5, 5) As IntegerPrivate Sub Command1_Click() Dim i As Integer, j As Integer For i = 1 To 5 For j = 1 To 5 A(i, j) = Int(Rnd * (50 - 10 + 1) + 10) Print A(i, j); Next j Print Next iEnd SubPrivate Sub Command2_Click() Dim i As Integer, j As Integer Dim sum1 As Integer For i = 1 To 5 For j = 1 To 5 sum1 = sum1 + A(i, j) Next j Next i Print 所有元素之和为: & sum1End Sub(对角线元素之和)Private Sub Command3_Click() Dim i As Integer, j As Integer Dim sum2 As Integer For i = 1 To 5 For j = 1 To 5 If i = j Then sum2 = sum2 + A(i, j) End If Next j Next i Print 对角线元素之和为: & sum2End Sub 判断是否是闰年Private Sub Command1_Click() Dim a As Integer, b As Integer a = Text1.Text If a Mod 4 = 0 And a Mod 100 0 Then Text2.Text = 闰年 Else Text2.Text = 不是闰年 End If将分数分为等级Private Sub cmdRank_Click() Dim intMark As Integer intMark = CInt(txtInput.Text) If intMark = 90 Then txtOutput.Text = 优秀 Else If intMark = 80 Then txtOutput.Text = 良好 Else If intMark = 70 Then txtOutput.Text = 中等 Else If intMark = 60 Then txtOutput.Text = 及格 Else txtOutput.Text = “补考 End If End If End If End IfEnd Sub求圆周率的值Private Sub cmdPi_Click() Dim sum As Single Dim m As Single Dim n As Integer n = 1 Do m = 1 / (2 * n - 1) sum = sum + (-1) (n + 1) * m n = n + 1 Loop While m = 0.0001 Text1.Text = a * 4 End Sub求最大公约数,最小公倍数Option ExplicitPrivate Sub Option1_Click(Index As Integer) Dim a As Integer, b As Integer Dim m As Integer, d As Integer a = Text1 b = Text2 m = common(a, b) If Index = 0 Then Text3 = m Else d = a * b / m Text3 = d End IfEnd SubPrivate Function common(ByVal a As Integer, ByVal b As Integer) As Integer Dim r As Integer Do r = a Mod b a = b b = r Loop While r 0 common = aEnd Function四位正整数逆序转换Option ExplicitPrivate Sub Command1_Click() Dim x As String x = Text1.Text If judge(x) Then Text2.Text = rever(x) Else MsgBox (数据有误,请重新输入) Text1.Text = Text1.SetFocus End IfEnd SubPrivate Function judge(x As String) As Boolean judge = False If Val(x) = 1000 And Val(x) 10000 Then judge = True End IfEnd FunctionPrivate Function rever(x As String) As String Dim s As String, i As Integer For i = 1 To Len(x) s = Mid(x, i, 1) & s Next i rever = sEnd Function百钱买百鸡Option ExplicitPrivate Sub Command1_Click() Dim a As Integer Dim b As Integer Dim c As Integer Print 鸡翁; Tab; 鸡母; Tab; 鸡雏 For a = 0 To 20 For b = 0 To 34 For c = 0 To 100 Step 3 If 5 * a + 3 * b + c / 3 = 100 And a + b + c = 100 Then Print a; Tab; b; Tab; c End If Next Next NextEnd Sub十进制转换为二进制Option ExplicitPrivate Sub Command1_Click() Dim a As Integer, b As Integer, c As String a = Val(Text1.Text) If a Sort(J) Then Temp = Sort(I) Sort(I) = Sort(J) Sort(J) = Temp End If Next Next For I = 1 To 15 Text2.Text = Text2.Text & Str(Sort(I) NextEnd SubPrivate Sub Command2_Click() Dim Temp As Integer Dim I As Integer, J As Integer For I = 14 To 1 Step -1 For J = 1 To I If Sort(J) Sort(J + 1) Then Temp = Sort(J) Sort(J) = Sort(J + 1) Sort(J + 1) = Temp End If Next Next For I = 1 To 15 Text2.Text = Text2.Text & Str(Sort(I) NextEnd SubPrivate Sub Command3_Click() Dim I As Integer, J As Integer For I = 1 To 15 Randomize Sort(I) = Int(Rnd * (99 - 10 + 1) + 10 Text1.Text = Text1.Text & Str(Sort(I) NextEnd Sub数组Option Base 1Private A(5, 5) As IntegerPrivate Sub Command1_Click() Dim i As Integer, j As Integer For i = 1 To 5 For j = 1 To 5 A(i, j) = Int(Rnd * (50 - 10 + 1) + 10) Print A(i, j); Next j Print Next iEnd Sub. 大小写字母抽出统计Private Sub Command1_Click() Dim s As String Dim i As Integer Dim n As Integer Dim m As Integer s = Text1.Text For i = 1 To Len(s) p = Mid(s, i, 1) If p = A And p = a And p 0 Then For i = 1 To n s = s & CStr(i) Next i Print s Call test(n - 2) Else Print OVER End IfEnd Sub.(数组) 执行下面程序,单击Command1后,A(1,4)的值是 (1) ,A(2,3) 的值是 (2) ,A(3,2) 的值是 (3) 。(1 5 5)Option ExplicitOption Base 1Private Sub Command1_Click() Dim A(4, 4) As Integer, UB As Integer Dim i As Integer, j As Integer, n As Integer UB = UBound(A, 1) n = 0 For i = UB To 1 Step -1 For j = 1 To UB + 1 - i n = n + 1 A(j, j + i - 1) = n Next j Next i For i = UB To 2 Step -1 For j = UB To i Step -1 A(j, j - i + 1) = A(5 - j, 4 - j + i) Next j Next i For i = 1 To UB For j = 1 To UB Picture1.Print A(i, j); Next j Picture1.Print Next iEnd Sub运行下面程序,如果连续三次单击命令按钮之后,A数组共有 个元素;数组元素A(2)的值是 ,A(5)的值是 。 6 5 31Option ExplicitOption Base 1Private Sub Command1_Click() Static A() As Integer , N As Integer Dim I As Integer, K As Integer K = N N = N + 2 ReDim Preserve A(N) For I = K + 1 To N A(I) = I * N + 1 Next I For I = 1 To N Print A(I); Next I PrintEnd Sub(子程序)运行下列程序,单击Command1,在窗体上显示的第一行内容是 ,第二行的内容是 ,第三行的内容是 。icBa baicBa babaOption ExplicitPrivate Sub Command1_Click() Dim s As String s = Basic Call trans(s)End SubPrivate Sub trans(s As String) Dim j As Integer, t As String Dim k As Integer k = 3 Do j = InStr(s, a) t = LCase(Right(s, j) s = Right(t, Len(s) - k) & Left(s, Len(t) k = k - 1 Print s Loop Until k = 0End Sub运行下面的程序,单击Command1,在窗体上显示的变量A的值为 ,变量B的值为 。19 68 Option ExplicitDim A As IntegerPrivate Sub Command1_Click() Dim B As Integer B = 3 A = 4 B = Fun(Fun(A, B + 2), A) + B Print A, BEnd SubPrivate Function Fun(N As Integer, K As Integer) N = N + A K = N - K Fun = N + K + AEnd Function9. 运行下面的程序,单击Command1,在窗体上显示的第一行为 (7) ,第二行为 (8) ,最后一行为 (9) 。4 5 9 5 -1 4 1 2 Option ExplicitPrivate Sub Command1_Click() Dim a As Integer, b As Integer Dim c As Integer a = 1 b = 2 Print fun(a + 2, fun(2 * a, b) Print a ; bEnd SubPrivate Function fun(x As Integer, ByVal y As Integer) As Integer x = x + 2 y = x - y + 3 fun = x + y Print x ; y ; funEnd Function模拟试卷:第二部分 Visual Basic 程序设计一、 选择题(用答题卡答题,答案依次填在2130答题号内)21关于窗体,以下叙述中正确的是 21 。A仅当窗体上没有可以获得焦点的控件时,窗体才可以获得焦点B一个VB工程只能从某个指定的窗体开始启动C只有窗体可以作为控件的容器DUnload Me和End语句的效果总是等同的22若a为长整型变量,则执行a = 12 : Print Len(a); Len(Str(a); Len(CStr(a)后,在窗体上看到的是 22 。A4 2 3 B2 3 2C4 3 2 D2 2 323数学表达式对应的Visual Basic表达式是 23 。A. Cos (30 * 3.14159 / 180) / (4 * y + ln(x) ) + Exp(2)B. Cos (30 * 3.14159 / 180) / (4 * y + log(x) ) + Exp(2)C. Cos (30 * 3.14159 / 180) / (4 * y + lnx ) + e2D. Cos (30 ) / (4 * y + log(x) ) + e224表达式Fix(-2.5) + Int(-3.5) + CInt(-2.5)的值为 24 。A. -8 B. -7 C. -6 D. -525以下说法中,错误的是_ _25 _。A. 使用缺省Preserve关键字的ReDim 语句可以改变数组的维数和大小B. ReDim 语句只能出现在过程中C. 使用ReDim语句重新定义的动态数组,只能比原数组大D. 使用ReDim 语句可以对动态数组的所有元素进行初始化26下列关于菜单的说法中,错误的是_26_。A. 可以为菜单项选定快捷键B. 若在“标题”文本框中键入连字符 (-),则可在菜单的两个菜单命令项之间加一条分隔线C. 除了Click事件之外,菜单项还可以响应其他事件D. 菜单编辑器的“名称”文本框是用于输入菜单项的名称27. 以下有关过程形式参数的描述中,错误的是 27 。函数过程可以没有形式参数事件过程一定没有形式参数形参数组只能按地址与实参数组结合D. 窗体与控件也可以作为过程的参数28以下表达式中,可以表示“A和B之一大于0”的是 28 。A*B0 Xor B0 A0 Or B0 A0 And B0 And A= 1 St = Left(S, 1) If St 9 Then St = Asc(St) - 55 “A” 的ASCII码为65 End If Convert = Convert + Val(St) * N (L - 1) Print Val(St) * N (L - 1) L = L - 1 S = Right(S, L) LoopEnd Function5运行下列程序,单击Command1,窗体上显示的第一行内容是 (13) ,第二行的内容是 (14) ,最后一行的内容是 (15) 。ETME EM SSCLAOption ExplicitPrivate Sub Command1_Click() Dim s As String, k As Integer, ch() As String Dim p As String, i As Integer s = UCase(Meet me after the class.) For i = 1 To Len(s) If Mid(s, i, 1) = A Then p = p & Mid(s, i, 1) ElseIf p Then k = k + 1 ReDim Preserve ch(k) ch(k) = p p = End If Next i For i = 1 To UBound(ch) If Len(ch(i) = 2 Then Call move_c(ch(i), 1) Else Call move_c(ch(i), 2) End If Print ch(i) Next iEnd SubPrivate Sub move_c(s As String, k As Integer) Dim i As Integer, j As Integer, p As String * 1 For i = 1 To k p = Right(s, 1) For j = Len(s) - 1 To 1 Step -1 Mid(s, j + 1, 1) = Mid(s, j, 1) Next j s = p & Right(s, Len(s) - 1) Next iEnd Sub6下面程序的功能是求的近似值,当第n项的绝对值小于时终止计算。Option ExplicitPrivate Sub Command1_Click() Dim n As Long, s As Single, t As Single, pi As Single Const eps = 0.00001 n = 1 t = 1 s = 0 Do s = s + t n = n + 1 t = (16) (-1)(n + 1)/(2 * n 1) Loop Until (17) Abs(t) epsPi = s * 4Label1.Caption = 的近似值为:Text1 = PiEnd Sub7下面程序的功能是:找出满足以下条件三位整数,不包含数字0,且任意交换其数字位置所得到的数均能被6整除。Option ExplicitPrivate Sub Command1_Click() Dim i As Integer, j As Integer, k As Integer, st As String Dim a(6) As Integer For i = 100 To 999 If (18) Then fj(a, CStr(i) For j = 1 To 6 If a(j) Mod 6 0 Then Exit For Next j If (19) Then j 6 st = st & Str(i) k = k + 1 If k Mod 3 = 0 Then st = st & vbCrLf End If End IfNext IText1 = stEnd SubPrivate Function fj(a() As Integer, s As String) As Boolean Dim n As Integer,i As Integer, j As Integer If InStr(s, 0) 0 Then (20) Exit Function End IfFor i = 1 To 3 For j = 1 To 2 n = n + 1 (21) a(n) = s s = Left(s, 1) & Right(s, 1) & Mid(s, 2, 1) Next j s = Right(s, 1) & Left(s, 2)Next IFj = TrueEnd Function8下面程序的功能是求两个特大整数之和。由于VB中能够表示的整数大小有一定限制,所以必须用新的方法求特大整数之和。本程序将特大整数设为字符类型进行处理,其中函数Add用于求两个1位整数之和,变量c用于保存进位。Option ExplicitPrivate Sub Command1_Click() Dim s1 As String, s2 As String, s3 As String

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论