已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VB课后习题答案 二、选择题1. C 2. B第2章 习题参考答案一、判断题题号1234567891011答案二、填空题1 窗体font 2 不能在代码中设置 3 selstart 4 Locked 5 TabIndex 、 0 6 vbModal或 1 7 Activate 、 Deactivate 8 PictureBox 和 Frame -三、选择题题号12345678910答案DCDADBBBAB第3章 习题参考答案一、思考题1、double2、 xyCabc, 15eyd, Is, #END X8P3、变量有 (1) (4) (6) (8),常量有(2)字符串型 (3)逻辑型 (5)字符串型 (7)字符串型 (9)日期型 (10)实型4、 5、(1) 26 (2) 3.75 (3) 36、写出下列Visual Basic表达式的值:(1) False (2) True (3) True (4) False (5) True (6) True (7) False (8) False7、将下列命题用Visual Basic布尔表达式表示:(1) zx and zy (2) abs(a) b+2(3) p mod q=0 (4) x-2 and x5(5) xz or xz and yz (6) a0 and y0 or x0 and y0 10 s=”A” and s=”a” and s=”z” 三、选择题题号12345答案CBBBD四、编程题1、Private Sub Form_Click() Dim x%, Ten%, hundred% x = Val(Text1.Text) Ten = (x 10) Mod 10 hundred = x 100 Print 百位数是: & hundred Print 十位数是: & TenEnd Sub2Private Sub Form_Click() Dim char As String * 1 Form1.CurrentX = Rnd * Form1.ScaleWidth Form1.CurrentY = Rnd * Form1.ScaleHeight char = Chr(Int(Rnd * 16) + 65) Print charEnd Sub第4章 习题参考答案一、判断题题号12345678答案二、选择题题号12345答案ADBBB三、程序阅读写出下列各段程序执行后的输出结果。1785786357864135786422 w=4、w=13、w=135、w=31 3此题有点错误,修改如下:是将语句“If k Asc(A) Then k = k + 26”改为: If k Asc(Z) And k Asc(a) Then k = k + 26 改后的答案: xyza12 uvw& 4ABBBCCCCCDDDDDDDEEEEEEEEE5此题的“IF KeyAsci=13 Then”改为“IF KeyAscii=13 Then” 答案是:129四、程序填空题1 (1) Sing=-1(2) For i=2 to 19(3) Sing=-Sing2 (1) Len(oldsen)(2) Mid(oldsen ,i,1)(3) Ucase(char)(4) char3(1) Len(str1)(2) Length-1(3) Mid(str1,i,2)(4) Sum=04(1) Trim(Str(i)(2) Trim(Str(i*i)(3) Right(x2,Len(x1)=x15.(1) last_one = last_two(2) last_two = this_one(3) i = i+1(4) i-1五、编程题1Private Sub Form_Click() Dim R1 As Double, R2 As Double R1,R2 表示两电阻值 Dim Rp As Double, Rs As Double R1 = Val(InputBox(输入电阻R1=?) R2 = Val(InputBox(输入电阻R2=?) Rp = R1 * R2 / (R1 + R2) Rs = R1 + R2 Rp = Fix(Rp * 1000 + 0.5) / 1000 保留小数点后3位 Rs = Fix(Rs * 1000 + 0.5) / 1000 保留小数点后3位 MsgBox 并联电阻是: & Rp & vbCrLf & 串联电阻是: & RsEnd Sub2Private Sub Form_Click() Dim N As Long N = Val(InputBox(请输入年份, 提示框) If (N Mod 400 = 0) Or (N Mod 4 = 0 And N Mod 100 0) Then 判断条件 Print N & 年是闰年 Else Print N & 年不是闰年 End IfEnd Sub3Private Sub Form_Click() Dim a!, b!, c!, s!, x! a = Val(InputBox(Enter A=?) b = Val(InputBox(Enter B=?) c = Val(InputBox(Enter C=?) If a + b c And b + c a And a + c b Then 如果能构成三角形 x = (a + b + c) / 2 s = Sqr(x * (x - a) * (x - b) * (x - c) Print S=; s Else Print 数据有错,不能构成三角形 End IfEnd Sub4(此题不适合使用Select语句)Private Sub Command1_Click() Dim x As Double, fx As Double x = Val(InputBox(输入x=?) If x 0 And x -3 Then fx = x * x + x - 6 ElseIf x = 0 And x 10 And x 2 And x 3 Then fx = x * x - 5 * x + 6 Else fx = x * x - x - 1 End If Print x= ; x; f( & x & )=; fxEnd Sub5Dim i As Integer Dim s As Long, t As Long t = 1 For i = 1 To 10 t = t * i s = s + t Next i Print S= & s6Dim i%, s!, n!, t!, f% i = 1 项数 s = 0 累加和 n = 1 阶乘 t = 1 通项 f = 1 系数 Do While t 0.000001 s = s + f * t i = i + 1 n = n * i t = 1 / n f = -f 表示符号 Loop Print S=; s7方法一Private Sub Form_Click() Dim i As Integer Dim Hundred As Integer, Ten As Integer, One As Integer 定义百位,十位,个位数 For i = 100 To 999 Hundred = i 100 求百位数 Ten = (i 10) - Hundred * 10 求十位数 One = i Mod 10 求个位数 If i = Hundred 3 + Ten 3 + One 3 Then 判断是否为素数 Print i & 是水仙花数 End If Next iEnd Sub方法二Private Sub Form_Click() Dim i As Integer Dim Hundred As Integer, Ten As Integer, One As Integer 定义百位,十位,个位数 For Hundred = 1 To 9 百位数 For Ten = 0 To 9 十位数 For One = 0 To 9 i = Hundred * 100 + Ten * 10 + One If i = Hundred 3 + Ten 3 + One 3 Then 判断是否为素数 Print i & 是水仙花数 End If Next One Next Ten Next HundredEnd Sub8Dim a As Double, x0 As Double, x1 As Doublea = Val(InputBox(“输入a=?”)x0 = a 初值x1 = 2 / 3 * x0 + a / (3 * x0 * x0) 第一次迭代后的值Do While Abs(x1 - x0) 0.000001 控制精度 x0 = x1 迭代 x1 = 2 / 3 * x0 + a / (3 * x0 * x0)Loop Print “立方根: ”; x1第5章 习题参考答案一、判断题题号123456答案二、选择题题号123答案DAC三、程序填空1. Preserve a(n+1) a(i+1)=a(i) a(i+1)=mn+1或Ubound(a)2. Print K-1 t = a(k, j): a(k, j) = a(j, k): a(j, k) = t 3 Rnd*100 P=10 P = J P = 0 四、编写程序1.Private Sub Command1_Click()Dim A() As Integer, N As IntegerDim i As Integer, M As Integer, t As Integer, k As Integer N = Val(InputBox(请输入数组的大小N=?) M = Val(InputBox(请输入移位次数M=?) 输入循环次数的大小 If N = 0 Then Exit Sub ReDim A(N - 1) Print 原始数组值 For i = 0 To N - 1 给数组赋值 A(i) = Int(Rnd * 100) Print A(i); Next i Print移位 For i = 1 To M 循环体完成右移一位,循环完成右移j位 t = A(N - 1) For k = N - 1 To 1 Step -1 循环右移 A(k) = A(k - 1) Next k A(0) = t Next i打印右移后的数组值 Print 循环右移 & M & 位后的数组值 For i = 0 To N - 1 Print A(i); Next i PrintEnd Sub2.Const NM = 100Private Sub Command1_Click()Dim a(1 To NM) As Single, b(1 To NM) As Integer, max As IntegerDim i As Integer, j As Integer, k As Integer, t As Integer For i = 1 To NM 输入100个数值 a(i) = Val(InputBox(请输入a( & i & ) 的值) If Int(a(i) = a(i) Then 判断是否为整数 k = k + 1 整数个数加1 b(k) = a(i) 将这个整数存放到数组B End If Next i 选择排择 For i = 1 To k - 1 max = i For j = i + 1 To k If b(max) b(j) Then max = j Next j If max i Then t = b(max): b(max) = b(i): b(i) = t End If Next i 打印输出 For i = 1 To k Print b(i); If i Mod 5 = 0 Then Print Next iEnd Sub3.Private Sub Command1_Click() Dim a() As Integer Dim n%, i%, j% n = Val(InputBox(输入一个整数n=?) ReDim a(n) Form1.Cls Randomize Print 产生的30个随机整数: For i = 1 To n a(i) = Int(Rnd * 21) - 10 Print a(i); If i Mod 10 = 0 Then Print Next i Print 删除数组的相同数据 j = 2 Do While j n For i = 1 To j - 1 查找相同的元素 If a(j) = a(i) Then Exit For Next i If i j Then 如果第i个数与前面的数据相同,删除第i个元素 For i = j To n - 1 a(i) = a(i + 1) Next i n = n - 1 ReDim Preserve a(n) Else j = j + 1 End If Loop Print 删除后的数据: For i = 1 To n Print a(i); If i Mod 10 = 0 Then Print Next iEnd Sub4.Private Sub Command1_Click()Dim a(1 To 50) As Integer, i%, j%, t%, p%, n%, x% n = 0 已经产生的元素个数 Randomize Do While n n Then n = n + 1 a(n) = x End If Loop For i = 1 To 49 使用选择法排序 p = i For j = i + 1 To 50 If a(p) a(j) Then p = j Next j t = a(p): a(p) = a(i): a(i) = t Next i For i = 1 To 50 打印输出 Print a(i); If i Mod 10 = 0 Then Print Next iEnd Sub第6章 习题参考答案一、判断题题号123456答案二、选择题题号12345答案DCADB三、程序填空题1.(1) nsp=true (2) m mod i=0(3) p1 and p2(4) p1=nsp(i)2(1) number(i,7) (2) (int n, int m) (3) number=number*10+m四、程序阅读1. a=9 b=42(1) 362516941(2) 149941 3 64. 1 4 6五、编写程序1.Public Function fact(x As Integer) As Single 求x! Dim f As Single, i As Integer f = 1 For i = 1 To x f = f * i 累积 Next i fact = fEnd FunctionPrivate Sub Form_Click() Dim n%, m%, y! Do m% = Val(InputBox(m=) n% = Val(InputBox(n=) Loop Until m = n And n = 0 y = fact(m) / (fact(n) * fact(m - n) Print yEnd Sub2 private sub Insertfun(a%(), y%) Dim i as integer,n as integer n=ubound(a)Redim preserve a(n+1) For i=ubound(a)-1 to 0 step -1 If y a(i) then a(i+1)=a(i) If i=0 then a(i)=y Else a(i+1)=y exit for end if next i3. 判断是否为回文函数Private Function Judge(str As String) As BooleanDim i As Integer Judge = True 假设为回文 For i = 1 To Len(str) 2 依次判断对应位置的两个字符,只要有一组不等即不是回文 If Mid(str, i, 1) Mid(str, Len(str) + 1 - i, 1) Then Judge = False Exit Function End If Next iEnd Function4.Private Sub Form_Click() Dim n%,x!n = Val(InputBox(n=) x = Val(InputBox(x=) Print fe(n, x) 调用求值函数过程End Sub求值函数过程Public Function fe(n%, x!) As SingleDim i As Integer, t As Single fe = 1: t = 1 For i = 1 To n t = t * x / i t为通项 fe = fe + t Next iEnd Function5.。第7章 习题参考答案一、判断题题号12345678910111213141516答案二、填空题1_Multiline_2_Value_3_Selected_、_List_、_0_、_List1.ListCount-1_4 下拉式列表框 5_LargeChange_、_Value_6 Shift+Ctrl 7KeyAscii=0 if KeyAscii57 OR KeyAscii= 0 Then 是否选中某一项目 Combo1.RemoveItem Combo1.ListIndex 删除选中项目 Else 删除与输入内容相同的项目 For i = 0 To Combo1.ListCount - 1 If Combo1.List(i) = Combo1.Text Then Combo1.RemoveItem i End If Next i End IfEnd Sub清除Private Sub Command3_Click() Combo1.ClearEnd Sub2Private Sub Command1_Click() 产生随机数 Dim i% Randomize For i = 1 To 10 List1.AddItem Str(Int(Rnd * 90) + 10) Next i List2.ClearEnd SubPrivate Sub Command2_Click() 迁移偶数 Dim i% i = 0 Do While i = List1.ListCount - 1 If Val(List1.List(i) Mod 2 = 0 Then List2.AddItem List1.List(i) List1.RemoveItem i Else i = i + 1 End IfLoopEnd Sub3Private Sub List1_DblClick() Dim i As Integer For i = 0 To List2.ListCount - 1 防止重复点歌 If List2.List(i) = List1.Text Then Exit Sub End If Next i List2.AddItem List1.TextEnd SubPrivate Sub List2_DblClick() List2.RemoveItem List2.ListIndexEnd Sub第10章 习题参考答案一、判断题题号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 互联网服务器配置调试与安全加固手册
- 机场地面服务流程与操作手册
- 卫星发射与地面测控手册
- 2026年木工房游戏幼儿园
- 服装生产与质量检测规范手册
- 人力资源实习生管理与培养考核手册
- (2025年)四川省广安市中考生物真题及答案
- 大气污染治理与减排手册
- 电影院检票入场流程与服务手册
- 2026年旅游行业创新报告及智能导览系统报告
- 电子签名 协议书
- 身心灵课件教学课件
- 贵州省2025贵州省黔西南州高校专项引进人才335人笔试历年参考题库附带答案详解
- 骨科抗凝指南解读
- 易制毒、易制爆危险化学品盗抢破坏和丢失事故应急预案
- 2026人教版中考复习英语必背1600单词默写(汉译英)
- 贵州省2025~2026学年度初中学业水平考试仿真模拟试卷 理科综合(物理.化学) (含答案)
- 混泥土配合比知识培训课件
- (正式版)DB15∕T 2225-2021 《柠条造林技术规程》
- 地下水环境影响预测课件
- 山东省青岛39中重点达标名校2026届中考英语模拟预测题含答案
评论
0/150
提交评论