已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. 设a=2,b=5,c=8,计算下列表达式的值:(1)Not(ab) 1(2) a+b=c And a*bc 0(3)ab Or cb 1(4) a+ca+b Xor cb 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、答案:产生随机数的公式: 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(Now) 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(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 = (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 * 100 + 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; 是闰年ElsePrint n; 不是闰年End IfEnd Sub9为了节约用电,制定如下随用电量增加而逐级提高电费的收费办法,根据用电量的大小分段计费,标准如表3.3所示。 表3.3 用电量与收费标准用电量X(度)每度电收费(元)用电量X(度)每度电收费(元)x100100x125125x1500.550.700.85150x1751752001.001.151.30请设计一个程序,输入一个用户的用电量后即计算出应交的电费。9、答案源程序:Private Sub Command1_Click()Dim count As Integercount = 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编写一个小学生进行四则运算的检验程序。要求:每次随机产生两个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之间的整数(运算符代码) 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 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 Command2_Click( ) 统计答题情况 Picture1.Print Picture1.Print “-” Picture1.Print “答对了” & n1 & “道题;”;“答错了” & 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的值由用户确定。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-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的值:)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 Max Then Max = a(i)Next iPrint Max 算最高分Min = a(1)For i = 2 To n If a(i) = A And UCase(char) a(k) Then p = k Next k temp = a(j): a(j) = a(p): a(p) = tempNext 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 = 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);Next ip = Val(InputBox(输入插入二位数的位置, p)q = Val(InputBox(输入二位数, q)If p = 10 Then a(10) = qEnd IfPrintFor i = 1 To 10 Print a(i);Next iEnd Sub21. 有5个班(假设每班学生均为8人)参加某科目的考试,编写一个程序求出考试成绩最高分的学生,即要求找出该学生所在的班号以及在班中的学号。21、答案源程序:Private Type Stuclno As Integer 班级号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).score = 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; 班;; 学号是: & a(p).stno; 成绩是: & a(p).scoreEnd Sub22. 某班级学生的某科目成绩存放在一个自定义数据类型数组A中,A中的每一个元素的类型为自定义数据类型Student,其中的成员有学号(num)、姓名(name)、成绩(Score)。试编写一个程序,用数组A模拟学生成绩库,建立成绩库的过程就是输入数据成员的过程。数据的输入通过文本框实现。此外,要求程序具有插入数据和求学生成绩平均分的功能。界面设计如图所示.22、答案源代码:Dim a() As StudentPrivate 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 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 SubPrivate 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 = 插入数据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$(ch, 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)转换成二进制数(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%, mid%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 阅读下面程序,写出运行结果。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,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( ) 产生随机数并生成表达式 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 & “=”;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 Command2_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.代码窗口 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表达式Cos(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以下能从字符串VisualBasic中直接取出子字符串Basic的函数是( B )。A. LeftB. MidC. String D. Instr1.设a=4,b=3,c=2,d=1,下列表达式的值是( D )。ab+1 Or cd 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. PrintA=;x+yC. Print A=+Str(x+y) D. PrintA=&x+y1.假定有如下的命令按钮(名称为Command1)事件过程: Private Sub Command1_Click()x=InputBox(输入:,输入整数)MsgBox输入的数据是:”,”输入数据:+xEnd Sub程序运行后,单击命令按钮,如果从键盘上输入整数10,则以下叙述中错误的是( A )。A. x的值是数值10B. 输入对话框的标题是“输入整数”C. 信息框的标题是“输入数据:10”D. 信息框中显示的是“输入的数据是:” 1.下列可以打开立即窗口的操作是( B )A.Ctrl+D B. Ctrl+G C. Ctrl+F D. Ctrl+E1.在设计阶段,当双击窗体上的某个控件时,所打开的窗口是( C )A.工程资源管理器窗口 B.工具箱窗口C.代码窗口 D.属性窗口1.为了把
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城乡污水建设项目施工方案
- 城市道路提升改造及绿化配套工程施工方案
- 2025国家电投集团重庆公司招聘8人笔试历年典型考点题库附带答案详解试卷3套
- 2025中电电机股份有限公司招聘12人笔试历年典型考点题库附带答案详解试卷3套
- 供热企业能源审计与管理方案
- 2025中华联合财产保险股份有限公司嘉兴中心支公司招聘12人笔试历年典型考点题库附带答案详解试卷3套
- 城市景观提升与美化方案
- 冷链仓储物流中心项目施工方案
- 丹江市公务员考试试题及答案
- 2025年及未来5年中国自封式吸油过滤器行业发展监测及投资战略研究报告
- 《荷花淀 》课件 统编版高中语文选择性必修中册
- 国家职业技术技能标准 6-31-03-03 生化检验员(试行) 2024年版
- 2025年邮储人才库面试题及答案
- 老年人失禁照护技术课件
- 营销部综合事务管理制度
- 云南采购管理暂行办法
- 2025至2030中国特种油脂行业市场深度研究及发展前景投资可行性分析报告
- 外贸单证实务电子教案
- 2025年惠州出租车区域考试题
- 危险化学品材质相溶性矩阵表
- 中医内科病案分析讲课件
评论
0/150
提交评论