电大Visual_Basic程序设计作业答案_第1页
电大Visual_Basic程序设计作业答案_第2页
电大Visual_Basic程序设计作业答案_第3页
电大Visual_Basic程序设计作业答案_第4页
电大Visual_Basic程序设计作业答案_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Visual Basic程序设计作业1一、选择题1. D 2. B 3. C 4. C 5. B 6. D 7. A 8 B 9. A 10. C 11. C 12. C 13 B14. D 15. A二、填空题1. 视图工具箱2. 对象事件3.vbp frm4. 窗体控件菜单5. 完成某种特泄的功能对象名.方法名Form 1.Show6 Multiline Tme7. 40008. AutoSize True9. 窗体布局窗口10 txtshow.text=HGOOD WORK!11. Click。、frml.show12单击 双击 装载 多响应某个事件后所执行的程序代玛cmdl Click

2、13.完成某种特定的功能14工具选项选项对象需方法名 自动语法检测Form 1. Show15. Timer Interval ms三、问答题1. 参考答案答:可视化编程是目前最直观的一种编程方法,人们一般用Visual -词表示它。之所以叫做“可视”, 是指你无需编程,仅通过直观的操作方式即可完成界面的设讣工作。因此,可视化语言是目前最好的 Windows应用程序开发工具。在这种语言中引入了控件的槪念,每个控件都有若干方法和事件,并通过一系列的属性来控制控件的 外观。利用这些控件,编程过程就如同画画,随意点几下鼠标,一个按钮就完成了,这些工作在使用传统 编程语言的情况下,需要编写大量复杂的程

3、序代码才能实现。可视化编程主要用到了事件驱动机制,其原理是:当应用程序运行后,程序处于等待状态,当某个事 件发生后,程序就去执行此事件的事件过程,当这个事件过程执行完后,应用程序又处于等待另一个事件 发生的状态。2. 参考答案答:对象是代码和数据的封装体,在VB中,“数据”表现为属性,“代码”则表现为事件和方法。建 立一个对象后,其操作通过与该对象的有关属性、事件和方法来描述。属性是一个对象的基本特性,每个对象都有它自己的属性。通过修改对象的属性,可以改变对象的外 观和功能。方法就是要对象执行的动作,一般可以将它理解为VB提供的一种特殊的过程和函数。其特殊性在于, 这些过程和函数是封装在对象内

4、部的,是在对象上实施的某种操作功能。事件就是在对象上所发生的事情。对象的事件是由VB预先设置好的、能被对象识别的动作。用户不 能建立新的事件,但可以根据需要对事件进行编程。从非严格意义上讲,可以将事件理解为一种特殊的方 法。3. 参考答案答:传统的而向过程的应用程序中,应用程序自身控制了执行哪一部分代码和按何种顺序执行代码, 程序从第一行代码开始执行并按应用程序中预立的路径执行,用户无法改变程序的执行流程。在事件驱动的应用程序中,程序的执行发生了根本的变化,代码不是按照预左的路径执行,而是在响 应不同的事件时执行不同的代码片段。每个对象都有一个相应的事件集,每个事件发生都要执行一段程序 代码。

5、事件可以由用户操作触发,也可以由操作系统或其它应用程序的消息触发,甚至可由应用程序本身 的消息触发。这些事件的顺序决左了代码执行的顺序,因此,应用程序每次运行所经过的代码路径是不确 泄的,它的执行流程由用户来决立。在程序设计时,不需要指出先执行哪部分代码,或按什么顺序执行代 码,只需编写针对某个事件的程序代码即可。4. 参考答案答:事件驱动是VB应用程序的基本机制,其基本过程是:(1) 启动应用程序,装载和显示窗体。(2) 窗体或窗体上的控件等待事件的发生。事件可由用户引发(例如键盘操作或鼠标点击)、可由系 统引发(例如左时器控件)、也可由代码间接引发(例如当代码装载其他窗体时产生的Load事

6、件)。(3) 当某个事件发生后,执行英对应的事件过程代码。<4)重复执行第2和第3步。直到遇到End语句或单击“结朿”按钮停止程序的运行。四、程序设计题1Private Sub Form_Load()TextI.Text = MVB 程序设计"Text 1.FontSize = 16End SubPrivate Sub Command l_CIick()Text 1. Visible = FalseEnd SubPrivate Sub Command2_Click()Text 1. Visible = TrueEnd Sub2Private Sub Command l_Clic

