VB 课后练习题参考答案第一章一、1、C2、C3、B4、B5、D6、B7、B8、D二、1、学习版、专业版、企业版2、alt+Q 或 alt+F43、.vbp 、 .frm4、固定、浮动5、"abcd"、"VB Programing"6、属性窗口、运行7、对象框、事件框8、窗体模块、标准模块、类模块第二章一、1、B2、B3、B4、B5、D6、D二、1、((x+y)+z)*80-5*(C+D)2、cos(x)*sin(sin(x)+13、2*a*(7+b)4、8*EXP(3)*LOG(2)5、good morning 、 good morning6、2001/8/25820017第三章一、1、C2、B3、D4、A5、D 、 36、C7、B8、C9、C10、D11、B12、C13、B14、B15、A16、B17、D18、C19、C二、1、AutoSize2、text1.setfocus3、0 、 04、picture1.picture=loadpicture("yy.gif")5、stretch6、interval7、enable8、下拉式组合框、简单组合框、下拉式列表框、style9、下拉式列表框10、条目1 、条目311、欢迎您到中国来、welcome to china!!第四章一、1、B2、C3、C4、B5、C6、B7、C8、B9、D10、A11、B12、A13、B14、D15、A16、B17、A18、C19、B二、1、2542=572、beijing3、002.45、2.449、24.49e-01、-2.4494、9 10 115、96、1 2 37、iif(x<=0,y=0,iif(x<=10,y=5+2*x,iif(x<=15,y=x-5,y=0)))8、x=7 或 x>6 或 x>59、x>=0 、x<amin10、1024 11、121.用vb程序从键盘上输入4个数,编写程序,计算并输出这4个数的和及平均值。
要求用Inputbox函数输入数据(解法1)Private Sub Form_Load()Form1.ShowSum = 0For i = 1 To 4a = InputBox("请输入数值型数据") Sum = Sum + aave = Sum / 4NextPrint Sum; aveEnd Sub (解法2)Private Sub form_Click() Dim a, b, c, d, sum As Integer Dim avg As Doublea = Val(InputBox("请输入第一个数"))b = Val(InputBox("请输入第二个数"))c = Val(InputBox("请输入第三个数"))d = Val(InputBox("请输入第四个数")) sum = 0sum = a + b + c + davg = sum / 4Print "4个数和为" & sumPrint "4个数平均值为" & avgEnd Sub (这个就比较通俗易懂)3.设a=5,b=2.5,c=7.8,编写程序计算 y= y=丌ab/(a+b*c)Private Sub Command1_Click()a = 5b = 2.5c = 7.8pi = 3.14159265y = pi * a * b / a + b * cPrint yEnd Sub4.输入以秒为单位表示的时间,编写程序,将其换算成几日几十几秒.Private Sub Command1_Click()a = Val(Text1.Text)tian = a \ 86399xiaoshi = (a - tian * 86400) \ 1439fenzhong = (a - tian * 86400 - xiaoshi * 1440) \ 59miao = a - tian * 86400 - xiaoshi * 1440 - fenzhong * 60Text2.Text = tian & "天" & xiaoshi & "小时" & fenzhong & "分钟" & miao & "秒"End Sub5.Private Sub Command1_Click()Const g As Single = 9.81t = InputBox("请输入t的值")v0 = InputBox("请输入v0的值")s = 1 / 2 * g * t * t + v0 * tPrint Format(s, "0.##")End Sub6.编写程序,计算2+4+6+ (100)Private Sub Command1_Click()Sum = 0For i = 2 To 100 Step 2Sum = Sum + iNextLabel1.FontSize = 20Label1.Caption = "2+4+6+……+100=" & SumEnd Sub7. 一个按钮一个标签Private Sub Command1_Click()Doa = InputBox("请输入三角形的第一条边长")a1 = Val(a)If a1 = -1 ThenEndEnd Ifb = InputBox("请输入三角形的第二条边长")b1 = Val(b)If b1 = -1 ThenEndEnd Ifc = InputBox("请输入三角形的第三条边长")c1 = Val(c)If c1 = -1 ThenEndEnd IfIf (a1 + b1 > c1) And (a1 + c1 > b1) And (b1 + c1 > a1) Thens = a1 + b1 + c1Exit DoElseError1 = MsgBox("您输入的数据不能组成三角形")End IfLoopLabel1.Caption = "您输入的边长分别为:" & a1 & "," & b1 & "," & c1 & " " & "面积为:" & sEnd Sub8.税务部门征收所得税,规定如下:(1)收入在200元以内,免征;(2)收入在200~400内,超过200元的部分纳税3%;(3)收入超过400元的部分,纳税4%;(4)当收入达到5000元或超过时,将4%税金改为5%。
编程序实现上述操作。
一个输入收入的文本框一个输出税金的文本框一个按钮Private Sub Command1_Click()If Text1.Text <> "" Thena = Text1.TextSelect Case aCase Is <= 200s = 0Case Is <= 400s = (a - 200) * 0.03Case Is < 5000s = 200 * 0.03 + (a - 400) * 0.04Case Is >= 5000s = (400 - 200) * 0.03 + (5000 - 400) * 0.04 + (a - 5000) * 0.05 End SelectText2.Text = sElseerror1 = MsgBox("请输入您的收入!")End IfEnd SubPrivate Sub Form_Load()Text2.Locked = True --------文本框不能被用户修改End SubPrivate Sub Text1_Change()If Not IsNumeric(Text1.Text) Thenerror1 = MsgBox("请输入数字")End If ----------如果用户没有输入收入而直接点击按钮则弹出对话框End Sub9.假定有以下每周工作安排:星期一、三:讲计算机课星期二、四:讲程序设计课星期五:进修英语星期六:公修课星期日:休息试编写一个程序,对上述工作日程进行检索。
程序运行后,要求在文本框内输入一周的某一天,然后单击“显示”按钮,在标签中将输出这一天的工作安排。
在输入时用0~6分别代表星期日到星期六,如果输入0~6之外的数或单击“退出”按钮,则程序结束运行。
(本题用Select case结构完成)Private Sub Text1_Change()a = Text1.TextSelect Case aCase 0Label2.Caption = "休息"Text1.SelStart = 0Text1.SelLength = 1Case 1, 3Label2.Caption = "讲计算机课" Text1.SelStart = 0Text1.SelLength = 1Case 2, 4Label2.Caption = "讲程序设计课" Text1.SelStart = 0Text1.SelLength = 1Case 5Label2.Caption = "进修英语"Text1.SelStart = 0Text1.SelLength = 1Case 6Label2.Caption = "政治学习"Text1.SelStart = 0Text1.SelLength = 1Case ElseError1 = MsgBox("您确认退出程序?", 52, "确认")If Error1 = 6 Then EndElseText1.SelStart = 0 Text1.SelLength = 1 End IfEnd SelectEnd Sub(通俗解法)Private Sub Command1_Click()Dim d%d = Val(InputBox("请输入日期")) Select Case dCase 1, 3Label1 = "讲计算机课"Case 2, 4Label1 = "讲程序设计课"Case 5Label1 = "进修英语"Case 6Label1 = "公修课"Case 0Label1 = "休息"Case ElseEndEnd SelectEnd Sub------------------------------ 10编写程序,打印如下所示的“数字金字塔”:. 1. 1 2. 1 2 3…… 7 8 9 8 7…------------------------------ Private Sub Command1_Click()For i = 1 To 9Print Tab(30 - 3 * i);For j = 1 To iPrint j;Next jFor k = i - 1 To 1 Step -1 Print k; Next k Print Next i End Sub11. Private Sub Command1_Click()For i = 1 To 30For j = i To 30For k = j To 30If i * i + j * j = k * k ThenPrint Tab(10); i, Tab(23); j, Tab(36); kEnd IfNext k, j, iEnd Sub14. Private Sub Command1_Click()Dim a As Integera = Val(Text1.Text)If a < 10 Or a > 99 Thenerror1 = MsgBox("您输入的不是两位正整数,请重新输入")ElseFor i = 10 To 99a1 = a \ 10 + (a Mod 10) * 10i1 = i \ 10 + (i Mod 10) * 10If (a + i = a1 + i1) And (a1 > 9) And (i1 > 9) ThenLabel2.Caption = Label2.Caption & Chr(13) & a & "+" & i & "=" & a1 & "+" & i1Form1.Height = Label2.Height + Label2.Top + 1000End IfNextEnd IfEnd Sub。