(精选)大学VB过程第三次课后作业

合集下载

VB课后练习答案.doc

VB课后练习答案.doc

VB课后练习答案P12第一章课后练习答案:一、选择题二、填空题第二章(P39)选择题答案:填空题答案:1.Cmdl, Click2.Text 1.Text二"Hello"P64第三章课后练习答案一、选择题二、填空题1.(Y Mod 4=0 And Y Mod 10000) Or Y Mod 400=0 2.a<>0 And b*2-4*a*c>=0 3.X Mod 5=0 And X Mod 2=0 或 Tnt(x/5)=X/5 And Int(X/2)=X/2 4. 注意:返回的均是字符型。

第四章课后答案:P79一、选择题答案为:$$41.50010二、填空题三、程序设计题(提示)1、鸡的头数为x,兔的头数为y,则可列方程式:\x-\- y = h (兀 * 2 + y * 4 =于求得x, y 的值再在窗体上输出结果。

2、 利用Format 格式函数,再通过窗体的Print 将格式化后的信息输出到窗体上。

3、 厶员I 的周长=2加" $岡的面积=加25、通过Inputbox 函数或用文本框输入三边和圆的半径a,b,c, r,利用公式:. a + b + cn 二 ---------2 S 三角形面积=Jh (h - - b )(h - c )P97第五章课后练习答案:第9题| D一、选择题答案D 改为:30二、填空题第]题Y Mod 4二0 And Y Mod 100二0 Or Y Mod 400二0 第2题笫3题笫4题Private Sub Command l_Click()X=Val(Textl.Text)Select Case XCase Is>200. Isv-10()Print “xv 100 Or x>200"Case ls<=0Y=l()()-XCase Isv二100Y=100+XCase Is<=200Y=400End SelectText2.Text=yEnd Sub三、程序设计题(提示)1、判断条件:假设一个整数为xX Mod 3=0 Or x Mod 5=0 或x/3=x\3 Or x/5=x\52、选项按钮的知识点在P182,利用该控件的Wlue属性判断是否选中该项。

VisualBasic程序设计教程第三版课后习题答案之欧阳道创编

VisualBasic程序设计教程第三版课后习题答案之欧阳道创编

《VB程序设计》综合复习资料第一章 Visual Basic程序设计概述一、填空题1、VisualBasic是一种面向__________的可视化程序设计语言,采取了__________的编程机制。

2、在VB中工程文件的扩展名是____________,窗体文件的扩展名是____________,标准模块文件的扩展名是____________。

3、执行“工程”菜单下的__________命令,可选择并添加ActiveX控件。

4、Visual Basic 6.0用于开发__________环境下的应用程序。

二、选择题1、下面不是VB工作模式的是()A.设计模式B.运行模式C.汇编模式D.中断模式2、可视化编程的最大优点是()A.具有标准工具箱B.一个工程文件由若干个窗体文件组成C.不需要编写大量代码来描述图形对象D.所见即所得3、下列不能打开属性窗口的操作是()A.执行“视图”菜单中的“属性窗口”命令B.按F4键C.按Ctrl+TD.单击工具栏上的“属性窗口”按钮4、下列可以打开立即窗口的操作是()A.Ctrl+D B.Ctrl+E C.Ctrl+F D.Ctrl+G5、Visual Basic的编程机制是()A.可视化B.面向对象C.面向图形D.事件驱动三、简答题1、代码窗口主要包括哪几部分?2、在工程资源管理器窗口中,主要列出了哪三类文件?3、窗体布局窗口的主要用途是什么?4、VB的基本特点是什么?5、怎样理解可视化设计?6、怎要理解事件驱动编程?第二章简单的VB程序设计一、填空题1、设置是否可以用Tab键来选取命令按钮,应该用______________属性。

2、一个控件在窗体的位置由_______和________属性决定,其大小由__________和_________属性决定。

3、利用对象的属性setfocus可获得焦点,对于一个对象,只有其visible属性和____________属性为true,才能接受焦点。

VB程序设计教程(第3版)课后实验答案

VB程序设计教程(第3版)课后实验答案

'Caption = "窗体大小不变"
'Form1.Width = 260 * 16
' 260 是 Tongji-2.bmp 图的宽度,象素单位
'Form1.Height = 260 * 16 + 200 ' 260 是图的高度,象素单位,200 是窗体的标题栏高度
End Sub
A.5
Sub Command1_Click() Text1.FontName = "隶书" Text1.FontSize = 25
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根保通据护过生高管产中线工资敷艺料设高试技中卷术资配0料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高高与中中带资资负料料荷试试下卷卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并中3试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

vb程序设计教程课后答案与实验题答案-(第三版)资料

vb程序设计教程课后答案与实验题答案-(第三版)资料

答案习题一答案在教材上找。

习题二1.对象指现实世界中的实体。

每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。

类是对同一种对象的集合与抽象。

类包含所创建对象的属性数据,以及对这些数据进行操作的方法。

封装和隐藏是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。

VB工具箱中的可视图标是VB系统设计好的标准控件类。

通过将控件类实例化,得到真正的控件对象。

在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。

VB中常用的对象是控件。

此外,VB还提供了系统对象。

窗体是个特例,它既是类也是对象。

当向一个工程添加一个新窗体时,实质就由窗体类创建了一个窗体对象。

对象的三要素:属性、事件和方法。

属性:存放对象的数据(决定对象外观及功能)对象属性的设置方法:在设计阶段,利用属性窗口直接设置属性值;程序运行时,通过语句[对象名.]属性名=属性值。

若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。

事件:发生在对象上的事情。

同一事件,对不同的对象,会引发不同的反应。

事件过程:应用程序处理事件的步骤。

应用程序设计的主要工作就是为对象编写事件过程的代码。

方法:面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数。

方法是面向对象的,调用时一定要指明对象。

2.窗体和控件具有的基本属性“(1) Name属性:名称所创建的对象名称,在程序中引用。

(2) Caption属性:标题该属性决定了对象上显示的内容。

(3) Height、Width、Top和Left属性决定对象的大小和位置。

(4) Enabled 属性:对象是否允许操作(5) Visible 属性:对象是否可见(6) Font 属性组:文本的外观FontName字体、FontSize大小FontBold粗体、FontItalic斜体FontStrikethru 删除线FontUnderline 下划线(7) ForeColor属性:前景颜色(8) BackColor属性:背景颜色(9) MousePointer属性:鼠标指针类型, 设置值范围0~15,由系统指定。

(完整版)VB程序设计教程(第3版)课后实验完整答案

(完整版)VB程序设计教程(第3版)课后实验完整答案

A.1Private Sub Command1_Click()Label3 = Text1End SubA.2Private Sub Form_Load()Timer1.Interval = 0End SubPrivate Sub Command1_Click() '自动Timer1.Interval = 200End SubPrivate Sub Command2_Click() '手动Timer1.Interval = 0Call MyMoveEnd SubPrivate Sub Timer1_Timer()Call MyMoveEnd SubSub MyMove()Label1.Move Label1.Left - 50If Label1.Left < 0 Then Label1.Left = Form1.Width End SubA.3Private Sub Form_Click()Text1 = Val(Text1) + 1End SubPrivate Sub Form_Load()Text1 = 0End SubA.4Private Sub Form_Click()Caption = "单击窗体,改变图片"Picture = LoadPicture(App.Path + "\n_015.bmp")Print "欢迎使用VB"End SubPrivate Sub Form_DblClick()ClsCaption = "双击窗体,卸去图片"Picture = LoadPicture("") 'End SubPrivate Sub Form_Load()Caption = "装入窗体"Picture = LoadPicture(App.Path + "\n_016.bmp")Print "装入图"End SubPrivate Sub Form_Resize() ' 该事件的作用窗体始终与图一样大'Caption = "窗体大小不变"'Form1.Width = 260 * 16 ' 260 是Tongji-2.bmp 图的宽度,象素单位'Form1.Height = 260 * 16 + 200 ' 260 是图的高度,象素单位,200 是窗体的标题栏高度End SubA.5Sub Command1_Click()Text1.FontName = "隶书"Text1.FontSize = 25End SubSub Command2_Click()Text2.Text = Text1.SelTextText2.FontName = Text1.FontNameText2.FontSize = Text1.FontSizeEnd SubB.1Private Sub Command1_Click()Text2 = Format(5 / 9 * (Val(Text1) - 32), "0.00")End SubPrivate Sub Command2_Click()Text1 = Format(9 / 5 * Val(Text2) + 32, "0.00")End Sub或Private Sub Command1_Click()Dim f!, c! ' 声明两个变量f = Val(Text1)c = 5 / 9 * (f - 32)Text2 = Format(c, "0.00") ' 保留两位小数End SubPrivate Sub Command2_Click()Dim ff!, cc! ' 声明两个变量cc = Val(Text2)ff = 9 / 5 * cc + 32Text1 = Format(ff, "0.00") ' 保留两位小数End SubB.2Label2 = Format(Val(Text1) * Val(Text1) * 3.14, "0.00") End SubPrivate Sub Command2_Click()Label3 = Format(Val(Text1) * 3.14 * 2, "0.00")End SubPrivate Sub Text1_LostFocus()If Not IsNumeric(Text1.Text) ThenMsgBox "输入有非数字字符,请重新输入", , "警告"Text1.Text = ""Text1.SetFocusEnd IfEnd Sub或Private Sub Command1_Click()Label2 = Format(Val(Text1) * Val(Text1) * 3.14, "0.00") End SubPrivate Sub Command2_Click()Label3 = Format(Val(Text1) * 3.14 * 2, "0.00")End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenIf Not IsNumeric(Text1.Text) ThenText1.Text = ""End IfEnd IfEnd SubB.3Private Sub Command1_Click()n = Int(Log(2) / Log(1.008) + 1)Label1 = n & "年后人数超过26 亿"End SubB.4Private Sub Command1_Click()Dim x, dx, cdx = Text1.Textdx = UCase(x)cd = Len(x)Print "大写字母为:"; dxPrint "字符串长度为:"; cdEnd SubB.5Text1 = Int(Rnd * 900 + 100)End SubPrivate Sub Command2_Click()Dim x%, x1%, x2%, x3%x = Val(Text1)x1 = x Mod 10 ' 分离出的个位数x2 = (x Mod 100) \ 10 ' 分离出的十位数x3 = x \ 100 ' 分离出的百位数Label1 = x1 * 100 + x2 * 10 + x3End SubB.6Private Sub Form_Click()Label1 = Left(Text1, 11)Label2 = Mid(Text1, 12, 6)Label3 = Right(Text1, 5)End SubB.7Private Sub Command1_Click()PrintFor i = 1 To 5Print Tab(15 - i * 2); String(2 * i - 1, "★"); Spc(18 - 4 * (i - 1)); String(2 * i - 1, "★")Next iEnd SubPrivate Sub Command2_Click()ClsEnd Sub进一步要求:Private Sub Command1_Click()PrintFor i = 1 To 5Print Tab(15 - i * 2); String(2 * i - 1, "★"); String(10 - (2 * i - 1), "☆"); String(2 * i - 1, "★") Next iEnd SubPrivate Sub Command2_Click()ClsEnd SubB.8Private Sub Form_Click()x = Val(InputBox("输入一正实数", "计算", 0))pf = Format(x * x, "0.000")pfg = Format(Sqr(x), "0.000")lf = Format(x * x * x, "0.000")lfg = Format(x ^ (1 / 3), "0.000")Print "平方为:"; pf; Space(5); "平方根为:"; pfg; Space(5); "立方为:"; lf; Space(5); "立方根为:"; lfgEnd SubC.1Private Sub Form_Click()Dim x!, y!x = Val(InputBox("输入x 的值"))If x < 1000 Theny = xElseIf x < 2000 Theny = 0.9 * xElseIf x < 3000 Theny = 0.8 * xElsey = 0.7 * xEnd IfPrint yEnd SubC.2Private Sub Form_Click()Dim x!, y!x = Val(InputBox("输入上网时间"))If x < 10 Theny = 30ElseIf x < 50 Theny = 30 + 2.5 * (x - 10)Elsey = 30 + 2.5 * 40 + 2 * (x - 50)End IfIf y > 150 Theny = 150End IfPrint yEnd SubC.3Private Sub Command1_Click()Dim x!, y!, z!x = InputBox("input x")y = InputBox("input y")z = InputBox("input z")Print " x y z"Print " 排序前"; x; " "; y; " "; z Ifx < y Then t = x: x = y: y = tIf x < z Then t = x: x = z: z = tIf y < z Then t = y: y = z: z = tPrint " 排序后" & x & " " & y & " " & z End SubPrivate Sub Command2_Click()Dim x!, y!, z!x = InputBox("input x")y = InputBox("input y")z = InputBox("input z")Print " x y z"Print " 排序前"; x; " "; y; " "; z Ifx < y Then t = x: x = y: y = tIf y < z Thent = y: y = z: z = tIf x < y Thent = x: x = y: y = tEnd IfEnd IfPrint " 排序后" & x & " " & y & " " & z End SubC.4Dim a(3) As IntegerPrivate Sub Command1_Click()Picture1.ClsFor i = 0 To 2a(i) = Int(Rnd * 100 + 200)Picture1.Print a(i)Next iEnd SubPrivate Sub Command2_Click()Picture2.ClsDim z As IntegerFor i = 0 To 1If a(i) > a(i + 1) Thenz = a(i + 1)a(i + 1) = a(i)a(i) = zEnd IfNext iPicture2.Print a(0)Picture2.Print a(1)Picture2.Print a(2)End SubC.5Private Sub Text2_LostFocus()Dim m%, n%, y%m = Val(Text1)n = Val(Text2)If n Mod 2 <> 0 ThenMsgBox ("脚数必定为偶数")Text2 = ""Text2.SetFocusElsey = n / 2 - mIf y < 0 ThenMsgBox ("脚数必须≥2 倍的头数,请重新输入")Text2 = ""Text2.SetFocusElsex = n / 2 - mLabel2 = yLabel3 = m - yEnd IfEnd IfEnd SubC.6Private Sub Command1_Click()Dim a!, b!, c!, x1!, x2!, de!a = Text1b = Text2c = Text3de = b * b - 4 * a * ct = 2 * aIf de = 0 ThenText4 = Format(-b / t, "0.00")Text5 = Format(-b / t, "0.00")ElseIf de > 0 ThenText4 = Format((-b + Sqr(de)) / t, "0.00")Text5 = Format((-b - Sqr(de)) / t, "0.00")ElseText4 = Format(-b / t, "0.00") & "+" & Format(Sqr(Abs(de)) / t, "0.00") & "i" Text5 = Format(-b / t, "0.00") & "-" & Format(Sqr(Abs(de)) / t, "0.00") & "i" End IfEnd SubPrivate Sub Command2_Click()Text1 = ""Text2 = ""Text3 = ""Text4 = ""Text5 = ""End SubC.7Private Sub Text3_LostFocus()Select Case Trim(Text3)Case "+"Text4 = Val(Text1) + Val(Text2)Case "-"Text4 = Val(Text1) - Val(Text2)Case "*"Text4 = Val(Text1) * Val(Text2)Case "/"If Val(Text2) = 0 ThenMsgBox "分母为零,重新输入"Text2 = ""Text2.SetFocusElseText4 = Val(Text1) / Val(Text2)End IfEnd SelectEnd SubC.8Private Sub Text1_LostFocus()Select Case Trim(Text1)Case 1Text2 = "Monday"Case 2Text2 = "Tuesday"Case 3Text2 = "Wednesday"Case 4Text2 = "Thursday"Case 5Text2 = "Friday"Case 6Text2 = "Saturday"Case 7Text2 = "Sunday"Case Is > 7, Is < 1MsgBox "数字为1~7,重新输入"Text1 = ""Text1.SetFocusEnd SelectEnd Sub或者Private Sub Text1_LostFocus()If Text1 > 7 Or Text1 < 1 ThenMsgBox "数字为1~7,重新输入"Text1 = ""Text1.SetFocusElseText2 = Choose(Text1, "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")End IfEnd SubD.1Private Sub Form_Click()For i = 1 To 9Print Tab(10 - i); String(2 * i - 1, Trim(Str(i)))Next iEnd SubD.2Private Sub Form_Click()For i = 1 To 10 Step 1Print Tab(i); String((20 - 2 * i), Chr(64 + i))Next iEnd SubD.3Private Sub Command1_Click()Dim s!, t!, i&s = 1t = 1For i = 1 To 100000t = t + is = s + 1 / tIf 1 / t < 0.00001 Then Exit ForNext iPrint "For 结构"; s, i; "项"End SubD.4Private Sub Command1_Click()Dim n&, pi#, i&n = InputBox("输入n 值")pi = 2For i = 1 To npi = pi * (2 * i) / (2 * i - 1) * (2 * i) / (2 * i + 1) Next iPrint "当n=" & n & "时,pi="; piEnd SubD.5Private Sub Form_Click()Dim s!, t!, i!, a%, n%a = Int(Rnd * 9 + 1)n = Int(Rnd * 6 + 5)t = 0: s = 0Print "a="; a, "n="; nFor i = 1 To nt = t * 10 + as = s + tPrint t;Next iPrintPrint "s="; sEnd SubD.6Private Sub Command1_Click()Dim s As Integers = 0For i = 1 To 9For j = 0 To 9For k = 0 To 9s = i * 100 + j * 10 + kIf s = i ^ 3 + j ^ 3 + k ^ 3 ThenPrint sEnd IfNext kNext jNext iEnd SubPrivate Sub Command3_Click()formd6.Hidemain.ShowEnd SubD.7Private Sub Command1_Click()Dim a!, x0!, x1!a = 27x0 = 2i = 0Doi = i + 1x1 = 2 * x0 / 3 + a / (3 * x0 * x0)If Abs(x1 - x0) < 0.00001 Then Exit Dox0 = x1LoopPrint x1, iEnd SubD.8Private Sub Command1_Click()s = 0x0 = 0.01For i = 1 To 30s = s + x0x0 = x0 * 2Next iPrint sEnd SubD.9Private Sub Command4_Click()Picture1.ClsPicture1.Print "x 课安排在"; "y 课安排在"; "z 课安排在"Picture1.Print ""For z = 5 To 6For x = 1 To z - 2For Y = x + 1 To z - 1X1 = Choose(Weekday(x), "周一", "周二", "周三", "周四", "周五", "周六", "周日")Y1 = Choose(Weekday(Y), "周一", "周二", "周三", "周四", "周五", "周六", "周日") z1 = Choose(Weekday(z), "周一", "周二", "周三", "周四", "周五", "周六", "周日") Picture1.Print " "; X1; " "; Y1; " "; z1Next YNext xNext zEnd SubE.1Private Sub Form_Click()Dim a(1 To 10) As IntegerFor i = 1 To 10a(i) = Int(Rnd * 71 + 30)Print a(i); " ";Next iMax = a(1)Min = a(1)Avg = a(1)For i = 2 To 10If a(i) > Max Then Max = a(i)If a(i) < Min Then Min = a(i)Avg = Avg + a(i)Next iAvg = Avg / 10PrintPrint "Max="; Max; " Min="; Min; " Avg="; AvgEnd SubE.2Private Sub Form_Click()Dim aa = Array(56, 78, 98, 88, 76, 78)For i = 0 To 5Print String(a(i) \ 5, "◆"); a(i)PrintNext iEnd SubE.3Dim a%(19)Private Sub Command1_Click()Picture1.ClsFor i = 0 To 19a(i) = Int(Rnd * 101)Picture1.Print a(i); " ";If (i + 1) Mod 4 = 0 Then Picture1.PrintNext iEnd SubPrivate Sub Command2_Click()Picture2.ClsDim s(5 To 9)For i = 0 To 19k = a(i) \ 10Select Case kCase 0 To 5s(5) = s(5) + 1Case 9 To 10 '90~100 分的人数s(9) = s(9) + 1Case 6 To 8 ' 存放其他三个分数段的下标有规律,根据K 获得s(k) = s(k) + 1End SelectNext iFor i = 5 To 9If s(i) <> 0 Then Picture2.Print "s("; i; ")的人数有"; Format(s(i), "0"); "个" Next iEnd SubE.4Private Sub Command1_Click()Picture1.ClsDim d%(1 To 10)For i3 = 1 To 10Randomized(i3) = Int(Rnd * 91 + 10)Next i3For i = 1 To 10For j = 1 To 10 - iIf d(j) < d(j + 1) Thent = d(j): d(j) = d(j + 1): d(j + 1) = tEnd IfNext jNext iFor i = 1 To 10: Picture1.Print d(i);If i Mod 5 = 0 Then Picture1.PrintNext iEnd SubE.5Dim a%(3, 3), b%(3, 3)Private Sub Form_Load()For i = 0 To 3For j = 0 To 3a(i, j) = Int(Rnd * 36 + 35)b(i, j) = Int(Rnd * 41 + 100)Next jNext iEnd SubPrivate Sub Command1_Click()Picture1.ClsFor i = 0 To 3For j = 0 To iPicture1.Print a(i, j); " ";Next jPicture1.PrintNext iEnd SubPrivate Sub Command2_Click()Picture2.ClsFor i = 0 To 3For j = i To 3Picture2.Print Tab(j * 6); b(i, j);Next jPicture2.PrintNext iEnd SubPrivate Sub Command3_Click()Picture3.Clssa = 0For i = 0 To 3sa = sa + a(i, i)Next isb = 0For i = 0 To 3sb = sb + b(i, 3 - i)Next iPicture3.Print "A 数组主对角线元素和为:"; sa Picture3.Print "B 数组副对角线元素和为:"; sb End SubE.6Private Sub Form_Click()n = InputBox("输入n 值")ReDim a6%(n + 1, n + 1)a6(0, 0) = 1: a6(1, 1) = 1: a6(1, 0) = 1For i = 2 To n + 1For j = 2 To ia6(i, j) = a6(i - 1, j - 1) + a6(i - 1, j) Picture1.Print a6(i, j); "";Next jPicture1.PrintNextEnd SubE.7Private Sub Form_Load()List1.ClearList1.AddItem "大学计算机基础"List1.AddItem "C/C++程序设计"List1.AddItem "VB 程序设计"List1.AddItem "Web 程序设计"List1.AddItem "多媒体技术与应用"List1.AddItem "数据库技术与应用"List1.AddItem "网络技术与应用"List1.AddItem "硬件技术基础"List1.AddItem "软件技术技术基础"End SubPrivate Sub List1_Click()If List2.ListCount >= 5 ThenMsgBox ("超过5 门课程,不能再选")Exit SubElseList2.AddItem List1.TextList1.RemoveItem List1.ListIndexEnd IfEnd SubE.8Sub Combo1_KeyPress(KeyAscii As Integer) Select Case KeyAsciiCase 48 To 57, 13Case ElseKeyAscii = 0End SelectIf KeyAscii = 13 ThenCombo1.AddItem Combo1.TextCombo1.Text = ""End IfEnd SubPrivate Sub Command1_Click()Dim min%, max%min = Val(Combo1.List(0))max = Val(Combo1.List(0))imin = 0imax = 0For i = 1 To Combo1.ListCount - 1If Val(Combo1.List(i)) > max Thenimax = imax = Combo1.List(i)ElseIf Val(Combo1.List(i)) < min Thenimin = imin = Combo1.List(i)End IfNext it = Combo1.List(0)Combo1.List(0) = Combo1.List(imin)Combo1.List(imin) = tt = Combo1.List(Combo1.ListCount - 1)Combo1.List(Combo1.ListCount - 1) = Combo1.List(imax) Combo1.List(imax) = tEnd SubE.9Private Sub Form_Click()For i = 0 To Screen.FontCount - 1If Asc(Left(Screen.Fonts(i), 1)) < 0 ThenPicture1.Print Screen.Fonts(i)Picture2.FontName = Screen.Fonts(i)Picture2.Print "商丘师范学院"End IfNext iEnd SubE.10Private Type clerknumber As String * 3name As String * 5salary As IntegerEnd TypeDim a(0 To 4) As clerk, n%Private Sub Command1_Click()If n >= 5 ThenMsgBox ("输入人数超过数组声明的个数")ElseWith a(n).number = Text1.name = Text2.salary = Text3Picture1.Print a(n).number, a(n).name, a(n).salary PrintEnd Withn = n + 1Text1 = ""Text2 = ""Text3 = ""End IfEnd SubPrivate Sub Command2_Click()Dim t As clerk, i%, j%For i = 0 To n - 1For j = i To n - 1If a(i).salary < a(j + 1).salary Thent = a(i): a(i) = a(j + 1): a(j + 1) = tEnd IfNext jNext iPicture1.ClsPicture1.Print "工号姓名工资" For i = 0 To n - 1Picture1.Print a(i).number, a(i).name, a(i).salaryPrintNext iEnd SubF.1Private Sub Form_Click()Dim a(1 To 10), amin, i%For i = 1 To 10a(i) = -Int(Rnd * 101 + 300)Print a(i);Next iCall s(a(), amin)PrintPrint "min="; aminEnd SubSub s(b(), min)Dim i%min = b(LBound(b))For i = LBound(b) + 1 To UBound(b)If b(i) < min Then min = b(i)Next iEnd SubF.2Private Sub Command1_Click()Dim mm%, nn%mm = Val(Text1)nn = Val(Text2)Picture1.Print mm; Tab(6); nn; Tab(12); gcd(mm, nn) End SubFunction gcd%(ByVal m%, ByVal n%)If m < n Then t = m: m = n: n = tr = m Mod nDo While (r <> 0)m = n: n = r: r = m Mod nLoopgcd = nEnd FunctionF.3Dim x!Private Sub Command1_Click()Print "调用标准函数Sin 的结果"; Sin(x)End SubPrivate Sub Command2_Click()Print "调用自定义函数MySin 的结果"; MySin(x) End SubFunction MySin(x!) As DoubleDim i%, t!, s!t = xs = ti = 1Do While Abs(t) > 0.00001t = -1 * t * x * x / ((i + 1) * (i + 2))s = s + ti = i + 2LoopMySin = sEnd FunctionPrivate Sub Command3_Click()x = InputBox("输入要计算正弦函数的角度值x") x = x * 3.14 / 180End SubF.4Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 ThenIf Not IsNumeric(Text1) ThenMsgBox "输入非数字串,重新输入"Text1.Text = ""Text1.SetFocusElseIf IsH(Text1) ThenPicture1.Print Text1; " ★"ElsePicture1.Print Text1End IfText1 = ""End IfEnd IfEnd SubFunction IsH(ss As String) As BooleanDim i%, Ls%IsH = Truess = Trim(ss)Ls = Len(ss)For i = 1 To Ls \ 2If Mid(ss, i, 1) <> Mid(ss, Ls + 1 - i, 1) ThenIsH = FalseExit FunctionEnd IfNext iEnd FunctionF.5Function prime(ByVal m As Integer) As Booleanprime = TrueDim i%For i = 2 To m - 1If (m Mod i) = 0 Then prime = False: Exit Function '注意冒号和exit 的范围Next iEnd FunctionPrivate Sub Command1_Click()n = 0For i = 6 To 100 Step 2For j = 3 To i \ 2If prime(j) ThenIf prime(i - j) ThenList1.AddItem i & " =" & j & " +" & i - jn = n + 1End IfEnd IfNext jNext iPicture1.Print " 6 和100 之间共有"; n; "对素数和"End SubF.6Dim a%()Private Sub Form_Click()Print "1000 以内的完数为:"For i = 1 To 1000If IsWs(i) ThenPrint i; "=1";For j = 1 To UBound(a)Print "+"; a(j);Next jPrintEnd IfNext iEnd SubFunction IsWs(m) As BooleanDim s%s = 0For i = 1 To m \ 2If m Mod i = 0 ThenReDim Preserve a(j)a(j) = ij = j + 1s = s + iEnd IfNext iIf m = s Then IsWs = TrueEnd FunctionF.7Private Sub DeleStr(s1 As String, ByVal s2 As String)Dim i%ls2 = Len(s2)i = InStr(s1, s2)Do While i > 0s1 = Left(s1, i - 1) + Mid(s1, i + ls2) ' 在s1 中去除s2 子串i = InStr(s1, s2)LoopEnd SubPrivate Sub Command1_Click() ' 调用DeleStr 子过程Dim ss1 As Stringss1 = Text1Call DeleStr(ss1, Text2)Text3 = ss1End SubPrivate Sub Command2_Click()End SubF.8Private Sub Command1_Click()Dim maxw$maxlen Text1 & " ", maxwText2 = maxwEnd SubSub maxlen(s$, maxw$)Dimword$ maxw = ""Do While s <> ""i = InStr(s, " ")word = Left(s, i - 1)If Len(word) > Len(maxw) Then maxw = words = Mid(s, i + 1)LoopEnd SubG.1Private Sub Command1_Click()List1.ClearList1.AddItem Combo1If Option1 Then List1.AddItem "Pentium II"If Option2 Then List1.AddItem "Pentium I"If Option3 Then List1.AddItem "Celeron"List1.AddItem Text1If Check1 Then List1.AddItem "声卡"If Check2 Then List1.AddItem "Modem"If Check3 Then List1.AddItem "网络适配器"End SubPrivate Sub Text1_LostFocus()st = UCase(Trim(Text1))le = Len(st)If Not IsNumeric(Left(st, le - 2)) Or Right(st, 2) <> "MB" Then MsgBox "有不合法字符!"Text1 = ""Text1.SetFocusEnd IfEnd SubG.2Private Sub Check1_Click()Picture1.Font.Bold = Not Picture1.Font.BoldEnd SubPrivate Sub Check2_Click()Picture1.Font.Italic = Not Picture1.Font.BoldEnd SubPrivate Sub Command1_Click()Picture1.ClsIf Option1 ThenPicture1.Print Sin(Val(Text1))ElseIf Option2 ThenPicture1.Print Exp(Val(Text1))ElseIf Option3 ThenPicture1.Print Sqr(Val(Text1))End IfEnd SubPrivate Sub return_Click(Index As Integer)Form6.ShowUnload Form2End SubG.3Private Sub HScroll1_Change()Text1 = VScroll1.ValueText2 = HScroll1.ValueText3 = HScroll2.ValueText4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), "0.00") Text5 = Format(Val(Text4) + Val(Text1), "0.00")End SubPrivate Sub HScroll2_Change()Text1 = VScroll1.ValueText2 = HScroll1.ValueText3 = HScroll2.ValueText4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), "0.00") Text5 = Format(Val(Text4) + Val(Text1), "0.00")End SubPrivate Sub VScroll1_Change()Text1 = VScroll1.ValueText2 = HScroll1.ValueText3 = HScroll2.ValueText4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), "0.00") Text5 = Format(Val(Text4) + Val(Text1), "0.00")End SubG.4Dim t As SinglePrivate Sub Command1_Click()t = InputBox("输入倒计时分钟数")t = t * 60ProgressBar1.Min = 0ProgressBar1.Max = tProgressBar1.Value = tEnd SubPrivate Sub Command2_Click()Timer1.Interval = 1000ProgressBar1.Visible = TrueEnd SubPrivate Sub Timer1_Timer()Dim m%, s%t = t - 1ProgressBar1.Value = tm = t \ 60s = t Mod 60Label1 = m & "分" & s & "秒"If t = 0 ThenMsgBox " 时间到!"Timer1.Interval = 0ProgressBar1.Visible = FalseEnd IfEnd SubG.5Private Sub Command1_Click()CommonDialog1.ShowColorLabel1.ForeColor = CommonDialog1.ColorEnd SubPrivate Sub Command2_Click()CommonDialog1.ShowOpeni = Shell("C:\WINDOWS\NOTEPAD.exe " + CommonDialog1.FileName, vbNormalFocus) End SubG.6rivate Sub bold_Click()Text1.FontBold = Not Text1.FontBoldbold.Checked = Not bold.CheckedEnd SubPrivate Sub del_Click()Text1 = ""End SubPrivate Sub end_Click()EndEnd SubPrivate Sub font12_Click()Text1.FontSize = 12End SubPrivate Sub font16_Click()Text1.FontSize = 16End SubPrivate Sub Form_Load()bold.Checked = Falseitalic.Checked = FalseEnd SubPrivate Sub italic_Click()Text1.FontItalic = Not Text1.FontItalicitalic.Checked = Not italic.CheckedEnd SubPrivate Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu menu2End SubG.7Private Sub Command1_Click()CommonDialog1.ShowColorLabel1.ForeColor = CommonDialog1.ColorEnd SubPrivate Sub Command2_Click()CommonDialog1.ShowOpeni = Shell("C:\WINDOWS\NOTEPAD.exe " + CommonDialog1.FileName, vbNormalFocus) End SubPrivate Sub return_Click(Index As Integer)Form6.ShowUnload Form5End SubG.8G.9Private Sub 结束_Click()EndEnd SubPrivate Sub 删除最大值_Click()max = List1.List(0)For i = 1 To List1.ListCount - 1If max < List1.List(i) Then max = List1.List(i): j = i Next iList1.RemoveItem jEnd SubPrivate Sub 删除最小值_Click()min = List1.List(0)For i = 1 To List1.ListCount - 1If min > List1.List(i) Then min = List1.List(i): j = i Next iList1.RemoveItem jEnd SubPrivate Sub 随机产生_Click()RandomizeFor i = 0 To 9List1.List(i) = Int(Rnd * 30 + 70)Next iEnd SubPrivate Sub 添加数据_Click()List1.AddItem Int(Rnd * 30 + 70)End SubPrivate Sub 统计_Click()Dim max%, min%, ave!, m%, n%max = List1.List(0)min = List1.List(0)ave = List1.List(0)m = 0n = 0For i = 1 To List1.ListCount - 1If max < List1.List(i) Then max = List1.List(i): m = i If min > List1.List(i) Then min = List1.List(i): n = i ave = ave + List1.List(i)Next iForm2.Text1 = List1.List(n)Form2.Text2 = List1.List(m)Form2.Text3 = Format(ave / List1.ListCount, "0.00") Form2.ShowEnd SubG.10Private Sub experimentG2_Click()Form2.ShowEnd SubPrivate Sub experimentG3_Click()Form3.ShowEnd SubPrivate Sub experimentG4_Click()Form4.ShowEnd SubPrivate Sub experimentG5_Click()Form5.ShowEnd SubPrivate Sub font_12_Click()Text1.FontSize = 12End SubPrivate Sub font_16_Click()Text1.FontSize = 16End SubPrivate Sub rnd10_Click()RandomizeFor i = 0 To 9List1.List(i) = Int(Rnd * 30 + 70)Next iEnd SubPrivate Sub stat_Click()Dim max%, min%, ave!, m%, n%max = List1.List(0)min = List1.List(0)ave = List1.List(0)m = 0n = 0For i = 1 To List1.ListCount - 1If max < List1.List(i) Then max = List1.List(i): m = i If min > List1.List(i) Then min = List1.List(i): n = i ave = ave + List1.List(i)Next istat2.Text1 = List1.List(n)stat2.Text2 = List1.List(m)stat2.Text3 = Format(ave / List1.ListCount, "0.00")stat2.ShowEnd SubPrivate Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu caidan2, vbPopupMenuCenterAlignEnd SubPrivate Sub xie_Click()Text1.Font.Italic = Not Text1.Font.BoldEnd SubH.1Private Sub Command1_Click()Open "c:\score" For Output As #1Print #1, "051023", "王海涛", 66Print #1, "052498", "周文英", 88Print #1, "050992", "陈建东", 77Open "c:\score1" For Output As #2Write #2, "051023", "王海涛", 66Write #2, "052498", "周文英", 88Write #2, "050992", "陈建东", 77Closei1 = Shell("NOTEPAD.exe" + " c:\score", vbNormalNoFocus)i2 = Shell("NOTEPAD.exe" + " c:\score1", vbNormalNoFocus)End SubPrivate Sub Command2_Click()Dim no As String, name As String, s As IntegerOpen "c:\score" For Input As #1Do While Not EOF(1)Line Input #1, linedataList1.AddItem linedataLoopOpen "c:\score1" For Input As #2Do While Not EOF(2)Input #2, no, name, sList2.AddItem no & name & sLoopCloseEnd SubH.2Private Sub Command1_Click()Dim fib%(0 To 9), i%Open "c:\fb.dat" For Output As #1For i = 0 To 9If i = 0 Or i = 1 Thenfib(i) = iElsefib(i) = fib(i - 1) + fib(i - 2)End IfPrint #1, """Fib(" & i & ")""," & fib(i)Next iClose #1i = Shell("NOTEPAD.exe" + " c:\fb.dat", vbNormalNoFocus) End SubPrivate Sub Command2_Click()Dim st$, n%, sum%Open "c:\fb.dat" For Input As #1Do While Not EOF(1)Input #1, st, nsum = sum + nList1.AddItem st & "=" & nLoopClose #1List1.AddItem " 合计:" & sumList1.AddItem "平均:" & sum / 10End SubH.3H.4Private Type studtypeno As String * 4name As String * 6mark As SingleEnd TypeDim student As studtype, stud(1 To 5) As studtype, t As studtypePrivate Sub Command1_Click()Open "d:\score.dat" For Random As #1 Len = Len(student) With student.no = "0001".name = "星期一"。

VB教材课后习题参考答案

VB教材课后习题参考答案

二. 多项选择题三. 填空题1.事件驱动2.解释编译3.设计、运行和中断。

4.属性、事件和方法。

5.窗体单击(Form_Click)。

6.代码7. MyForm 。

习题2参考答案一.单选题二. 多项选择题三. 填空题1、⑴sin(50*3.14/180) ⑵(2+x*y)/(2-y^2)⑶a^2-(3*a*b/(3+a)) ⑷(x^3)^(1/8)+sqr(y^2+4*a^2/(x+y^3))2、int(rnd*(51)+50)3、⑴138 ⑵3 ⑶214 ⑷inchina ⑸70 (6)45⑺0习题3二.多项选择题三.填空题1. MultiLine,ScrollBars, 2 (或Vertical) 。

2. Label1.caption= "a*b=" 。

3. height 和 width 。

4. 2 。

5. Text1.SetFocus 。

6.编程技术,程序设计。

7.Change内容改变,将文本框内容显示在标签中。

GotFocus(获得焦点),选中文本框内容。

8.(1)Value ,(2) Value习题4参考答案三.填空题1、s = True And a >= 18 And a <= 20 And h > 165 Or s = False And a >= 16 And a <= 18 And h > 1602、600003、6,-2,24、Select Case xCase Is <= 0y = 4Case Is < 10y = 0Case Is < 15y = 1Case Is < 20y = 2Case Is <= 30y = 3Case Elsey = 4End Select5、(1)x>100 And x Mod 5=0 (2)0 (3)len(Text1.Text) (4)Text1.Text6 (1)D (2)A (3)B第5章习题5一.单选题1. A 2. C 3.⑴ C⑵ B 4. B 5. C 6. A7.D 8.D 9.A 10.C 11.A二.多项选择题1. ABCDE 2. BE 3. ABCDE三.分析程序1.⑴(4 ,13) ⑵(3,8) ⑶(3,27) ⑷(5,11) ⑸(3,10)2.12343. 64. 175. (1)len(s) (2)mid(s,k,1) (3)c & t (4)text2.text6. (1)0 (2)n+1 (3)2^n7.(1) mid(x,p+3) (2) 3 (3) p8. (1)Text1.Text (2)len(s)(3)x>="a" and x<="z" or x>="A" and x<="Z"(4) y & x9. (1)change (2)value习题6参考答案一.单项选择题1、D2、A3、C4、(1)B,(2)B5、C6、C7、A8、(1)C (2)B (3)A (4)B (5)D二.多项选择题1、CE2、DE3、ABC三.填空题1、数组D为 2 维数组,共有 16 个元素,第一维下标从 0 到 3 ,第二下标从 -1 到 2 。

VisualBasic程序设计教程第三版课后习题答案(可编辑)

VisualBasic程序设计教程第三版课后习题答案(可编辑)

《VB程序设计》综合复习资料第一章 Visual Basic程序设计概述一、填空题Visual Basic是一种面向__________的可视化程序设计语言,采取了__________的编程机制。

____________,窗体文件的扩展名是____________,标准模块文件的扩展名是____________。

VB工作模式是()A.模式B.运行模式C.汇编模式D.模式可视化编程的最大优点是()A.具有标准工具箱B.一个工程文件由若干个窗体文件组成C.不需要编写大量代码来描述图形对象D.所见即所得下列不能打开属性窗口的操作是A.执行视图菜单中的属性窗口命令B.按F4键C.按Ctrl+TD.单击工具栏上的属性窗口按钮下列可以打开立即窗口的操作是A.Ctrl+D B.Ctrl+E C.Ctrl+F D.Ctrl+G5、Visual Basic的编程机制是()A.可视化 B.面向对象 C.面向图形 D.事件驱动三、简答题1、代码窗口主要包括哪几部分?2、在工程资源管理器窗口中,主要列出了哪三类文件?3、窗体布局窗口的主要用途是什么?4、VB的基本特点是什么?怎样理解可视化设计?怎要理解事件驱动编程?填空题设置是否可以用Tab键来选取命令按钮,应该用______________属性_______和________属性决定,其大小由__________和_________属性决定。

3、利用对象的属性setfocus可获得焦点,对于一个对象只有其visible属性和____________属性为true,才能接受焦点。

设置控件背景颜色的属性名称是______________________。

所有控件都具有的共同属性是__________________属性。

一般情况下,控件有两个属性项的缺省值是相同的,这两个属性项是_______________。

VB中的每个对象(控件)都有一组特征,这组特征称为__________,我们通过修改它可以控制对象的外观和操作。

2014年4月份考试可视化程序设计(VB)第三次作业

2014年4月份考试可视化程序设计(VB)第三次作业

2014年4月份考试可视化程序设计(VB)第三次作业一、填空题(本大题共40分,共 10 小题,每小题 4 分)1. 若在标准模块中以关键字public定义子过程,则在 ______ 中都可以调用该过程。

2. 计时器每经过一个由Interval属性指定的时间间隔就会触发一次 ______ 事件。

3. VB中三种文件访问类型是 ______ 、 ______ 、 ______4. 不论任何控件,共同具有的是 ______ 属性。

5. 假定有一个通用对话框控件CommonDialogl,除了用CommonDialogl.Action=3显示颜色对话框之外,还可以用 ______ 方法显示。

6. 每一个过程都有一个使用范围,过程的使用范围称为 ______ 。

7. 按数据的组织方式不同,数据库可以分为3种类型,即 ______ 数据库、 ______ 数据库和 ______ 数据库。

8. 菜单在运行时的动态增减主要通过控件数组实现,首先将菜单项的 ______ 属性设为False,然后在程序中用 ______ 语句加载。

9. 随机文件以 ______ 为单位读写,二进制文件以 ______ 为单位读写。

10. 当单选按钮的Value属性为 ______ 时表示该单选按钮处于未选中状态。

二、程序阅读题(本大题共30分,共 5 小题,每小题 6 分)1. 下面程序的功能是什么?Private Sub Command1_Click()Dim a%, s%, n%a = Val(InputBox("Please input a number:"))Do While (a > 0)s = a Mod 10a = a / 10n = n + func(s)LoopPrint nEnd SubPrivate Function func(x%) As Integerfunc = x * xEnd Function2. 下面程序的功能是什么?Private Sub Command1_Click()Dim s%, n%Dim a As Stringn = 0a = InputBox("Please input a number:")If (func(Val(Mid(a, s, 1)))) Thenn = n + 1NextPrint nEnd SubPrivate Function func(x%) As BooleanIf (x Mod 2 = 0) Thenfunc = TrueElsefunc = FalseEnd IfEnd Function3. 写出下列事件过程的执行结果。

可视化程序设计(VB)第三次作业题及答案.doc

可视化程序设计(VB)第三次作业题及答案.doc

第3次作业一、单项选择题(本大题共76分,共19小题,每小题4分)1.以下关J" Visual Basic的参数传递的描述不正确的是______________________ 。

A.形式参数表和实际参数表屮对应的变最名必须相同B.形式参数表和实际参数表中对应的变量个数必须相同C.形式参数表和实际参数表中对应的变量类型必须相同D.形式参数表和实际参数表屮对应的书写顺序必须对应相同2.将数组看成一个整体作为过程的参数吋,是以方式实现参数传递的。

以下正确的描述是:在Visual Basic应用程序中_____________ 。

A.过程的定义不可以恢套,但过程的调用能恢套B.过程的定义可以恢套,但过程的调用不可以嵌套C.过程的定义和过程的调用均不可以嵌套D.过程的定义和过程的调用均可以嵌套3. ________________________ 在过程定义中用表示形参的传地址。

A.B.ByRefC.ByVaiD.ByValue4.在过程调用结束后还能保存过程屮局部变量的值,则使用________________ 关键字在过程中定义该局部变量。

A.DimB.PrivateC.PublicD.Static5.Sub过程与Function il程最根本的区别是。

Sub过程可以使川Call语句或直接使川过程名调川,而Function 程不可以B.Function过程可以有参数,Sub过程不可以C.两种过程参数的传递方式不同D.Sub过程的过程名不能返回值,而Function过程能通过过程名返回值6.要想在过程调用后返回两个结果,下面的过程定义语句屮合法的是__________ OA.Sub Proc(ByVal n,ByVal m)B.Sub Proc(n,ByVal m)C.Sub Proc(n,m)D.Sub Proc(ByVal n,m)7.以下叙述屮,不正确的是()。

A.过程11'的形式参数是局部变最。

VB 课后习题参考答案

VB 课后习题参考答案

第1章 习题参考答案一、思考题 略二、选择题1. C2. B第2章 习题参考答案一、判断题二、填空题1. 窗体font2. 不能在代码中设置 3. selstart 4. Locked5. TabIndex 、 0 6. vbModal 或 17. Activate 、 Deactivate 8.PictureBox 和 Frame -三、选择题第3章 习题参考答案一、思考题1、double2、 xyC@abc , 15eyd , Is , #END X8[P]3、变量有 (1) (4) (6) (8),常量有 (2)字符串型 (3)逻辑型 (5)字符串型 (7)字符串型 (9)日期型 (10)实型 4、 fe d cb a++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) z>x and z>y (2) abs(a)<=abs(b+2) or a > b+2(3) p mod q=0 (4) x<-5 or x>-2 and x<2 or x>5(5) x<z and y>z or x>z and y<z (6) a<b and a mod 2=08、写出下列函数的值:(1) -4 (2) 换行符(3) –3 (4) -1 (5) hello(6) ello (7) 16 (8) “-459.65” (9) 5二、填空题1.整型、长整型、双精度型、双精度型2.(X mod 10)*10+X\103.sin(1/4*3.14)+sqr(x+2*exp(y))/abs(x-y)4.(a+b)/(c*d-sqr(1-a^2))5.x mod 5=0 or x mod 9=06.False7.-3 、 2 、-2 、 28.CDEF9.x>0 and y>0 or x<0 and y<0 或x*y>010.s>=”A” and s<=”Z” or s>=”a” and s<=”z”三、选择题四、编程题1、Private Sub Form_Click()Dim x%, Ten%, hundred%x = Val(Text1.Text)Ten = (x \ 10) Mod 10hundred = x \ 100Print "百位数是: " & hundredPrint "十位数是: " & TenEnd Sub2Private Sub Form_Click()Dim char As String * 1Form1.CurrentX = Rnd * Form1.ScaleWidthForm1.CurrentY = Rnd * Form1.ScaleHeightchar = Chr(Int(Rnd * 16) + 65)Print charEnd Sub第4章习题参考答案一、判断题二、选择题三、程序阅读写出下列各段程序执行后的输出结果。

vb程序设计教程课后答案与实验题答案(第三版)

vb程序设计教程课后答案与实验题答案(第三版)

习题一答案在教材上找。

习题二1.对象指现实世界中的实体。

每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。

类是对同一种对象的集合与抽象。

类包含所创建对象的属性数据,以及对这些数据进行操作的方法。

封装和隐藏是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。

VB工具箱中的可视图标是VB系统设计好的标准控件类。

通过将控件类实例化,得到真正的控件对象。

在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。

VB中常用的对象是控件。

此外,VB还提供了系统对象。

窗体是个特例,它既是类也是对象。

当向一个工程添加一个新窗体时,实质就由窗体类创建了一个窗体对象。

对象的三要素:属性、事件和方法。

属性:存放对象的数据(决定对象外观及功能)对象属性的设置方法:在设计阶段,利用属性窗口直接设置属性值;程序运行时,通过语句[对象名.]属性名=属性值。

若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。

事件:发生在对象上的事情。

同一事件,对不同的对象,会引发不同的反应。

事件过程:应用程序处理事件的步骤。

应用程序设计的主要工作就是为对象编写事件过程的代码。

方法:面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数。

方法是面向对象的,调用时一定要指明对象。

2.窗体和控件具有的基本属性“(1) Name属性:名称所创建的对象名称,在程序中引用。

(2) Caption属性:标题该属性决定了对象上显示的内容。

(3) Height、Width、Top和Left属性决定对象的大小和位置。

(4) Enabled 属性:对象是否允许操作(5) Visible 属性:对象是否可见(6) Font 属性组:文本的外观FontName字体、FontSize大小FontBold粗体、FontItalic斜体FontStrikethru 删除线FontUnderline 下划线(7) ForeColor属性:前景颜色(8) BackColor属性:背景颜色(9) MousePointer属性:鼠标指针类型, 设置值范围0~15,由系统指定。

VB第三章课后习题答案

VB第三章课后习题答案

习题一、单项选择题1、设x=4,y=6,则以下不能在窗体上显示出“A=10”的语句就是( )A、PrintA=x+yB、Print"A=";x+yC、Print"A="+Str(x+y)D、Print"A="&x+y2、假定有如下的命令按钮(名称为Command1)事件过程:PrivateSubCommand1_Click()x=InputBox("输入:","输入整数")MsgBox"输入的数据就是:”,,”输入数据:"+xEndSub程序运行后,单击命令按钮,如果从键盘上输入整数10,则以下叙述中错误的就是( )A、x的值就是数值10B、输入对话框的标题就是“输入整数”C、信息框的标题就是“输入数据:10”D、信息框中显示的就是“输入的数据就是:”3、有如下程序a=3;b=4PRINT b<aEND运行后,输出的结果就是( )A、4>3B、-1C、0D、显示出错信息4、在窗体(名称为Form1)上画一个名称为Text1的文本框与一个名称为Command1的命令按钮,然后编写一个事件过程。

程序运行以后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“计算机等级考试”。

以下能实现上述操作的事件过程就是( )A、Private Sub Text1_Change()B、Private Sub Command1_Click()Command1、Caption=”计算机等级考试”Caption=”计算机等级考试”End Sub End SubC、Private Sub Form1_Click()D、Private Sub Command1_Click()Text1、Caption=”计算机等级考试”Text1、Text=”计算机等级考试”End Sub End Sub5、假定有如下的窗体事件过程:Private Sub Form_Click()a$ = "Microsoft Visual Basic"b$ = Right(a$, 5)c = Mid(a$, 1, 9)MsgBox a$, 34, b$, c$, 5End Sub程序运行后单击窗体,则在弹出的信息框中的标题栏中显示的信息就是( )A、Microsoft VisualB、MicrosoftC、BasicD、56、窗体上放置了三个文本框,若在Text1中输入456,在Text2中输入78,在程序中执行了语句Text3=Text1+Text2后,则在Text3中显示( )A、434B、45678C、溢出D、语法错误7、执行下面的程序,单击窗体,则在窗体上显示的就是( )。

夏-vb程序设计教程(第3版)课后实验答案

夏-vb程序设计教程(第3版)课后实验答案

Private Sub Command1_Click()Label3 = Text1End SubA.2Private Sub Form_Load()= 0End SubPrivate Sub Command1_Click() '自动= 200End SubPrivate Sub Command2_Click() '手动= 0Call MyMoveEnd SubPrivate Sub Timer1_Timer()Call MyMoveEnd SubSub MyMove()- 50If < 0 Then =End SubPrivate Sub Form_Click()Text1 = Val(Text1) + 1End SubPrivate Sub Form_Load()Text1 = 0End SubA.4Private Sub Form_Click()Caption = "单击窗体,改变图片"Picture = LoadPicture + "\")Print "欢迎利用VB"End SubPrivate Sub Form_DblClick()ClsCaption = "双击窗体,卸去图片"Picture = LoadPicture("") ' End SubPrivate Sub Form_Load()Caption = "装入窗体"Picture = LoadPicture + "\")Print "装入图"End SubPrivate Sub Form_Resize() ' 该事件的作用窗体始终与图一样大'Caption = "窗体大小不变"' = 260 * 16 ' 260是图的宽度,象素单位' = 260 * 16 + 200 ' 260是图的高度,象素单位,200是窗体的题目栏高度End SubA.5Sub Command1_Click()= "隶书"= 25End SubSub Command2_Click()===End SubB.1Private Sub Command1_Click()Text2 = Format(5 / 9 * (Val(Text1) - 32), "")End SubPrivate Sub Command2_Click()Text1 = Format(9 / 5 * Val(Text2) + 32, "") End Sub或Private Sub Command1_Click()Dim f!, c! ' 声明两个变量f = Val(Text1)c = 5 / 9 * (f - 32)Text2 = Format(c, "") ' 保留两位小数End SubPrivate Sub Command2_Click()Dim ff!, cc! ' 声明两个变量cc = Val(Text2)ff = 9 / 5 * cc + 32Text1 = Format(ff, "") ' 保留两位小数End SubB.2Private Sub Command1_Click()Label2 = Format(Val(Text1) * Val(Text1) * , "") End SubPrivate Sub Command2_Click()Label3 = Format(Val(Text1) * * 2, "")End SubPrivate Sub Text1_LostFocus()If Not IsNumeric ThenMsgBox "输入有非数字字符,请从头输入", , "警告"= ""End IfEnd Sub或Private Sub Command1_Click()Label2 = Format(Val(Text1) * Val(Text1) * , "")End SubPrivate Sub Command2_Click()Label3 = Format(Val(Text1) * * 2, "")End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenIf Not IsNumeric Then= ""End IfEnd IfEnd SubB.3Private Sub Command1_Click()n = Int(Log(2) / Log + 1)Label1 = n & "年后人数超过26亿"End SubB.4Private Sub Command1_Click()Dim x, dx, cdx =dx = UCase(x)cd = Len(x)Print "大写字母为:"; dxPrint "字符串长度为:"; cdEnd SubB.5Private Sub Command1_Click()Text1 = Int(Rnd * 900 + 100)End SubPrivate Sub Command2_Click()Dim x%, x1%, x2%, x3%x = Val(Text1)x1 = x Mod 10 ' 分离出的个位数x2 = (x Mod 100) \ 10 ' 分离出的十位数x3 = x \ 100 ' 分离出的百位数Label1 = x1 * 100 + x2 * 10 + x3End SubB.6Private Sub Form_Click()Label1 = Left(Text1, 11)Label2 = Mid(T ext1, 12, 6)Label3 = Right(Text1, 5)End SubB.7Private Sub Command1_Click()PrintFor i = 1 To 5Print Tab(15 - i * 2); String(2 * i - 1, "★"); Spc(18 - 4 * (i - 1)); String(2 * i - 1, "★")Next iEnd SubPrivate Sub Command2_Click()ClsEnd Sub进一步要求:Private Sub Command1_Click()PrintFor i = 1 To 5Print Tab(15 - i * 2); String(2 * i - 1, "★"); String(10 - (2 * i - 1), "☆"); String(2 * i - 1, "★")Next iEnd SubPrivate Sub Command2_Click()ClsEnd SubB.8Private Sub Form_Click()x = Val(InputBox("输入一正实数", "计算", 0))pf = Format(x * x, "")pfg = Format(Sqr(x), "")lf = Format(x * x * x, "")lfg = Format(x ^ (1 / 3), "")Print "平方为:"; pf; Space(5); "平方根为:"; pfg; Space(5); "立方为:"; lf; Space(5); "立方根为:"; lfgEnd SubC.1Private Sub Form_Click()Dim x!, y!x = Val(InputBox("输入x的值"))If x < 1000 Theny = xElseIf x < 2000 Theny = * xElseIf x < 3000 Theny = * xElsey = * xEnd IfPrint yEnd SubC.2Private Sub Form_Click()Dim x!, y!x = Val(InputBox("输入上网时间")) If x < 10 Theny = 30ElseIf x < 50 Theny = 30 + * (x - 10)Elsey = 30 + * 40 + 2 * (x - 50)End IfIf y > 150 Theny = 150End IfPrint yEnd SubC.3Private Sub Command1_Click()Dim x!, y!, z!x = InputBox ("input x")y = InputBox ("input y")z = InputBox ("input z")Print " x y z"Print " 排序前"; x; " "; y; " "; zIf x < y Then t = x: x = y: y = tIf x < z Then t = x: x = z: z = tIf y < z Then t = y: y = z: z = tPrint " 排序后" & x & " " & y & " " & z End SubPrivate Sub Command2_Click()Dim x!, y!, z!x = InputBox("input x")y = InputBox("input y")z = InputBox("input z")Print " x y z"Print " 排序前"; x; " "; y; " "; zIf x < y Then t = x: x = y: y = tIf y < z Thent = y: y = z: z = tIf x < y Thent = x: x = y: y = tEnd IfEnd IfPrint " 排序后" & x & " " & y & " " & z End SubC.4Dim a(3) As IntegerPrivate Sub Command1_Click()For i = 0 To 2a(i) = Int(Rnd * 100 + 200)a(i)Next iEnd SubPrivate Sub Command2_Click()Dim z As IntegerFor i = 0 To 1If a(i) > a(i + 1) Thenz = a(i + 1)a(i + 1) = a(i)a(i) = zEnd IfNext ia(0)a(1)a(2)End SubC.5Private Sub Text2_LostFocus() Dim m%, n%, y%m = Val(Text1)n = Val(Text2)If n Mod 2 <> 0 ThenMsgBox ("脚数一定为偶数")Text2 = ""Elsey = n / 2 - mIf y < 0 ThenMsgBox ("脚数必需≥2倍的头数,请从头输入")Text2 = ""Elsex = n / 2 - mLabel2 = yLabel3 = m - yEnd IfEnd IfEnd SubC.6Private Sub Command1_Click()Dim a!, b!, c!, x1!, x2!, de!a = Text1b = Text2c = Text3de = b * b - 4 * a * ct = 2 * aIf de = 0 ThenText4 = Format(-b / t, "")Text5 = Format(-b / t, "")Else If de > 0 ThenText4 = Format ((-b + Sqr(de)) / t, "")Text5 = Format ((-b - Sqr(de)) / t, "")ElseText4 = Format(-b / t, "") & "+" & Format(Sqr(Abs(de)) / t, "") & "i"Text5 = Format(-b / t, "") & "-" & Format(Sqr(Abs(de)) / t, "") & "i"End IfEnd SubPrivate Sub Command2_Click()Text1 = ""Text2 = ""Text3 = ""Text4 = ""Text5 = ""End SubC.7Private Sub Text3_LostFocus()Select Case Trim(Text3)Case "+"Text4 = Val(Text1) + Val(Text2)Case "-"Text4 = Val(Text1) - Val(Text2)Case "*"Text4 = Val(Text1) * Val(Text2)Case "/"If Val(Text2) = 0 ThenMsgBox "分母为零,从头输入"Text2 = ""ElseText4 = Val(Text1) / Val(Text2)End IfEnd SelectEnd SubC.8Private Sub Text1_LostFocus()Select Case Trim(Text1)Case 1Text2 = "Monday"Case 2Text2 = "Tuesday"Case 3Text2 = "Wednesday"Case 4Text2 = "Thursday"Case 5Text2 = "Friday"Case 6Text2 = "Saturday"Case 7Text2 = "Sunday"Case Is > 7, Is < 1MsgBox "数字为1~7,从头输入"Text1 = ""End SelectEnd Sub或Private Sub Text1_LostFocus()If Text1 > 7 Or Text1 < 1 ThenMsgBox "数字为1~7,从头输入"Text1 = ""ElseText2 = Choose(Text1, "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday") End IfEnd SubD.1Private Sub Form_Click()For i = 1 To 9Print T ab(10 - i); String(2 * i - 1, Trim(Str(i)))Next iEnd SubD.2Private Sub Form_Click()For i = 1 To 10 Step 1Print Tab(i); String((20 - 2 * i), Chr(64 + i))Next iEnd SubD.3Private Sub Command1_Click()Dim s!, t!, i&s = 1t = 1For i = 1 To 100000t = t + is = s + 1 / tIf 1 / t < Then Exit ForNext iPrint "For结构"; s, i; "项"End SubD.4Private Sub Command1_Click()Dim n&, pi#, i&n = InputBox("输入n值")pi = 2For i = 1 To npi = pi * (2 * i) / (2 * i - 1) * (2 * i) / (2 * i + 1) Next iPrint "当n=" & n & "时,pi="; piEnd SubD.5Private Sub Form_Click()Dim s!, t!, i!, a%, n%a = Int(Rnd * 9 + 1)n = Int(Rnd * 6 + 5)t = 0: s = 0Print "a="; a, "n="; nFor i = 1 To nt = t * 10 + as = s + tPrint t;Next iPrintPrint "s="; sEnd SubD.6Private Sub Command1_Click() Dim s As Integers = 0For i = 1 To 9For j = 0 To 9For k = 0 To 9s = i * 100 + j * 10 + kIf s = i ^ 3 + j ^ 3 + k ^ 3 ThenPrint sEnd IfNext kNext jNext iEnd SubPrivate Sub Command3_Click()main. ShowEnd SubD.7Private Sub Command1_Click() Dim a!, x0!, x1!a = 27x0 = 2i = 0Doi = i + 1x1 = 2 * x0 / 3 + a / (3 * x0 * x0)If Abs(x1 - x0) < Then Exit Dox0 = x1LoopPrint x1, iEnd SubD.8Private Sub Command1_Click()s = 0x0 =For i = 1 To 30s = s + x0x0 = x0 * 2Next iPrint sEnd SubD.9Private Sub Command4_Click()"x课安排在"; "y课安排在"; "z课安排在"""For z = 5 To 6For x = 1 To z - 2For Y = x + 1 To z - 1X1 = Choose(Weekday(x), "周一", "周二", "周三", "周四", "周五", "周六", "周日")Y1 = Choose(Weekday(Y), "周一", "周二", "周三", "周四", "周五", "周六", "周日")z1 = Choose(Weekday(z), "周一", "周二", "周三", "周四", "周五", "周六", "周日")" "; X1; " "; Y1; " "; z1Next YNext xNext zEnd SubE.1Private Sub Form_Click()Dim a(1 To 10) As IntegerFor i = 1 To 10a(i) = Int(Rnd * 71 + 30)Print a(i); " ";Next iMax = a(1)Min = a(1)Avg = a(1)For i = 2 To 10If a(i) > Max Then Max = a(i)If a(i) < Min Then Min = a(i)Avg = Avg + a(i)Next iAvg = Avg / 10PrintPrint "Max="; Max; " Min="; Min; " Avg="; Avg End SubE.2Private Sub Form_Click()Dim aa = Array(56, 78, 98, 88, 76, 78)For i = 0 To 5Print String(a(i) \ 5, "◆"); a(i)PrintNext iEnd SubE.3Dim a%(19)Private Sub Command1_Click()For i = 0 To 19a(i) = Int(Rnd * 101)a(i); " ";If (i + 1) Mod 4 = 0 ThenNext iEnd SubPrivate Sub Command2_Click()Dim s(5 To 9)For i = 0 To 19k = a(i) \ 10Select Case kCase 0 To 5s(5) = s(5) + 1Case 9 To 10 '90~100分的人数s(9) = s(9) + 1Case 6 To 8 ' 寄存其他三个分数段的下标有规律,按照K取得s(k) = s(k) + 1End SelectNext iFor i = 5 To 9If s(i) <> 0 Then "s("; i; ")的人数有"; Format(s(i), "0"); "个"Next iEnd SubE.4Private Sub Command1_Click()Dim d%(1 To 10)For i3 = 1 To 10Randomized(i3) = Int(Rnd * 91 + 10)Next i3For i = 1 To 10For j = 1 To 10 - iIf d(j) < d(j + 1) Thent = d(j): d(j) = d(j + 1): d(j + 1) = t End IfNext jNext iFor i = 1 To 10: d(i);If i Mod 5 = 0 ThenNext iEnd SubE.5Dim a%(3, 3), b%(3, 3)Private Sub Form_Load()For i = 0 To 3For j = 0 To 3a(i, j) = Int(Rnd * 36 + 35)b(i, j) = Int(Rnd * 41 + 100) Next jNext iEnd SubPrivate Sub Command1_Click()For i = 0 To 3For j = 0 To ia(i, j); " ";Next jNext iEnd SubPrivate Sub Command2_Click()For i = 0 To 3For j = i To 3Tab(j * 6); b(i, j);Next jNext iEnd SubPrivate Sub Command3_Click()sa = 0For i = 0 To 3sa = sa + a(i, i)Next isb = 0For i = 0 To 3sb = sb + b(i, 3 - i)Next i"A数组主对角线元素和为:"; sa"B数组副对角线元素和为:"; sb End SubE.6Private Sub Form_Click()n =ReDim a %( n + 1, n + 1)a(0, 0) = 1: a(1, 1) = 1: a(1, 0) = 1For i = 2 To n + 1For j = 2 To ia(i, j) = a(i - 1, j - 1) + a(i - 1, j) Tab((j - 1) * 5 - 2); a(i, j); ""; Next jNextEnd SubE.7Private Sub Form_Load()"大学计算机基础""C/C++程序设计""VB程序设计""Web程序设计""多媒体技术与应用""数据库技术与应用""网络技术与应用""硬件技术基础""软件技术技术基础"End SubPrivate Sub List1_Click()If >= 5 ThenMsgBox ("超过5门课程,不能再选")Exit SubElseEnd IfEnd SubE.8Sub Combo1_KeyPress(KeyAscii As Integer) Select Case KeyAsciiCase 48 To 57, 13Case ElseKeyAscii = 0End SelectIf KeyAscii = 13 Then= ""End IfEnd SubPrivate Sub Command1_Click()Dim min%, max%min = Val(0))max = Val(0))imin = 0imax = 0For i = 1 To - 1If Val(i)) > max Thenimax = imax = (i)ElseIf Val(i)) < min Thenimin = imin = (i)End IfNext it = (0)(0) = (imin)(imin) = tt = - 1)- 1) = (imax)(imax) = tEnd SubE.9Private Sub Form_Click()For i = 0 To - 1If Asc(Left(i), 1)) < 0 Then(i)= (i)"商丘师范学院"End IfNext iEnd SubE.10Private Type clerknumber As String * 3name As String * 5salary As IntegerEnd TypeDim a(0 To 4) As clerk, n%Private Sub Command1_Click()If n >= 5 ThenMsgBox ("输入人数超过数组声明的个数") ElseWith a(n).number = Text1.name = Text2.salary = Text3a(n).number, a(n).name, a(n).salary PrintEnd Withn = n + 1Text1 = ""Text2 = ""Text3 = ""End IfEnd SubPrivate Sub Command2_Click()Dim t As clerk, i%, j%For i = 0 To n - 1For j = i To n - 1If a(i).salary < a(j + 1).salary Thent = a(i): a(i) = a(j + 1): a(j + 1) = tEnd IfNext jNext i"工号姓名工资" For i = 0 To n - 1a(i).number, a(i).name, a(i).salaryPrintNext iEnd SubF.1Private Sub Form_Click()Dim a(1 To 10), amin, i%For i = 1 To 10a(i) = -Int(Rnd * 101 + 300)Print a(i);Next iCall s(a(), amin)PrintPrint "min="; aminEnd SubSub s(b(), min)Dim i%min = b(LBound(b))For i = LBound(b) + 1 To UBound(b)If b(i) < min Then min = b(i) Next iEnd SubF.2Private Sub Command1_Click()Dim mm%, nn%mm = Val(Text1)nn = Val(Text2)mm; Tab(6); nn; Tab(12); gcd(mm, nn) End SubFunction gcd%(ByVal m%, ByVal n%)If m < n Then t = m: m = n: n = tr = m Mod nDo While (r <> 0)m = n: n = r: r = m Mod nLoopgcd = nEnd FunctionF.3Dim x!Private Sub Command1_Click()Print "挪用标准函数Sin的结果"; Sin(x)End SubPrivate Sub Command2_Click()Print "挪用自概念函数MySin的结果"; MySin(x)End SubFunction MySin(x!) As DoubleDim i%, t!, s!t = xs = ti = 1Do While Abs(t) >t = -1 * t * x * x / ((i + 1) * (i + 2))s = s + ti = i + 2LoopMySin = sEnd FunctionPrivate Sub Command3_Click()x = InputBox("输入要计算正弦函数的角度值x")x = x * / 180End SubF.4Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 ThenIf Not IsNumeric(Text1) ThenMsgBox "输入非数字串,从头输入"= ""ElseIf IsH(Text1) ThenText1; " ★"ElseText1End IfText1 = ""End IfEnd IfEnd SubFunction IsH(ss As String) As BooleanDim i%, Ls%IsH = Truess = Trim(ss)Ls = Len(ss)For i = 1 To Ls \ 2If Mid(ss, i, 1) <> Mid(ss, Ls + 1 - i, 1) ThenIsH = FalseExit FunctionEnd IfNext iEnd FunctionF.5Function prime(ByVal m As Integer) As Booleanprime = TrueDim i%For i = 2 To m - 1If (m Mod i) = 0 Then prime = False: Exit Function '注意冒号和exit的范围Next iEnd FunctionPrivate Sub Command1_Click()n = 0For i = 6 To 100 Step 2For j = 3 To i \ 2If prime(j) ThenIf prime(i - j) Theni & " =" & j & " +" & i - jn = n + 1End IfEnd IfNext jNext i" 6和100之间共有"; n; "对素数和" End SubF.6Dim a%()Private Sub Form_Click()Print "1000之内的完数为:" For i = 1 To 1000If IsWs(i) ThenPrint i; "=1";For j = 1 To UBound(a)Print "+"; a(j);Next jPrintEnd IfNext iEnd SubFunction IsWs(m) As Boolean Dim s%s = 0For i = 1 To m \ 2If m Mod i = 0 ThenReDim Preserve a(j)a(j) = ij = j + 1s = s + iEnd IfNext iIf m = s Then IsWs = TrueEnd FunctionF.7Private Sub DeleStr(s1 As String, ByVal s2 As String)Dim i%ls2 = Len(s2)i = InStr(s1, s2)Do While i > 0s1 = Left(s1, i - 1) + Mid(s1, i + ls2) ' 在s1中去除s2子串i = InStr(s1, s2)LoopEnd SubPrivate Sub Command1_Click() ' 挪用DeleStr子进程Dim ss1 As Stringss1 = Text1Call DeleStr(ss1, Text2)Text3 = ss1End SubPrivate Sub Command2_Click()End SubF.8Private Sub Command1_Click()Dim maxw$maxlen Text1 & " ", maxwText2 = maxwEnd SubSub maxlen(s$, maxw$)Dim word$maxw = ""Do While s <> ""i = InStr(s, " ")word = Left(s, i - 1)If Len(word) > Len(maxw) Then maxw = word s = Mid(s, i + 1)LoopEnd SubPrivate Sub Command1_Click()Combo1If Option1 Then "Pentium II"If Option2 Then "Pentium I"If Option3 Then "Celeron"Text1If Check1 Then "声卡"If Check2 Then "Modem"If Check3 Then "网络适配器"End SubPrivate Sub Text1_LostFocus()st = UCase(Trim(T ext1))le = Len(st)If Not IsNumeric(Left(st, le - 2)) Or Right(st, 2) <> "MB" ThenMsgBox "有不合法字符!"Text1 = ""End IfEnd SubPrivate Sub Check1_Click()= Not SubPrivate Sub Check2_Click()= Not SubPrivate Sub Command1_Click()If Option1 ThenSin(Val(Text1))ElseIf Option2 ThenExp(Val(Text1))ElseIf Option3 ThenSqr(Val(Text1))End IfEnd SubPrivate Sub return_Click(Index As Integer)Unload Form2End SubG.3Private Sub HScroll1_Change()Text1 =Text2 =Text3 =Text4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), "") Text5 = Format(Val(Text4) + Val(Text1), "")End SubPrivate Sub HScroll2_Change()Text1 =Text2 =Text3 =Text4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), "") Text5 = Format(Val(Text4) + Val(Text1), "")End SubPrivate Sub VScroll1_Change()Text1 =Text2 =Text3 =Text4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), "") Text5 = Format(Val(Text4) + Val(Text1), "")End SubG.4Dim t As SinglePrivate Sub Command1_Click()t = InputBox("输入倒计时分钟数") t = t * 60= 0= t= tEnd SubPrivate Sub Command2_Click()= 1000= TrueEnd SubPrivate Sub Timer1_Timer()Dim m%, s%t = t - 1= tm = t \ 60s = t Mod 60Label1 = m & "分" & s & "秒"If t = 0 ThenMsgBox "时间到!"= 0= FalseEnd IfEnd SubG.5Private Sub Command1_Click()=End SubPrivate Sub Command2_Click()i = Shell("C:\WINDOWS\ " + , vbNormalFocus) End SubG.6rivate Sub bold_Click()= Not= NotEnd SubPrivate Sub del_Click()Text1 = ""End SubPrivate Sub end_Click()EndEnd SubPrivate Sub font12_Click()= 12End SubPrivate Sub font16_Click()= 16End SubPrivate Sub Form_Load()= False= FalseEnd SubPrivate Sub italic_Click()= Not= NotEnd SubPrivate Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then PopupMenu menu2End SubG.7Private Sub Command1_Click()=End SubPrivate Sub Command2_Click()i = Shell("C:\WINDOWS\ " + , vbNormalFocus)End SubPrivate Sub return_Click(Index As Integer)Unload Form5End SubG.8G.9Private Sub 结束_Click()EndEnd SubPrivate Sub 删除最大值_Click()max = (0)For i = 1 To - 1If max < (i) Then max = (i): j = iNext ijEnd SubPrivate Sub 删除最小值_Click()min = (0)For i = 1 To - 1If min > (i) Then min = (i): j = iNext ijEnd SubPrivate Sub 随机产生_Click()RandomizeFor i = 0 To 9(i) = Int(Rnd * 30 + 70)Next iEnd SubPrivate Sub 添加数据_Click()Int(Rnd * 30 + 70)End SubPrivate Sub 统计_Click()Dim max%, min%, ave!, m%, n%max = (0)min = (0)ave = (0)m = 0n = 0For i = 1 To - 1If max < (i) Then max = (i): m = iIf min > (i) Then min = (i): n = iave = ave + (i)Next i= (n)= (m)= Format(ave / , "")End SubG.10Private Sub experimentG2_Click()End SubPrivate Sub experimentG3_Click()End SubPrivate Sub experimentG4_Click()End SubPrivate Sub experimentG5_Click()End SubPrivate Sub font_12_Click()= 12End SubPrivate Sub font_16_Click()= 16End SubPrivate Sub rnd10_Click()RandomizeFor i = 0 To 9(i) = Int(Rnd * 30 + 70)Next iEnd SubPrivate Sub stat_Click()Dim max%, min%, ave!, m%, n%max = (0)min = (0)ave = (0)m = 0n = 0For i = 1 To - 1If max < (i) Then max = (i): m = iIf min > (i) Then min = (i): n = i。

大学VB过程第三次课后作业

大学VB过程第三次课后作业

1.有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁。

问第4个人的岁数,他说比第3个人大2岁。

问第3个人,他又说比第2个人大2岁。

问第2个人,他说比第1个人大2岁。

最后问第1个人,他说是10岁。

请问第5个人多少岁。

要求定义一求第n 个人年龄的递归函数过程,过程名为age ,形参为n.通过调用此过程完成功能。

2.定义一求n!的递归函数过程Fact ,通过调用它完成求1!+2!+3!+4!+5!。

3.M 函数定义如下:设计一个计算M (n )的过程 M(n),并计算M(30)、M(40)、M(50)、M(60)、M(70)、M(80)、M(90)、M(100)、M(110)、M(120)的函数值。

4.用户由文本框输入一串英文字符,统计其中各英文字母出现的次数。

对于读程序题目也要求上交,把代码输入到VB 中理解含义,保存上交。

5.此题目与6.2.3知识点的理解相关,请大家参见下面的例题: Form1界面设计如下图,从左向右对应Command1,Command2,Command3,Command4:Form2中定义的sub 子程序过程:Public Sub add(ByVal a%, ByVal b%) '此处若定义为private 不可以,私有不能被其他窗体调用Dim c%c = a + bForm1.Print cEnd SubForm1中Command1代码:Private Sub Command1_Click()Dim a%, b%a = InputBox("")b = InputBox("")Call Form2.add(a, b) 调用其他窗体模块中的过程,调用语句应加上窗体名End Sub标准模块Module1.bas 中的代码:Public Function ave (ByVal a%, ByVal b%) As Single '此处若定义为private 是否可以M (n )=⎩⎨⎧ M (M (n +11)) n ≤100n -10 n >100ave = (a + b) / 2End FunctionPublic Function add(ByVal a%, ByVal b%) '此处若定义为private是否可以add = a + bEnd Function标准模块Module2.bas中的代码:Public Function add(ByVal a%, ByVal b%) '此处若定义为private是否可以add = a + bEnd FunctionForm1中Command2代码:Private Sub Command2_Click()Dim a%, b%a = InputBox("")b = InputBox("")Print ave(a, b) 调用标准模块1中的ave过程,因在标准模块2中无同名过程,故不需要加模块名End SubForm1中Command3及Command4代码:Private Sub Command3_Click()Print Module1.add(4, 5) 因标准模块1与标准模块2中出现了同名过程add,故调用语句中应加上模块名。

第三次VB参考答案

第三次VB参考答案

一、填空题1、(提交作业,无参考答案)字符常量必须用________括起来。

解析:字符常量必须用双引号括起来,如"jxnanchang"。

2、日期型常量必须要用_______括起来。

解析:在程序中书写时要用两个“#”符号把表示日期和时间的值括起来。

格式:可以是mm/dd/yyyy或mm-dd-yyyy,也可以是yyyy/mm/dd或yyyy-mm-dd,如果日期是非法的或不存在的,系统将提示出错。

#09/02/99#、#January 4,2005#、#2005-5-1 14:30:00 PM#都是合法的日期型常量。

3、设变量a=10,b=20,c=30,d=40,则表达式d>c>b= a<>(b>d)的值是________。

解析:在求表达式d>c>b=a<>(b>d)的值时,由于表达式的运算优先顺序,所以先计算括号内的值。

根据b和d的值可知,括号内b>d的值是False(转换为数值型的值0),因此整个表达式可以简化为40>30>20=10<>0。

按照关系运算符的优选级是从左向右的顺序进行运算的。

先计算40>30的结果为True(转换为数值型的值为−1),整个表达式简化为−1>20=10<>0;计算−1>20的结果为False(转换为数值型的值0),整个表达式简化为0=10<>0;计算0=10的结果为False(转换为数值型的值0),整个表达式简化为0<>0,此表达式的计算结果为False。

因此答案是False(关系运算符的运算结果是布尔值True或False)。

注意:在将布尔值True参加数值运算时,True被转换为整数−1,而False被转换为整数0。

在将数值转换为布尔值时,只要是非0值就转换为True,0值转换为False。

4、单击窗体,并编写如下程序代码:Private Sub Form_click()Dim c As Booleanc = 5 - 8Print cEnd Sub运行后的输出结果是:_________。

VB作业第三章习题答案

VB作业第三章习题答案

00E+00” ) End Sub 答案:12.35 12.35 012.35 12.4 1235.00% $12.35 +12.35 12.35e+00 4. Pri va‎te Sub Comma‎nd1_C‎lick() Dim a%, b%, c%, s%, w%, t% a = -1: b = 3: c = 3 s = 0: w = 0: t = 0 If c > 0 Then s = a + b If a <= 0 Then If c <= 0 Then w = a - b End If Else If c > 0 Then w = a - b Else t = c End If c = a + b Print‎ a, b, c Print‎ s, w, t End Sub 答案: 5. -1 2 30 20 Priva‎te Sub Comma‎nd1_C‎lick() Dim x%, y% x = Input‎Box("请输入 x 的‎ 值:") Selec‎t Case x Case 1, 3, 5 y = x - 1 Case 6 To 10 y = x + 1 Case 2, 4 y = 2 * x Case Is > 10 y = x * x + 1 End Selec‎t Print‎ "x="; x, "y= "; y End Sub (x 的输入值为‎ 2.5、8、4 和 15) 答案: x=2 x=8 x=4 x=15 y=4 y=9 y=8 y=226 6.
a) 1 1 b) 1 2 c) 2 1 d) 2 2 3.3 阅读下列程‎序,写出执行结‎ 果 1. Priva‎te Sub Form_‎Click‎ Print‎ –2*3/2 , “Visua‎l ” & “BASI C‎”, Not 5>3, 0.75 Print‎ –2*3/2 ; “Visua‎l ” & “BASIC‎”; x=12.34 Print‎ “x=”; Print‎ x End Sub Not 5>3; 0.75 答案: -3 -3 x=12.34 Visua‎l BASIC‎ Visua‎l BASIC‎False‎ .75 False‎ .75 2. Priva‎te Sub Form_‎Click‎ Print‎ Tab(10); -100;Tab(20); 200;Tab(3 0); -300 Print‎ Spc(10); -100;Spc(10); 200;Spc(10); -300 End Sub 答案:-100 -100 3. x=12.35 200 200 -300 -300 Priva‎te Sub Form_‎Click‎ Print‎ Forma‎t ( x,”###.##” ) Print‎ For ma‎t ( x,”##.##” ) Print‎ Forma‎t ( x,”000.00” ) Print‎ Forma‎t ( x,”00.0”) Print‎ Forma‎t ( x,”0.00%” ) Print‎ Forma‎t ( x,” $##.##” ) Print‎ Forma‎t ( x,”+##.##” ) Print‎ Print‎ “x>y” If x Mod 3=2 Then ? x 7.给定程序段‎ Dim a As Integ‎er, b As Integ‎er, c As Integ‎er a=1:b=2:c=3 If a=c-b Then Print‎ "#####" Else Print‎ "*****" b) 有语法错 d) 输 出***** Then max=a Then max=b max=a Else max=b End If 以上程序( c ) 。 a) 没有输出 c) 输出##### a) b) If If a>b a>b 8.把 a, b 之中的最‎大值存放于‎ max,下面语句书‎写正确的是‎ ( d ) 。 Else End If c) If a>b max=a Else max=b d) If a>b Then Then max=a Else max=b End If 9. 下列 Cas‎ e 语句中正‎确的是( c ) 。 a) Selec‎t Case x Case 1 Or 3 Or 5 y=x*x-1 Case Is >10 y=x+1 E nd Selec‎t b) Selec‎t Case x Case 1, 3, 5 y=2*x-1 Case Is x <=1 Y=2*x+1 End Selec‎t c) Selec‎t Case x Case Is <=0 y=x-1 Case I s >0 y=Sqr(x)+1 End Selec‎t d) Selec‎t Case x Case x>=1 And x<= 5 y=x-1 Case Is >10 y=x*x+1 End Selec‎t10.执行下列程‎序段后屏 幕‎ 上( c)。 i% = 10 : Sum = 0 While‎ i > 1 Sum = Sum + i i = i - 1 Wend Pr int‎ Sum

vb程序设计教程课后答案与实验题答案-(第三版)

vb程序设计教程课后答案与实验题答案-(第三版)

答案习题一答案在教材上找。

习题二1.对象指现实世界中的实体。

每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。

类是对同一种对象的集合与抽象。

类包含所创建对象的属性数据,以及对这些数据进行操作的方法。

封装和隐藏是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。

VB工具箱中的可视图标是VB系统设计好的标准控件类。

通过将控件类实例化,得到真正的控件对象。

在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。

VB中常用的对象是控件。

此外,VB还提供了系统对象。

窗体是个特例,它既是类也是对象。

当向一个工程添加一个新窗体时,实质就由窗体类创建了一个窗体对象。

对象的三要素:属性、事件和方法。

属性:存放对象的数据(决定对象外观及功能)对象属性的设置方法:在设计阶段,利用属性窗口直接设置属性值;程序运行时,通过语句[对象名.]属性名=属性值。

若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。

事件:发生在对象上的事情。

同一事件,对不同的对象,会引发不同的反应。

事件过程:应用程序处理事件的步骤。

应用程序设计的主要工作就是为对象编写事件过程的代码。

方法:面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数。

方法是面向对象的,调用时一定要指明对象。

2.窗体和控件具有的基本属性“(1) Name属性:名称所创建的对象名称,在程序中引用。

(2) Caption属性:标题该属性决定了对象上显示的内容。

(3) Height、Width、Top和Left属性决定对象的大小和位置。

(4) Enabled 属性:对象是否允许操作(5) Visible 属性:对象是否可见(6) Font 属性组:文本的外观FontName字体、FontSize大小FontBold粗体、FontItalic斜体FontStrikethru 删除线FontUnderline 下划线(7) ForeColor属性:前景颜色(8) BackColor属性:背景颜色(9) MousePointer属性:鼠标指针类型, 设置值范围0~15,由系统指定。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁。

问第4个人的岁数,他说比第3个人大2岁。

问第3个人,他又说比第2个人大2岁。

问第2个人,他说比第1个人大2岁。

最后问第1个人,他说是10岁。

请问第5个人多少岁。

要求定义一求第n 个人年龄的递归函数过程,过程名为age ,形参为n.通过调用此过程完成功能。

2.定义一求n!的递归函数过程Fact ,通过调用它完成求1!+2!+3!+4!+5!。

3.M 函数定义如下:
设计一个计算M (n )的过程 M(n),并计算M(30)、M(40)、M(50)、M(60)、M(70)、M(80)、M(90)、M(100)、M(110)、M(120)的函数值。

4.
用户由文本框输入一串英文字符,统计其中各英文字母出现的次数。

对于读程序题目也要求上交,把代码输入到VB 中理解含义,保存上交。

5.此题目与
6.2.3知识点的理解相关,请大家参见下面的例题: Form1界面设计如下图,从左向右对应Command1,Command2,Command3,Command4:
Form2中定义的sub 子程序过程:
Public Sub add(ByVal a%, ByVal b%) '此处若定义为private 不可以,私有不能被其他窗体调用
Dim c%
c = a + b
Form1.Print c
End Sub
Form1中Command1代码:
Private Sub Command1_Click()
Dim a%, b%
a = InputBox("")
b = InputBox("")
Call Form2.add(a, b) 调用其他窗体模块中的过程,调用语句应加上窗体名
End Sub
标准模块Module1.bas 中的代码:
Public Function ave (ByVal a%, ByVal b%) As Single '此处若定义为private 是否可以
ave = (a + b) / 2
End Function
M (n )=⎩
⎨⎧ M (M (n +11)) n ≤100n -10 n >100
Public Function add(ByVal a%, ByVal b%) '此处若定义为private是否可以
add = a + b
End Function
标准模块Module2.bas中的代码:
Public Function add(ByVal a%, ByVal b%) '此处若定义为private是否可以
add = a + b
End Function
Form1中Command2代码:
Private Sub Command2_Click()
Dim a%, b%
a = InputBox("")
b = InputBox("")
Print ave(a, b) 调用标准模块1中的ave过程,因在标准模块2中无同名过程,故不需要加模块名End Sub
Form1中Command3及Command4代码:
Private Sub Command3_Click()
Print Module1.add(4, 5) 因标准模块1与标准模块2中出现了同名过程add,故调用语句中应加上模块名。

End Sub
Private Sub Command4_Click()
Print Module2.add(10, 20)
End Sub
6.窗体的通用声明处定义的模块级变量。

Option Base 1
Dim/Private a(4, 4) As Integer, i%, j%
7.读程序:P123 例题,Form1默认为启动窗体.读程序时从Form1的代码开始读.
理解全局(公有)变量的使用。

8.同名变量读程序写结果。

上机验证你的结果正确性。

程序一:
Public t as integer
Sub Form_Click()
Dim t%
t=10
Form1.t=20
Print Form1.t,t
End Sub
程序二:
Option Explicit
Public x As Integer, y As Integer, z As Integer
Private Sub Form_Activate()
conflict_x
Debug.Print "x,y和z是", x, y, z
End Sub
Private Sub Form_Load()
x = 10
y = 20
z = 35
End Sub
Private Sub conflict_x()
Dim x As Integer
x = 135
Debug.Print "x,y和z是", x, y, z
End Sub
9.静态变量读程序,并上机验证你得到结果的正确性:
Private Sub Command1_Click()
Dim k As Integer
k = 5
Call static_variable(k)
Print "第一次调用:k="; k
k = 5
Call static_variable(k)
Print "第二次调用:k="; k
End Sub
Private Sub static_variable(ByRef n As Integer)
Static sta As Integer
sta = n + sta
n = sta + n
End Sub
例6.18 编写程序,验证大于5的奇数可以表示成三个素数的和。

Option Base 1
Private Sub Command1_Click()
Dim n%, p%(), L%, i%, j%, k%, f As Boolean
n = Val(InputBox("请输入一个大于5的奇数n:")) ______________
L = UBound(p)
For i = 1 To L
For j = 1 To L
For k = 1 To L
If _____________________ Then
Print n; "="; p(i); "+"; p(j); "+"; p(k);
f = True
____________
End If
Next
If f = True Then Exit For
Next
If f = True Then Exit For
Next
End Sub
Public Sub Prime(a() As Integer, n As Integer)
Dim m%, i%, k%
For m = 2 To n
For i = 2 To Sqr(m)
If m Mod i = 0 Then
Exit For
End If
Next
If i > Sqr(m) Then
k = k + 1
________________
a(k) = ________
End If
Next
End Sub
例6.19 找出5000以内的亲密对数。

Private Sub Command1_Click()
Dim i%, sum1%, sum2%
For i = 1 To 5000
Call S_Factors(i, sum1)
Call S_Factors(sum1, sum2)
If ___________And i <> sum1 And i < sum1 Then
Text1 = Text1 & i & "," & sum1 & vbCrLf
End If
Next
End Sub
Public Sub S_Factors(ByVal n%, sum%)
Dim i%
sum = ______
For i = 1 To n - 1
If n Mod i = 0 Then
sum = _____________
End If
Next
End Sub
(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。

可复制、编制,期待你的好评与关注)。

相关文档
最新文档