7、k()Textl.Text = NHText2. Text =(Text3.Text = ,tMEnd SubPrivate Sub Command2_Click()If Text 1 Text = N n Or Text2.Text = 1,0 Or Text3.Text = u M ThenMsgBox"成绩输入不全!"ElseText4.Text = (Val(Textl.Text) + Val(Text2.Text) + Val(Text3.Text) /3End IfSub EndPrivate Sub Command3_Click()Unload MeEnd S

8、ub3.Private Sub Command l_Click()IfTextl.Text = HM ThenMsgBox n至少要输出单价!”Textl.SetFocusExit SubEnd IfIfText2.Text = Then Text2.Text = 1IfText3.Text = ,H' Then Text3.Text = 1Text4.Text = Text 1.Text * Text2.Text * Text3.TextEnd Sub电大天堂【Visual Basic程序设计】作业210一、选择题1 B 2. C3. D 4. B 5. D 6. A 7. B 8.

9、 C 9. A10. D11. C12. B13. D 14. C 15. A16 B 17. C18. B 19. D 20. B二、填空题1. 下拉式菜单 弹出式菜单2. 打开另存为颜色字体打印3. 文本框列表框4 Option Base 15. Call语句6工程 工程属性 通用 Form 1.Show708. Sub过程的过程爼不能返回值,而Function 程能通过过程名返回值9. 窗体模块标准模块类模块10. 移出内存无效状态11 (1) 2*Cosa*Sina/(2*a)(2) Sqr(s*(s-a)*(s-b)*(s-c)(3) Sin(45*3.14/180)12. (1)

10、x>=l And x<12(2) A+B>=C Or a-c<=c(3) a>0 And b>0 Or(a<0 And b<0)13 False14. For While Do15. 3阅读下列程序,给出程序运行结果。1. 程序运行后,单击窗体,输岀结果为:5050。2.3.4.3.435.*四、程序设计题1.Private Sub Commandl_Click() Dim x As Single, y As Single x = Val(Textl.Text)Ifx< 100 Theny = xElseIf x < 200 Then

11、y = 9.5 xElseIfx< 300 Theny = 0.9 * xElseIf x < 500 Tlieny = 0.8*xElsey = 0.7 * xEnd IfEnd IfEnd IfEnd IfText2.Text = yEnd Sub2.Private Sub Forni_Load()Dim x As Integerx= 100Do Until x > 200If x Mod 3 <> 0 ThenText 1 .Text = Text 1 .Text & Str(x) & Chr(13) & Chr(lO)End Ifx

12、 = x + 1LoopEnd SubPrivate Sub Form_CIick()Print 计:Tab(9);3,Tab(18);6;Tab(27);9;Tab(36);12PrintFor 1=15 to 18Print I;Forj=3 to 12 Step 3Print Tab(3*j);j*I;Next jPrintNext IEnd subPrivate Sub Command l_Click() Unload MeEnd SubPrivate Sub Option l_Click() Text 1.Text = 10*2End SubPrivate Sub Option2_C

13、lick()Text 1.Text =10/2End SubPrivate Sub Option3_Click()Text 1.Text =10 + 2End SubPrivate Sub Option4_Click()Text 1.Text =10-2End Sub5.Private Function Day(n As Integer)Select Case nCaseODay i星期日”& Chr(13) & “(Sunday)”Case 1Day '星期一”& Chr(13) & Monday)11Case 2Day i星期二”& Chr(

14、13) & ”(Tuesday广Case 3Day = u星期三”& Chr(13) & “(Wednesday)”Case 4Day i星期四”& Chr(13) & “(Thursday)”Case 5Day '星期五”& Chr(13) & “(Friday)”Case 6Day i星期六”& Chr(13) & "(Saturday)"End SelectEnd FunctionPrivate Sub Text l_KeyPress(KeyAscii As Integer)Dim n A

15、s Integern = Val(Textl.Text)If KeyAscii = 13 ThenIf n >= 0 And n < 7 ThenLabel 1.Caption = Day(n)ElseMsgBox"请输入06之间的整数!”End IfEnd IfTextl.SelStart = 0Textl.SelLength = Len(Textl.Text)End Sub6.新建一个工程,在默认的窗体Forml上放置一个Picture控件,然后编写如下代码。Private Sub Picture 1 _MouseDown(Button As Integer, Shi

16、ft As Integer, X As Single, Y As Single)If Button = 2 ThenMsgBox nYou pressed right Button1*Picture 1 .MousePointer = vbArrowEnd IfEnd SubPrivate Sub Picture 1 _MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Picture 1 .MousePointer = vbUpArrowEnd Sub7.Private Sub Form_Load()

17、List 1.Additem ”李敏List 1.Additem ”张华Listl.Addltcm '吕晓炸”List 1.Additem “赵姒'List 1.Additem “袁莉"List 1.Additem '王津"Listl.Addltcm ”何小渴”Listl.Addltcm '崔宁“Listl.Addltcm '陈R歉Listl.Addltcm ”刘伟楠”End SubPrivate Sub Command l_Click()If Text 1.Text <> ,H, ThenList 1. Additem

18、Text 1 .TextTextl.Text = NHElseMsgBox"请在文本框中输入信息!”End IfEnd SubPrivate Sub Command2_Click()List 1.Removeitem List 1 .ListindexEnd SubPrivate Sub Command3_CIick()If Command3.Caption ="修改” ThenText 1 .Text = List 1.TextTextl.SetFocusCommand 1 .Enabled = FalseCommand2.Enabled = FalseCommand3.

19、Caption = ”修改确认,ElseList 1 .List(List 1 .Listindex) = Text 1.TextCommand 1 .Enabled = TmeCommand2.Enabled = TrueTextl.Text = ,H,Command3.Caption = ”修改”End IfEnd SubPrivate Sub Listl_Click()If List 1.Listindex o -1 ThenCommand2.Enabled = TrueCommand3.Enabled = TrueEnd IfEnd Sub电大天堂【Visual Basic程序设计】作

20、业3一、选择题1.B 2. B 3B 4A 5.C6. C 7. D 8. C 9. C 10. C II. B 12. B 13. A14. B 15. C 16. C 17. B 18. A 19. C 20. B 21. A二、填空题I. Output2 FileCopy 'cAconiiiiand.coni ”dcomniaiid.conf3 Kill"&tem.tmp"4. OpenSEQNEW.DAT Tor Output As # 15 Open SEQOLD.DATTor Input As #26右上7. False8. Picture 1

21、.Line(5OO.5OO)-(l000.1000).RGB(255.00),BF9. 52010. ActiveConnectionII. 外部数据库、远程数据库12. ADOrs(”学号”)13. 增加、删除、修改(或者 Select. DeleteUpdate)14. Select * from Table 1 Where 学号=>00r15. 本地数据库、远程数据库三、程序设计题1.Private Sub Form_Load()Drivel. Drive = uc:uFile 1.Pattern = ,*.bmp;*.gif;*.jpg,'End SubPrivate S

22、ub Drive l_change()Dirl .Path = Drivel. DriveEnd SubPrivate Sub Dirl_Change()File 1.Path = Dirl.PathEnd SubPrivate Sub Filcl_click()If Right(Filel.Path. 1) = HH Thenf$ = For ml.Fi lei. Path + Form 1 .File 1 .FileNamcElsef$ = Form 1 .File l.Path + MV' + Form l.File 1 .FileNameEnd IfPicture 1.Pict

23、ure = LoadPicture(f$)Picture 1 .AutoSize = TrueEnd SubPrivate Sub Form_Click()Dim i As Single, twopie As Single twopie = 8 * Atn( 1)DrawWidth = 2Scale (-twopie, 1 Htwopie, -1)For i = -twopie To twopie Step twopie / 360PSet (i, 0)Next iCurrentY = 0CurrentX = -twopiePrint H-2piH;CurrentX = twopie / 2P

24、rintCurrentX = twopie / 2Print ”p;CurrentX = twopie - 0.6Print ”2pi”;Print MpMFor i = -1 To 1 Step 0.01PSet (0, i)Next iCurrentX = 0For i = -1 To 1 Step 0.5CurrentY = iPrint iNext iFor i = -twopie To twopie Step 0.1PSet (i, Cos(i)Next iEnd Sub'求pi'设置点的大小'设宜坐标系画X轴标X轴画y轴标y轴刻度画余弦曲线Private S

25、ub Checkl_Click()If Check 1. Value = 1 ThenLine 1. BorderWidth = 4ElseLine 1. BorderWidth = 1End IfEnd SubPrivate Sub Option l_Click(Index As Integer)Line I. BorderWidth = 1Check 1. Value = 0Select Case IndexCase 1Line 1.BordcrStyle = 1Case 2Linel.BorderStyle = 2Case 3Line 1.BordcrStyle = 3End Selec

26、tEnd SubPrivate Sub Optionl_Click(Index As Integer)Select Case IndexCaseOShape I.Shape = 0Case 1Shape 1.Shape = 1Case 2Shape I.Shape = 3Case 3Shape 1.Shape = 4End SelectEnd SubPrivate Sub Option2_Click(Index As Integer)Select Case IndexCaseOShapel.FillStyle = 1Case 1Shapel.FillStyle = 3Case 2Shapel.

27、FillStyle = 2Case 3Shapel.FillStyle = 6End SelectEnd SubPrivate Sub Option3_Click(Index As Integer)Shape 1 .BorderWidth = 1Select Case IndexCaseOShape 1. BordcrStyle = 0Case 1Shape 1. BordcrStyle = 1Case 2Shape I. BordcrStyle = 4Case 3Shape 1. BorderStyle = 2Case 4Shape 1. BorderStyle = 3End SelectE

28、nd Sub5.(以SQLServer数据库为例)'声明对象变M ADOcn,用于创建与数据库的连接Private ADOcn As ConnectionPrivate Sub ReadFromTableODim strtmp As StringDim ADOrs As New RecordsetADOrs.ActiveConnection = ADOcnADOrs.Opcn "select * from students order by 学号,MSFIexGrid 1 .ClearMSFIexGrid l.Rows = 0MSFIexGrid 1 .Cols = 3str

29、tmp 学号” + vbTab + “姓名” + vbTab + ”专业”MSFIexGrid 1.Addltem strtmpDo While Not ADOrs.EOFstrtmp = ADOrs(”学号”)+ vbTab + ADOrs(”姓名”)+ vbTab + AD0rs专业。MSFIexGrid 1 .Addltem strtmpADOrs.MoveNextLoopMSFIexGrid 1 .FixedCols = 0MSFIexGrid 1 .FixcdRows = 1End SubPrivate Sub Command l_Click()Unload MeEnd SubPri

30、vate Sub Form_Load()'左义数据库连接字符串Dim strDB As String'用于连接SQL Sener数据库,英中:'Server为服务器名称'User ID为登录账号Password为登录口令Database为具体的数据库名strDB = HProvider=SQLOLEDB;LSF;User ID=sa:Password=;Database =学生”如果还没有建立与数据库的连接,则用以下代码创建。If ADOcn Is Nothing ThenSet ADOcn = New ConnectionADOcn.Open strDB 旌接

31、 SQL Server 数据库End IfReadFromTable,调用过程显示students表中的记录End Sub行结果及代码请参考主教材和实验教材相关内容。19电大天堂【Visual Basic程序设计】作业4一、选择题1. A 2B 3A 4D 5B 6C 7A 8B二、填空题1. A. DataArrival 事件、SendData 方法2. TCP/IP (或者回答TCP协议)3. EXE4. 用户自左义接口、标准接口5. Locallp 方法6. GetData 方法7. 使用服务程序处于侦听状态;& Winsock9. 实时错误、逻辑错误10. On Error G

32、oto 0三、问答题1. 参考答案答:Socket是TCP/IP网络中最为通用的API (应用程序接口),也是在Internet ±进行应用程序开发最 为通用的API。它为网络中的每台计算机中提供了一个通信端口,通过这个端口,任何两台具有Socket接 口应用程序就可进行信息收发通信了。程序员只需要对Socket接口进行数据的读写操作,根本不必关心两 台汁算机间的通信细节就能够完成数据的发送和接收工作。基于Socket的通信过程如图1所示。图12. 参考答案答:VB中一般可按下列步骤设计错误处理程序:第1步:捕获错谋,并强制程序跳转即在错误发生时,捕获并告知应用转向哪段代码进行错误处

33、理。VB中通常可采用On Error GoTo语句 启用错误捕获机制。第2步:编写错误处理程序,对所有可预见的错误做出反应编写错误处理程序的第一步是添加一个行标识符,比如“ChcckError:”,以标志错误处理程序的开始。 行标识符的名称最好具有良好的可读性,并且后而必须跟一个冒号。常规错误处理程序通常放在过程的结 朿处,紧跟Exit Sub或Exit Function的行标识符之后。这样在没有错误发生时,过程就不会执行错误处理 程序了。第3步:退出错误处理程序通常情况下,只有当错误处理程序位于过程中间位置时,才需要用到专门的错误处理程序退出语句。一般可使用Resume或Resume Nex

34、t语句退出错误处理程序oResume语句会继续执行引发错误的那句代码, 而Resume Next语句则会跳过该语句,执行引发错误代码的下一句代码。如果通过错误处理程序能够修正 错误,则可以使用Resume语句,否则就使用Resume Next语句,或者直接使用Exit Sub或Exit Function 语句直接退出过程。3. 参考答案答:调试程序是一件复杂的工程,不但要求程序员对系统设计结果非常熟悉,思路淸晰,更需要不断 地在实践中积累经验。以下技巧可供参考:首先,应事先做好备份:尽管VB提供了众多的调试工具,但要利用这些工具查找、定位程序中的错 误并非易事,对于一些规模较大的程序,即使是有经验的程序员也常常要损失好几小时甚至几天的时间来 查找错误。在调试过程中,很容易意外地修改、覆盖或删除掉必要的代码部分。因此事先做好备份非常重 要。其次,尽可能地分离受怀疑的程序:对于那些代码规模较大,窗口众多的程序而言,如果能将错误的 范用左位于某个窗体或某段代码,则可以使用分禽程序的调试方法。基本思路是:试着找到出错的代码行 (块)或窗体,选择并复制这些代码到一个新的工程中,然后运行新工程,看一看是否还会出现同样的错 误。这样就可以尽可能地排除程序其他部分的干扰,提奇调试的效率。第三,缩小搜索范围:如果有可能的话,可删除工程中任何第三方控件和自定义控件,或者任何

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论