《VB程序设计课后习题答案.docx》由会员分享,可在线阅读,更多相关《VB程序设计课后习题答案.docx(12页珍藏版)》请在三一办公上搜索。
1、VB程序设计课后习题答案同步练习1 二、选择题 0105 CADAB 0610 ACDAB 1115 CBDBB 同步练习2 二、选择题 0105 ABDCA 0610 CACBC 1115 DADAD 1620 BDBBB 三、填空题 1 可视 2 LEFT、TOP、WIDTH、HEIGHT 3 按字母顺序 4 查看代码 5 工具、编辑器 6 FORM窗体、FONT 7 MULTILINE 8 在运行时设计是无效的 9 工程、工程属性、通用、FORM1.SHOW 10TABINDEX、0 同步练习3 二、选择题 0105 BCADB 0610 ADBBC 1115 DBCBA 1620 BA
2、ABB 三、填空题 1 整型、长整型、单精度型、双精度型 2 SIN(30*3.14/180)+SQR(X+EXP(3)/ABS(X-Y)-LOG(3*X) 3 164、今天是:3-19 4 FALSE 5 -4、3、-3、3、-4、4 6 CDEF 7 (X MOD 10)*10+X10 8 (3520)*20=20 ( 35 20 )* 20 = 20 9 X MOD 3=0 OR X MOD 5=0 1027.6、8.2、8、1、100、397、TRUE、FALSE 同步练习4 一、选择题 0105 DBCAD 0610 CBBAB 1115 D25BAC 1620 CBACB 2125
3、 DAABC 二、填空题 1 正确性、有穷性、可行性、有0个或多个输入、有1个或多个输出 2 1 2 3 3 X=7 4 X k Then y = y & Str(n) End If Next n MsgBox y, , “显示质数 End Sub 3 编写程序,计算1+2+100的值。 Private Sub Form_Click Dim i%, s% s = 0 For i = 1 To 100 s = s + i Next i Print 1+2+3+100=; s End Sub 4 百元买百鸡。假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。(采用穷举法) 假设母鸡、
4、公鸡、小鸡各为x、y、z,列出方程为: x+y+z=100 3x+2y+0.5z = 100 Private Sub Form_Click Dim x%, y%, z% Print 母鸡, 公鸡, 小鸡 For x = 0 To 33 For y = 0 To 50 z = 100 - x - y If 3 * x + 2 * y + 0.5 * z = 100 Then Print x, y, z End If Next y Next x End Sub 5 给定三角形的3条边的边长,计算三角形的面积。编写程序,首选判断的3条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求
5、重新输入。当输入-1时结束程序。 Private Sub Form_Click Dim a%, b%, c%, s!, p! Do Until a = -1 Or b = -1 Or c = -1 a = Val(InputBox(a=) b = Val(InputBox(b=) c = Val(InputBox(c=) If a + b c And a + c b And b + c a Then p = (a + b + c) / 2 s = Sqr(p * (p - a) * (p - b) * (p - c) Print s=; s End If Loop End Sub 6 编程打印
6、如下图所示的数字金字塔。 Private Sub Form_Click Dim i%, j% For i = 1 To 8 Print Tab(9 - i); For j = 1 To 2 * i - 1 Print Trim(Str(i); Next j Print Next i End Sub 7 勾股定理中3个数的关系是:a*a+b*b=c*c。编写程序,输出30以内满足上述关系的整数组合,例如3、4、5就是一个整数组合。 Private Sub Form_Click Dim i%, j%, k% For i = 1 To 30 For j = 1 To 30 For k = 1 To
7、30 If i 2 + j 2 = k 2 Then Print i, j, k End If Next k Next j Next i End Sub 8 如果一个三位数3个数字的立方和等于该数本身,称为水仙花数。例如153就是一个水仙花数:13+53+33=153。编写程序,显示所有三位的水仙花数。 Private Sub Form_Click Dim x%, a%, b%, c% For x = 100 To 999 a = x 100 b = (x Mod 100) 10 c = x Mod 10 If a 3 + b 3 + c 3 = x Then Print x End If N
8、ext x End Sub 9 税务部门征收所得税,规定如下: 收入200元以内,免征; 收入在200400元内,超过200元的部分纳税3%; 收入超过400元的部分,纳税4%; 当收入达5000元或超过时,将4%改为5%。 编程实现上述操作。 Private Sub Form_Click Dim x%, y! x = Val(InputBox(请输入收入额:) Select Case x Case Is = 5000 y = (x - 400) * 0.05 End Select Print y=; y End Sub 10编写一程序根据上网时间计算上网费用,计算方法如下: 50元 网费=
9、每小时6元 每小时4元 同时为了鼓励多上网,每月收费最多不超过200元。 Private Sub Form_Click Dim t!, s! t = Val(InputBox(请输入上网小时数) Select Case t Case Is 200 Then s = 200 Case Is = 60 s = 4 * t If s 200 Then s = 200 End Select Print 上网费用为; s; 元。 End Sub 11编写一个程序,当输入月份时,输出季节的名称。例如,当输入月份为12、1和2时,输出“冬季”;当输入月份为3、4、5时,输出“春季”;当输入月份为6、7、8时
10、,输出“夏季”;当输入月份为9、10、11时,输出“秋季”;当输入其他数字时,输出“输入错误,请重新输入!”。 Private Sub Form_Click Dim m% m = Val(InputBox(请输入月份:) Select Case m Case 12, 1, 2 Print 冬季 Case 3, 4, 5 Print 春季 Case 6, 7, 8 Print 夏季 Case 9, 10, 11 Print 秋季 Case Else Print 输入错误,请重新输入! End Select End Sub 12分别利用If语句、Select Case语句,设计计算下列分段函数的程
11、序。 2x-1 f(x)= 4x 7x-5 Private Sub Form_Click Dim x!, f! x = Val(InputBox(请输入x的值:) Select Case x Case Is 0 f = 7 * x - 5 End Select Print f End Sub 同步练习5 一、选择题 0105 DCACD 0610 DBCDC 1115 BADAD 二、填空题 1 NAME、INDEX 2 PRESERVE 3 VARIANT 4 N(2)=2 N(3)=3 5 1 2 3 1 4 1 6 1 2 3 2 4 6 7 MAX、MAX=ARR1(I) 三、编程题
12、1 从键盘上输入10整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即第1个元素与第10个元素互换,第2个元素与第9个元素互换,第5个元素与第6个元素互换。输出数组为原来各元素的值和对换后各元素的值。 Private Sub Form_Click Dim a(1 To 10) For i = 1 To 10 a(i) = Val(InputBox(请输入第 & i & 个数) Next i Print 原来各元素的值: For i = 1 To 10 Print a(i); If i Mod 5 = 0 Then Print Next i For i = 1 To 5 temp
13、 = a(i) a(i) = a(10 - i + 1) a(10 - i + 1) = temp Next i Print 对换后各元素的值 For i = 1 To 10 Print a(i); If i Mod 5 = 0 Then Print Next i End Sub 2 设有如下两组数据。编写一个程序,把两组数据分别读入两个数组中,然后把两个数组中对应下标的元素相加,即2+79,8+27,25+80,并把相应的结果放入第三个数组中,最后输出第三个数组的值。 A 2 8 7 6 4 28 70 25 B 79 27 32 41 57 66 78 80 Private Sub For
14、m_Click Dim a, b, c(7) a = Array(2, 8, 7, 6, 4, 28, 70, 25) b = Array(79, 27, 32, 41, 57, 66, 78, 80) For i = 0 To 7 c(i) = a(i) + b(i) Next i For i = 0 To 7 Print c(i); Next i End Sub 3 有一个nm的矩阵,其各元素的值由随机函数生成。编写程序,找出其中最大的元素所在的行和列,并输出其值及行号和列号。 Option Base 1 Private Sub Form_Click Dim max%, row%, col
15、% Dim a As Integer n = Val(InputBox(请输入矩阵的行:) m = Val(InputBox(请输入矩阵的列:) ReDim a(n, m) For i = 1 To n For j = 1 To m a(i, j) = Int(101 * Rnd) + 50 Print a(i, j), If j = m Then Print Next j Next i max = a(1, 1): row = 1: col = 1 For i = 1 To n For j = 1 To m If a(i, j) max Then max = a(i, j) row = i
16、col = j End If Next j Next i Print 最大元素是:; max Print 在第 & row & 行, & 第 & col & 列 End Sub 4 编写程序,产生50个互不相同的1099的随机整数,统计各数值段有多少个数并输出。 Private Sub Form_Click Dim a(1 To 50) As Integer, i As Integer Dim b(1 To 9) As Integer, k As Integer For i = 1 To 50 a(i) = Int(Rnd * 90 + 10) Print a(i); If i Mod 10
17、= 0 Then Print k = Int(a(i) / 10) b(k) = b(k) + 1 Next i Print For i = 1 To 9 Print (i * 10) & & (i * 10 + 9) & 的学生人数: & b(i) Next i End Sub 5 采用控件数组编写一个简单的计算器。要求该计算器能够实现简单的加、减、乘、除运算。 Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 Text3 = Val(Text1) + Val(Text2) Case 1 Text3 =
18、 Val(Text1) - Val(Text2) Case 2 Text3 = Val(Text1) * Val(Text2) Case 3 Text3 = Val(Text1) / Val(Text2) End Select End Sub 7 编程显示Fibonacci数列的前40项。该数列有如下特点:其第1、2项均为1,从第3个数开始,该数是其前两个数之和,公式为:F(n)= F(n-1)+ F(n-2) Private Sub Form_Click Dim f(39) f(0) = 1: f(1) = 1 For i = 2 To 39 f(i) = f(i - 1) + f(i -
19、2) Next i For i = 0 To 39 Print f(i), If (i + 1) Mod 5 = 0 Then Print Next i End Sub 8 从键盘上任意输入10个数,要求分别用冒泡法、选择法降序排列。 选择法降序: Private Sub Form_Click Dim a(1 To 10) As Integer For i = 1 To 10 a(i) = Val(InputBox(输入A( & i & ) 的值) Next i Print 排序前数据: For i = 1 To 10 Print a(i); If i Mod 5 = 0 Then Print
20、 每行打印5个元素 Next i For i = 1 To 9 p = i For j = i + 1 To 10 If a(p) a(j) Then p = j Next j t = a(i): a(i) = a(p): a(p) = t 交换数据 Next i Print 排序后数据: For i = 1 To 10 Print a(i); If i Mod 5 = 0 Then Print Next i End Sub 冒泡法降序 Private Sub Form_Click Dim a(1 To 10) As Integer For i = 1 To 10 a(i) = Val(Inp
21、utBox(输入A( & i & ) 的值) Next i Print 排序前数据: For i = 1 To 10 Print a(i); If i Mod 5 = 0 Then Print 每行打印5个元素 Next i For i = 1 To 9 For j = 1 To 10 - i If a(j) a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t End If Next j Next i Print 排序后数据: For i = 1 To 10 Print a(i); If i Mod 5 = 0 Then Print Ne
22、xt i End Sub 同步练习6 一、选择题 0105 BDBAB 0610 DBDCC 1115 ABCBA 1618 CDD 二、填空题 1 子、函数 2 实际、形式 3 存储单元 4 MYF(A%,B%) AS BOOLEAN 5 按值传递、按地址传递 6 LBOUND、UBOUND 7 局部 8 通用、所有过程 9 2 5 9 1024 112 1230、70 135 同步练习7 一、选择题 0103 BCA 0610 CDBBD 1115 CAD(AD)A 1620 CADBD 2125 DAAAB 2628 CAA 二、填空题 1 LOAD、UNLOAD 2 SHOW、HIDE
23、 3 属性、方法、事件 4 工程属性、工程、工程属性 6 _KEYPRESS、COMBO1.LIST(I)、ADDITEM 7 0、LIST1.LISTINDEX、LIST1.TEXT 8 1000、TRUE、TIME 9 AA 10下拉式组合框、简单组合框、下拉式列表框 同步练习8 一、选择题 0105 DCCDA 0610 CDBBA 1115 BDBBC 1619 CAAA 二、填空题 1 不会、不会 2 SCALEHEIGHT、SCALEWIDTH 3 (300,-150) 4 右、上 5 默认 6 015 7 B 8 0-2p 9 逆 10DRAWWIDTH 11右、上 12MOVE
24、 13PICTURE1.PICTURE=LOADPICTURE(“”) 14坐标原点、坐标度量单位、坐标轴的长度与方向 15VB程序设计、VBPROGRAMMING 同步练习9 一、选择题 0105 BADCB 0610 BBDAB 二、填空题 1 驱动器列表框、目录列表框、文件列表框 2 CHANGE 3 FILE1.PATH=DIR1.PATH 4 NAME “D:OLD.DOC” AS “C:NEW.DOC” 5 DIR1.PATH=DRIVE1.DRIVE FILE1.PATH=DIR1.PATH 6 FILECOPY “D:TEXT.DOC”,”E:” 7 EOF 8 FOR INPUT NOT EOF(1) 9 FOR INPUT FOR OUTPUT AS #2 NOT EOF(1) INPUT #1,STR1 KILL “C:OLD.DAT” 10PATTERN 11空 12字节