《VB课程复习题》word版_第1页
《VB课程复习题》word版_第2页
《VB课程复习题》word版_第3页
《VB课程复习题》word版_第4页
《VB课程复习题》word版_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、.1. 设a=2,b=5,c=8,计算下列表达式的值:(1)Not(a>b) 1(2) a+b=c And a*b>c 0(3)a<>b Or c<>b 1(4) a+c>a+b Xor c>b 0(5) 3+45*6/7 Mod 8>=9 02把下列数学表达式写成VB中的表达式:(1) (2)2x3+sin4502、答案:1、((-b)+sqr (b*b-4*a*c)/(2*a) 2、2*x*x*x+sin453用Rnd产生:(1)0100之间的随机数,包括0和100。(2)1535之间的随机数,包括15和35。3、答案:产生随机数的公式

2、: INT(Rnd*(M-N+1)+N, 产生的随机数范围为:N,M(1)、Int(Rnd*101) (2)、Int(Rnd*21)+154利用Format()函数显示有关的日期和时间。Private Sub Form_Click() T1=#8:30:25AM#D1=#8/25/2005#Print Format(D1,m/d/yy)Print Format(D1,mmmmddddyyyy)Print Format(T1,hms AM/PM)Print Format(T1,hh:mm:ss A/P)Print Format(D1,dddddd) Print FormatDateTime(No

3、w) End Sub4、答案显示结果:8-25-05August-Thursday-20058-30-25-AM08:30:-25 A2005年8月25日 星期四2010-12-29 16:14:305用Print方法在窗体中输出数据。Private Sub Form_Click()Dim a%, b% a = 3: b = 6 Print a; b; a + b Print a, b, a + b Print "a=" a, "b=" b, " a+b =" a + bPrint Tab(5); a; Tab(15); b; Tab

4、(25); a + b Print Spc(5); a; Spc(5); b; Spc(5); a + bEnd Sub5、输出结果:3、6、93、6、9a=3 b=6 a+b=9 3、 6 、 9 3 6 96已知三角形的三条边a,b,c的长度,求三角形的面积。分析:已知三角形的三条边a,b,c的长度,则可用海伦公式求三角形的面积。即: s= 其中: p=(a+b+c)运行界面如图3.8所示。 6、答案源程序:Private Sub Command1_Click()a = Val(Text1.Text()b = Val(Text2.Text()c = Val(Text3.Text()p =

5、(a + b + c) / 2s = Sqr(p * (p - a) * (p - b) * (p - c)Text4.Text() = sEnd Sub7利用随机函数Rnd产生一个三位整数,输出该数的颠倒数。例如产生的随机数为123,应输出321。 7、答案源程序:Private Sub Command1_Click()a = Int(Rnd * 1012) + 100 '保证输出的是三位数的随机数'Print "输出的随机数为:" a'颠倒顺序'b = a 100c = (a 10) Mod 10d = a Mod 10e = d * 1

6、00 + c * 10 + bPrint "该随机数的颠倒顺序为:" eEnd Sub8编写一个程序,判断某一年是否为闰年。闰年的条件是:能被4整除,但不能被100整除的年份。或能被400整除的年份。8、答案源程序:Private Sub Command1_Click()n = Val(InputBox("输入")If n Mod 4 = 0 And n Mod 100 <> 0 ThenPrint n; "是闰年"ElseIf n Mod 400 = 0 ThenPrint n; "是闰年"ElseP

7、rint n; "不是闰年"End IfEnd Sub9为了节约用电,制定如下随用电量增加而逐级提高电费的收费办法,根据用电量的大小分段计费,标准如表3.3所示。 表3.3 用电量与收费标准用电量X(度)每度电收费(元)用电量X(度)每度电收费(元)x100100<x125125<x1500.550.700.85150<x175175<x200x>2001.001.151.30请设计一个程序,输入一个用户的用电量后即计算出应交的电费。9、答案源程序:Private Sub Command1_Click()Dim count As Integer

8、count = Val(Text1.Text()Select Case count Case 0 To 100 Sum = 0.55 * count Case 101 To 125 Sum = 0.7 * count Case 126 To 150 Sum = 0.85 * count Case 151 To 175 Sum = 1 * count Case 176 To 200 Sum = 1.15 * count Case Else Sum = 1.3 * count End SelectText2.Text() = Str(Sum)End Sub10编写一个小学生进行四则运算的检验程序。

9、要求:每次随机产生两个1100之间的整数和随机产生一种运算符(+、-、×、÷),由学生进行计算作答,然后计算机对学生的作答结果进行判断,如果正确,在题后打“”,否则打“×”,并可在程序运行结束前统计答对与答错的题数。10、答案源代码:Dim Result!,Ntrue%,Nfalse% Private Sub Form_Click( ) 产生随机数并生成表达式 Dim n1%,n2%,n%,ch$ Randomize n1=Int(Rnd*100+1) n2=Int(Rnd*100+1) n=_ Int(Rnd * 4 + 1)_ 产生14之间的整数(运算符代码)

10、 Select _ Case n_ Case 1 ch=”+”: Result=n1+n2 Case 2 ch=”-”: Result=n1-n2Case 3 ch=”×”: Result=n1*n2 Case 4 ch=”÷”: Result=n1/n2 End _ Select_ Picture1.Print n1 & ch & n2 & “=”;End SubPrivate Sub Command1_Click( ) 判断运算结果并输出相应的符号 If _ ch = Val(Text1.Text()_Then Picture1.Print Te

11、xt1;Tab(20);” Ntrue= Ntrue+1 Else Picture1.Print Text1;Tab(20);”×” Nfalse = Nfalse +1 End If Text1=“ ” _ If Nfalse <> 0 Or Ntrue <> 0 Then_ Form_Click End If End SubPrivate Sub Command2_Click( ) 统计答题情况 Picture1.Print Picture1.Print “-” Picture1.Print “答对了” & n1 & “道题;”;“答错了”

12、 & n2 & “道题”End Sub11统计并显示1100之间所有能够被7整除的数。每行显示5个数。11、答案源代码:Private Sub Command1_Click()Const m = 100Dim a(m) As Integerx = 0For i = 7 To 100 If i Mod 7 = 0 Then a(x) = i Print a(x); x = x + 1 If x Mod 5 = 0 Then Print j = j + 1 End IfNext iPrintPrint "能被7整除的个数是:" jEnd Sub12求n!,n的值

13、由用户确定。12、答案源程序:Private Function f(n As Integer) As IntegerIf n = 1 Then f = 1Else f = n * f(n - 1)End IfEnd FunctionPrivate Sub Command1_Click()Dim m As Integerm = Val(Text1.Text()Text2.Text() = Str(f(m)End Sub13打印Fibonacci数列的前20项。这个数列有如下特点:第1,2两项为1,1。从第三项开始,该项是其前面两项之和。即: F1=1 (n=1) F2=1 (n=2) Fn=Fn

14、-1+Fn-2 (n3)13、答案源代码:Private Function Fibonacci(a() As Long) As IntegerDim i As Integer, n As Integern = UBound(a)a(1) = 1a(2) = 1For i = 3 To na(i) = a(i - 1) + a(i - 2)Print a(i - 1); a(i - 2)Next iEnd FunctionPrivate Sub Command1_Click()Dim a() As Long, n As Integern = InputBox("请输入n的值:"

15、;)ReDim a(1 To n) Fibonacci a()End Sub14求12+22+32+n2+,当其和恰好大于或等于某一整数m时的和及此时的n值。 运行界面如图 。从文本框Text1输入m值,用Command1实现计算,在Picture1中显示结果。14、答案源程序:Private Sub Command1_Click()Sum = 0i = 0m = Val(Text1.Text()Do While (Sum < m) i = i + 1 Sum = i * i + Sum LoopPicture1.Print "1*1+2*2+3*3+.+n*n="

16、SumPicture1.Print "n=", iEnd Sub15编写一个程序,打印如图 所示的图形。15、答案源代码:Private Sub command1_click()For i = 1 To 5Print Tab(11 - i);For j = 1 To 2 * i - 1Print "* "Next jPrintNext iEnd Sub16. 编写一程序,输入50名同学的成绩,求最高分、最低分和平均分。16、答案源代码:Private Sub Command1_Click()Const n = 50Dim a(n) As IntegerF

17、or i = 1 To n a(i) = Val(InputBox("") Sum = Sum + a(i)Next iAvg = Sum / 50 '算出平均分'Print AvgMax = a(1)For i = 2 To n If a(i) > Max Then Max = a(i)Next iPrint Max '算最高分'Min = a(1)For i = 2 To n If a(i) < Min Then Min = a(i)Next iPrint Min '最低分'End Sub17. 输入某学生的某

18、科目考试成绩(100分制),输出该生的成绩等级。90分以上为“优秀”,8089分为“良好”,7079分为中等,6069分为“及格”,60分以下为“不及格”。17、答案源程序:Private Sub Command1_Click()grade = Val(InputBox("")Select Case grade Case 90 To 100 Print "优秀" Case 80 To 89 Print "良好" Case 70 To 79 Print "中等" Case 60 To 69 Print "及

19、格" Case Else Print "不及格"End SelectEnd Sub18. 编写一程序,输入一段英文文本,统计各字母出现的次数(大小写字母不区分)并显示其结果。18、答案源程序:Private Sub Command1_Click()Dim nw As Integer, i As Integer, n As StringDim st As String, char As String, last As Stringst = Text1.Text(): last = "": n = Len(st)For i = 1 To n cha

20、r = Mid(st, i, 1) If UCase(char) >= "A" And UCase(char) <= "Z" Then nw = nw + 1 Select Case last Case " ", ",", "", ".", Chr(13), Chr(10)碰到空格就减去空格 nw = nw - 1 End Select End If last = charNext iLabel1.Caption = "共有词数:" &

21、 nwEnd Sub19. 输入10名同学的成绩,分别用选择法和起泡法对其按升序(由小到大)排序。19、答案源代码:1、选择法排序:Private Sub Command1_Click()Const n = 10Dim a(n) As IntegerFor I = 1 To 10 a(I) = Val(InputBox("")Next IFor j = 1 To n - 1 p = j For k = j + 1 To n If a(p) > a(k) Then p = k Next k temp = a(j): a(j) = a(p): a(p) = tempNex

22、t jFor I = 1 To 10 Print a(I);Next IEnd Sub2、起泡法排序:Private Sub Command1_Click()Const n = 10Dim a(n) As IntegerFor I = 1 To 10 a(I) = Val(InputBox("")Next IFor j = 1 To n - 1 For k = 1 To n - j If a(k) > a(k + 1) Then temp = a(k): a(k) = a(k + 1): a(k + 1) = temp End If Next kNext jFor I

23、 = 1 To 10 Print a(I);Next IEnd Sub20. 随机生成10个两位数的随机整数,存于数组a中,然后向数组中的指定位置插入一个指定的两位整数,如果指定位置小于或等于零,则将指定的数插在数组的第一个位置,如果指定位置大于现有数据的个数,则将指定的数插在数组的最后一个位置。20、答案源代码:Private Sub Command1_Click()Const n = 10Dim a(n) As IntegerFor i = 1 To 10 a(i) = Int(Rnd * 52 + 10)Next iFor i = 1 To 10 Form1.Print a(i);Nex

24、t ip = Val(InputBox("输入插入二位数的位置", p)q = Val(InputBox("输入二位数", q)If p <= 0 Then a(1) = qElseIf p >= 10 Then a(10) = qEnd IfPrintFor i = 1 To 10 Print a(i);Next iEnd Sub21. 有5个班(假设每班学生均为8人)参加某科目的考试,编写一个程序求出考试成绩最高分的学生,即要求找出该学生所在的班号以及在班中的学号。21、答案源程序:Private Type Stuclno As Inte

25、ger '班级号'stno As Integer ''score As Integer ''End TypePrivate Sub Command1_Click()Dim a(40) As Stu '四十个人的信息'Dim x As IntegerDim z As IntegerDim maxs As Integerx = 1z = 2001For i = 1 To 40 a(i).clno = x '5个班级' x = x + 1 If x Mod 5 = 0 Then x = 1 End If a(i).sco

26、re = Int(Rnd * 78 + 10) '成绩随机' a(i).stno = z + Int(Rnd * 25 + 1) '学号按顺序生产' Next i maxs = a(1).score For j = 1 To 40 If maxs < a(j).score Then maxs = a(j).score End If Next j For k = 1 To 40 If maxs = a(k).score Then p = k End If Next kPrint "本科最高分的学生的班级是" & a(p).clno

27、; "班;" "学号是:" & a(p).stno; "成绩是:" & a(p).scoreEnd Sub22. 某班级学生的某科目成绩存放在一个自定义数据类型数组A中,A中的每一个元素的类型为自定义数据类型Student,其中的成员有学号(num)、姓名(name)、成绩(Score)。试编写一个程序,用数组A模拟学生成绩库,建立成绩库的过程就是输入数据成员的过程。数据的输入通过文本框实现。此外,要求程序具有插入数据和求学生成绩平均分的功能。界面设计如图所示.22、答案源代码:Dim a() As StudentPr

28、ivate Type StudentNum As LongNam As StringScore As SingleEnd TypePrivate Sub Command1_Click()DoDim no As Long, nm As String, sc As Singleno = Val(InputBox("请输入学号")If no = 0 Then Exit Donm = InputBox("请输入姓名")If Len(nm) = 0 Then Exit Dosc = Val(InputBox("请输入成绩")If sc = 0

29、Then Exit DoReDim Preserve a(UBound(a) + 1)With a(UBound(a).Nam = nm.Num = no.Score = scPicture1.Print .Num, .Nam, .ScoreEnd WithLoopEnd SubPrivate Sub Command2_Click()Dim i As Long, s As SingleFor i = 1 To UBound(a)s = s + a(i).ScoreNextPicture1.Print "学生成绩平均分为" & s / (i - 1)End SubPr

30、ivate Sub Command3_Click()p = Val(InputBox("输入追加学生的学号", p) For k = 1 To UBound(a) If p <> a(k).Num Then MsgBox "您所要追加的学生的学号有误" Exit For Else q = Val(InputBox("请输入追加的成绩", q) a(k).Score = q End If Next kEnd SubPrivate Sub Form_Load()ReDim a(0)Command1.Caption = &quo

31、t;插入数据"Command2.Caption = "求平均分"Command3.Caption = "追加"End Sub23. 为输入的文本加密。基本原理:将英文字符的ASCII码加上某个值,使其变成另外一个字符,实现加密。解密的过程则是加密的逆操作。完成以下填空,使各过程函数实现加密解密操作。 Public Function ff(ch As String) 加密函数 Dim a As String, b As String, c As String Dim n% n = Len(ch) For k = 1 To n b = Mid$(c

32、h, k, 1) c = Chr$(Asc(b) + 3) a = a & c Next k ff = a End FunctionPublic Function ffff(ch As String) As String 解密函数 Dim a As String, b As String, c As String Dim n% n = Len(ch) For k = 1 To n b = Mid$(ch, k, 1) c = Chr$(Asc(b) - 3) a = a & c Next k ffff = a End Function 24 编写一个函数:将一个十进制整数(m)

33、转换成二进制数(N) 。 24、答案源程序: Private Sub Command1_Click()Dim x As Integer, y As IntegerDim st As Stringx = Val(Text1.Text()Do y = x Mod 2 x = x 2 st = y & st Loop Until x = 0 Label1.Caption = stEnd Sub 25编写一个函数用于实现二分查找。25、答案源程序:Function srearch(a() As Integer, x As Integer) As IntegerDim bot%, top%, m

34、id%Dim find As Booleanbot = LBound(a)top = UBound(a)find = FalseDo While bot <= top And Not find mid = (top + bot) 2 If x = a(mid) Then find = True Exit Do ElseIf x < a(mid) Then top = mid - 1 Else bot = mid + 1 End IfLoopIf find Then search = midElse search = -1End IfEnd Function26 阅读下面程序,写出运

35、行结果。Private Sub Form_Click( ) For i= 1 To 5 Print Tab(i); String(6-I,”*”);spc(6);string(I,”$”) Next iEnd Sub26、运行结果为:* $ * $ * $ * $ * $27 运行程序时,输入字符串为“Computer”,请写出下列程序的运行结果:Private Sub Command1_Click( )Dim a$,I%,c$,d$ A=InputBox$(“输入字符串:”) n=Len(a) For i=1 To Int(n2) c=Mid(a,I,1) Mid(a,I,1)=Mid(a,

36、n-I+1,1) Mid(a,n-I+1,1)=c Next i Print a End Sub27、运行结果为: retupmoc28阅读理解完成程序填空下列是一个小学生进行四则运算的检验程序。每次随机产生两个1100之间的整数和随机产生一种运算符(+、-、×、÷),由学生进行计算作答,然后计算机对学生的作答结果进行判断,如果正确,在题后打“”,否则打“×”,并可在程序运行结束前统计答对与答错的题数。运行界面如下图。请完成程序代码填空。 Dim Result!,Ntrue%,Nfalse% Private Sub Form_Click( ) 产生随机数并生成表达

37、式 Dim n1%,n2%,n%,ch$ Randomize n1=Int(Rnd*100+1) n2=Int(Rnd*100+1) n=_ Int(Rnd * 4 + 1)_ 产生14之间的整数(运算符代码) Select _ Case n_ Case 1 ch=”+”: Result=n1+n2 Case 2 ch=”-”: Result=n1-n2Case 3 ch=”×”: Result=n1*n2 Case 4 ch=”÷”: Result=n1/n2 End _ Select_ Picture1.Print n1 & ch & n2 &

38、“=”;End SubPrivate Sub Command1_Click( ) 判断运算结果并输出相应的符号 If _ ch = Val(Text1.Text()_Then Picture1.Print Text1;Tab(20);” Ntrue= Ntrue+1 Else Picture1.Print Text1;Tab(20);”×” Nfalse = Nfalse +1 End If Text1=“ ” _ If Nfalse <> 0 Or Ntrue <> 0 Then_ Form_Click End If End SubPrivate Sub C

39、ommand2_Click( ) 统计答题情况 Picture1.Print Picture1.Print “-” Picture1.Print “答对了” & n1 & “道题;”;“答错了” & n2 & “道题”End Sub图3 四则运算运行界面1 启动VB后,就意味着要建立一个新( D )。A窗体 B程序 C. 文件 D工程 2.InputBox函数返回值的类型为( B )A.数值 B.字符串 C.变体 D.数值或字符串(视输入的数据而定)3.在设计阶段,当双击窗体上的某个控件时,所打开的窗口是( C )A.工程资源管理器窗口 B.工具箱窗口C.代码窗

40、口 D.属性窗口4.窗体上有一公共对话框Commondialog1和一个命令按钮Command1,当单击按钮时程序的功能是( B )Private Sub Command1 _ Click()Commondialog1.ShowColorEnd SubA.打开文件对话框 B.打开颜色对话框C.打开字体对话框 D.打开保存对话框5.下列可以打开立即窗口的操作是( B )A.Ctrl+D B. Ctrl+G C. Ctrl+F D. Ctrl+E6.为了把焦点移到某个指定的控件,所使用的方法是( A )A.SetFocus B.VisibleC.Refresh D.GetFocus7.VB表达式C

41、os(0)+Abs(1)+Int(Rnd(1)的值是( D )A. 1 B. -1 C. 0 D. 28.由单精度浮点型的数据组成的字节数是 ( B )A.2 B.4 C.8 D.169.若m,x,y,均为Integer型变量,则执行下面语句后m值是( A )m=1: X=2: Y=3m=IIf(XY,X+Y,X-Y)A. -1 B. 0 C. 1 D. 210.以下不能运行工程的操作是( B )A.执行"运行"菜单中的"启动"命令 B.单击工具栏中的"启动"命令D. 按下F5键 C.按下Ctrl+F5键11以下能从字符串"

42、VisualBasic"中直接取出子字符串"Basic"的函数是( B )。A. LeftB. MidC. String D. Instr1.设a=4,b=3,c=2,d=1,下列表达式的值是( D )。a>b+1 Or c<d And b Mod cA. TrueB. 1C. -1D. 01.以下可以作为Visual Basic变量名的是( A )。A. A#AB. counstAC. 3AD. ?AA1.设x=4,y=6,则以下不能在窗体上显示出“A=10”的语句是( A )。A. Print A=x+yB. Print"A="x+yC. Print "A="+Str(x+y) D. Print"A="&x+y1.假定有如下的命令按钮(名称为Command1)事件过程: Private Sub Command1_Click()x=InputBox("输入:","输入整数")MsgBox"输入的数据是:”,”输入数据:"+xEnd Sub

温馨提示

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

评论

0/150

提交评论