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

下载本文档

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

文档简介

VisualBasic程序设计作业1

一、选择题

1.D2.B3.C4.C5.B6.D7.A8.B9.A10.C11.C12.C13.B14.

D15.A

二、填空题

1.视图工具箱

2.对象事件

3..vbp.fnn

4.窗体控件菜单

5.完成某种特定的功能对象名.方法名Form1.Show

6.MultilineTrue

7.4000

8.AutoSizeTrue

9.窗体布局窗口

10.txtshow.text="GOODWORK!”

11.Click。、frm1.show

12.单击双击装载多响应某个事件后所执行的程序代理cmdlClick

13.完成某种特定的功能对象名.方法名Form1.Show

14.工具选项选项自动语法检测

15.TimerIntervalms

三、问答题

1.参考答案

答:可视化编程是目前最直观的一种编程方法,人们一般用Visual一词表示它。之所以叫做“可视”,是

指你无需编程,仅通过直观的操作方式即可完成界面的设计工作。因此,可视化语言是目前最好的

Windows应用程序开发工具。

在这种语言中引入了控件的概念,每个控件都有若干方法和事件,并通过一系列的属性来控制控件的

外观。利用这些控件,编程过程就如同画画,随意点几下鼠标,一个按钮就完成了,这些工作在使用传统编

程语言的情况下,需要编写大量复杂的程序代码才能实现。

可视化编程主要用到了事件驱动机制,其原理是:当应用程序运行后,程序处于等待状态,当某个事件

发生后,程序就去执行此事件的事件过程,当这个事件过程执行完后,应用程序又处于等待另一个事件发

生的状态。

2.参考答案

答:对象是代码和数据的封装体,在VB中,“数据”表现为属性,“代码”则表现为事件和方法。建

立一个对象后,其操作通过与该对象的有关属性、事件和方法来描述。

属性是一个对象的基本特性,每个对象都有它自己的属性。通过修改对象的属性,可以改变对象的外

观和功能。

方法就是要对象执行的动作,一般可以将它理解为VB提供的一种特殊的过程和函数。其特殊性在于,

这些过程和函数是封装在对象内部的,是在对象上实施的某种操作功能。

事件就是在对象上所发生的事情。对象的事件是由VB预先设置好的、能被对象识别的动作。用户不

能建立新的事件,但可以根据需要对事件进行编程。从非严格意义上讲,可以将事件理解为一种特殊的方

法,

3.参考答案

答:传统的面向过程的应用程序中,应用程序自身控制了执行哪一部分代码和按何种顺序执行代码,

程序从第一行代码开始执行并按应用程序中预定的路径执行,用户无法改变程序的执行流程。

在事件驱动的应用程序中,程序的执行发生了根本的变化,代码不是按照预定的路径执行,而是在

响应不同的事件时执行不同的代玛片段。每个对象都有一个相应的事件集,每个事件发生都要执行一段程

序代码。事件可以由用户操作触发,也可以由操作系统或其它应用程序的消息触发,甚至可由应用程序本

身的消息触发。这些事件的顺序决定了代码执行的顺序,因此,应用程序每次运行所经过的代码路径是不

确定的,它的执行流程由用户来决定。在程序设计时,不需要指出先执行哪部分代码,或按什么顺序执行

代码,只需编写针对某个事件的程序代码即可。

4.参考答案

答:事件驱动是VB应用程序的基本机制,其基本过程是:

(1)启动应用程序,装载和显示窗体。

(2)窗体或窗体上的控件等待事件的发生。事件可由用户引发(例如键盘操作或鼠标点击)、可由系

统引发(例如定时器控件)、也可由代码间接引发(例如当代码装载其他窗体时产生的Load事件)。

(3)当某个事件发生后,执行其对应的事件过程代码。

(4)重复执行第2和第3步。直到遇到End语句或单击“结束”按钮停止程序的运行。

四、程序设计题

1.

PrivateSubForm_Load()

Text1.Text二”VB程序设计”

Text1.FontSize=16

EndSub

PrivateSubCommandl_Click()

Text1.Visible=False

EndSub

PrivateSubCommand2_Click()

Text1.Visible=True

EndSub

2.

PrivateSubCommandI_Click()

Textl.Text=",,

..Text2.Tex.

[Text3.Text=""

EndSub

PrivateSubCommand2_ClickO

IfText!Text=""OrText2.Text=""OrText3.Text=""Then

MsgBox"成绩输入不全!"

Else

Text4.Text=(Val(Textl.Text)+Val(Text2.Text)+Val(Text3.Text))/3

EndIf

SubEnd

PrivateSubCommand3_Click()

UnloadMe

EndSub

3.

PrivateSubCommandl_Click()

IfTextl.Text=""Then

MsgBox"至少要输出单价!"

Textl.SetFocus

ExitSub

EndIf

IfText2.Text=""ThenText2.Text=1

IfText3.Text=""ThenText3.1ext=1

Text4.Text=Text1.Text*Text2.Text*Text3.Text

EndSub

电大天堂【VisualBasic程序设计】作业2

一、选择题

1.B2.C3.D4.B5.D6.A7.B8.C9.A10.D11.C12.B13.D14.

C15.A16.B17.C18.B19.D20.B

二、填空题

I.下拉式菜单弹出式夹单

2.打开另存为颜色字体打印

3.文本框列表框

4.OptionBase1

5.Call语句

6.工程工程属性通用Form1.Show

7.0

8.Sub过程的过程名不能返回值,而Function过程能通过过程名返回值

9.窗体模块标准模块类模块

10.移出内存无效状态

11.(1)2*Cos(*Sin(/(2*()

(2)Sqr(s*(s-a)*(s-b)*(s-c))

(3)Sin(45*3.14/180)

12.(1)x>=IAndx<12

(2)A+B>=COra-c<=c

(3)a>()Andb>0Or(a<0Andb<0)

13.False

14.ForWhileDo

15.3

三、阅读下列程序,给出程序运行结果。

1.程序运行后,单击窗体,输出结果为:5050。

3.43

木*求

*****

*******

*********

四、程序设计题

1.

PrivateSubCommandl_CIick()

DimxAsSingle,yAsSingle

x=Val(Textl.Text)

Ifx<100Then

y=x

Else

Ifx<200Then

y=9.5*x

Else

Ifx<300Then

y=0.9*x

Else

Ifx<500Then

y=().8*x

Else

y=0.7*x

EndIf

EndIf

EndIf

EndIf

Text2.Text=y

EndSub

PrivateSubForm_Load()

DimxAsInteger

x=1(X)

DoUntilx>200

IfxMod3<>0Then

Text1.Text=Text1.Text&Str(x)&Chr(l3)&Chr(10)

EndIf

x=x+I

Loop

EndSub

3.

PrivateSubForm_Click()

Print"*";Tab(9);3,Tab(l8);6;Tab(27);9;Tab(36);l2

Print

For1=15to18

PrintI;

Forj=3to12Step3

PrintTab(3*j);j*I;

Nextj

Print

NextI

Endsub

PrivateSubCommandl_Click()

UnloadMe

EndSub

PrivateSubOptionl_Click()

Text1.Text=10*2

EndSub

PrivateSubOplion2_Click()

Text1.Text=10/2

EndSub

PrivateSubOption3_Click()

Text1.Text=10+2

EndSub

PrivateSubOplion4_Click()

Text1.Text=10-2

EndSub

PrivateFunctionDay(nAsInteger)

SelectCasen

Case0

Day="星期日"&Chr(13)&"(Sunday)*,

Case1

Day="星期一"&Chr(13)&"(Monday)"

Case2

Day="星期二"&Chr(I3)&•'(Tuesday)"

Case3

Day="星期三"&Chr(13)&"(Wednesday)"

Case4

Day="星期四"&Chr(l3)&"(Thursday)"

Case5

Day="星期五”&Chr(l3)&"(Friday)"

Case6

Day="星期六"&Chr(l3)&"(Saturday)*,

EndSelect

EndFunction

PrivateSubTextl_KeyPress(KeyAsciiAsInteger)

DimnAsInteger

n=Val(Text1.Text)

IfKeyAscii=13Then

Ifn>=0Andn<7Then

Label1.Caption=Day(n)

Else

MsgBox”请输入0~6之间的整数!"

EndIf

EndIf

Textl.SelStart=0

Textl.SelLength=Len(Texti.Text)

EndSub

6.

新建一个工程,在默认的窗体Forml上放置一个Picture控件,然后编写如下代码。

PrivateSubPicture1_MouseDown(BultonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

IfButton=2Then

MsgBox"YoupressedrightButton"

PictureI.MousePointer=vbArrow

EndIf

EndSub

PrivateSubPicture1_MouseMove(Bu(tonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

Picture1.MousePointer=vbUpArrow

EndSub

PrivateSubForm_Load()

List1.Additem"李敏”

List1.Additem”张华,,

List1.Additem”吕晓悻”

List1.Additem“赵巍”

List1.Additem"袁莉'

List1.Additem"王津"

List1.Additem”何小渴”

Listl.Additem"崔宇"

List1.Additem"陈曦"

Listl.Addltcm”刘伟楠”

EndSub

PrivateSubCommandl_Click()

IfText1.Text<>""Then

List1.AdditemText1.Text

Text1.Text=""

Else

MsgBox”请在文本框中输入信息!”

EndIf

EndSub

PrivateSubCommand2_Click()

List1.RemoveitemListl.Listlndex

EndSub

PrivateSubCommand3_Click{)

IfCommand3.Caption="修改"Then

Text1.Text=ListI.Text

Text1.SetFocus

CommandI.Enabled=False

Command2,Enabled=False

Commands.Caption="修改确认"

Else

Listl.List(Listl.Listindex)=Text1.Text

Command1.Enabled=True

Command2.Enabled=True

Textl.Text='M,

Commands.Caption="修改"

EndIf

EndSub

PrivateSubListl_Click()

IfList1.Listindex<>-1Then

Command2.Enabled=True

Command3.Enabled=True

EndIf

EndSub

电大天堂【VisualBasic程序设计】作业3

一、选择题

1.B2.B3.B4.A5.C6.C7.D8.C9.C10.C11.B12.B13.A14.

B15.C16.C17.B18.AW.C20.B21.A

二、填空题

1.Output

2.FilcCopync:\","d:\v

3.Kill"d:\tem.lmp”

4.OpenMSEQNEW.DAT"ForOutputAs#1

5.Open”SEQOLD.DAT”ForInputAs#2

6.右上

7.False

8.Picturel.Line(5OO,5OO)-(1000.1OOO),RGB(255.O,O),BF

9.520

10.ActiveConnection

11.外部数据库、远程数据废

12.ADOrs("学号”)

13.增加、删除、修改(或省Select、Delete^Update)

14.Select*fromTableIWhere学号='001'

15.本地数据库、远程数据走

三、程序设计题

1.

PrivateSubForm_Load()

Drivel.Drive="c:\"

Filcl.Pattern="*.bmp;*.gif;*.jpg”

EndSub

PrivateSubDrivel_change()

Dir1.Path=Drivel.Drive

EndSub

PrivateSubDirl_Change()

Filel.Path=Dirl.Path

EndSub

PrivateSubFilel_click()

IfRight(Filel.Path,1)="\"Then

f$=Forml.File1.Path+FormI.FileI.FileName

Else

f$=Forml.File1.Path+V+FormI.File1.FileName

EndIf

Picturcl.Picture=LoadPicturc(fS)

Picture1.AutoSize=True

EndSub

2.

PrivateSubFonn_Click()

DimiAsSingle,twopieAsSingle

twopie=8*Atn(l)'求pi

DrawWidth=2’设置点的大小

Scale(-twopie,l)-(twopie,-1)'设置坐标系

Fori=-twopieTotwopieSteptwopie/360'画X轴

PSet(i,0)

Nexti'标x轴

CurrentY=0

CurrentX=-twopie

Printn-2pi";

CurrentX="twopie/2

Print"-pi";

CurrentX=twopie/2

Print"pi'1;

CurrentX=twopie-0.6

Print"2pi";

Print"pM

Fori=-ITo1Step0.01'画y轴

PSet(0,i)

Nexti

CurrentX=0'标y轴刻度

Fori=-1To1Step0.5

CurrentY=i

Printi

Nexti

Fori=-twopieTotwopieStep0.1,面余弦曲线

PSet(i,Cos(i))

Nexti

EndSub

3.

PrivateSubCheckl_Click()

IfCheck1.Vaiue=1Then

Line1.BorderWidth=4

Else

Line1.BorderWidth=1

EndIf

EndSub

PrivateSubOptionl_Click(lndexAsInteger)

LineI.BorderWidth=1

Check1.Value=0

SelectCaseIndex

Case1

Line1.BorderStyle=1

Case2

Line1.BorderStyle=2

Case3

Line1.BorderStyle=3

EndSelect

EndSub

PrivateSubOplionl_Click(IndexAsInteger)

SelectCaseIndex

Case0

Shape1.Shape=0

CaseI

Sh叩el.Shape=I

Case2

Shape1.Shape=3

Case3

Shape!.Shape=4

EndSelect

EndSub

PrivateSubOption2_Click(lndcxAsInteger)

SelectCaseIndex

Case0

Shape1.FillStyle=I

Case1

Shape1.FillStyle=3

Case2

Shape1.FillStyle=2

Case3

Shape1.FillStyle=6

EndSelect

EndSub

PrivateSubOption3Click(IndexAsInteger)

Shape1.BorderWidth=1

SelectCaseIndex

Case0

Shape1.BorderStyle=0

CaseI

Shape1.BorderStyle=1

Case2

Shape1.BorderStyle=4

Case3

Shape1.BorderStyle=2

Case4

Shape1.BorderStyle=3

EndSelect

EndSub

5.(以SQLServer数据库为例)

'声明对象变量ADOcn,用于创建与数据库的连接

PrivateADOcnAsConnection

PrivateSubReadFromTable()

DimstrimpAsString

DimADOrsAsNewRecordset

ADOrs.ActiveConnection=ADOcn

ADOrs.Open"select*fromstudentsorderby学号”

MSFlexGridl.Clear

MSFIexGrid1.Rows=0

MSFlexGridl.Cols=3

strtmp="学号"+vbTab+”姓名”+vbTab+”专业”

MSFIexGrid1.Additemstrtmp

DoWhileNotADOrs.EOF

strtmp=ADOrs("学号")+vbTab+ADOrs("姓名")+vbTab+ADOrs("专业“)

MSFIexGrid1.Addltcmstrtmp

ADOrs.MoveNext

Loop

MSFIexGridI.FixedCols=0

MSFIexGrid1.FixedRows=1

EndSub

PrivateSubCommandl_Click()

UnloadMe

EndSub

PrivateSubFormLoad()

'定义数据库连接字符串

DimsirDBAsSiring

'用于连接SQLServer数据库,其中:

Server为服务器名称

UserID为登录账号

,Password为登录口令

-Database为具休的数据库名

strDB="Provider=SQLOLEDB;LSF;UserID=sa;Password=;Database二学生”

’如果还没有建立与数据库的连接,则用以下代码创建。

IfADOcnIsNothingThen

SetADOcn=NewConnection

ADOcn.OpensirDB,连接SQLServer数据库

EndIf

ReadFromTable明用过程显示students表中的记录

EndSub

行结果及代码请参考主教材加实验教材相关内容。

电大天堂【VisualBasic程序设计】作业4

一、选择题

1.A2.B3.A4.D5.B6.C7.A8.B

二、填空题

1.A.DataArrival事件、SendData方法

2.TCP/IP(或者回答TCP协议)

3.EXE

4.用户自定义接口、标准接口

5.Locallp方法

6.GetData方法

7.使用服务程序处于侦听状态;

8.Winsock

9.实时错误、逻辑错误

10.OnErrorGoto0

三、问答题

1.参考答案

答:Socket是TCP/IP网络中最为通用的API(应用程序接口),也是在Internet上进行应用程序开发

最为通用的API。它为网络中的每台计算机中提供了一个通信端口,通过这个端口,任何两台具有Socket

接口应用程序就可进行信息收发通信了。程序员只需要对Socket接LJ进行数据的读写操作,根本不必关心

两台计算机间的通信细节就能够完成数据的发送和接收工作。基于Socket的通信过程如图1所示。

2.参考答案

答:VB中一般可按下列步骤设计错误处理程序:

第1步:捕获错误,并强制程序跳转

即在错误发生时,捕获并告知应用转向哪段代码进行错误处理。VB中通常可采用OnErrorGoTo语句

启用错误捕获机制。

第2步:编写错误处理程序,对所有可预见的错误做出反应

编写错误处理程序的第一步是添加一个行标识符,比如“CheckError:",以标志错误处理程序的开始。

行标识符的名称最好具有良好的可读性,并且后面必须跟一个目号。常规错误处理程序通常放在过程的结

束处,紧跟ExitSub或ExitFunction的行标识符之后。这样在没有错误发生时,过程就不会执行错误处理

程序了。

第3步:退出错误处理程序

通常情况下,只有当错误处理程序位于过程中间位置时.才需要用到专门的错误处理程序退出语句。

一股可使用Resume或ResumeNext语句退出错误处理程序,Resume语句会继续执行引发错误的那句代码,

而ResumeNext语句则会跳过该语句,执行引发错误代码的下一句代码。如果通过错误处理程序能够修正

错误,则可以使用Resume语句,否则就使用ResumeNext语句,或者直接使用ExitSub或ExilFunction语

句直接退出过程。

3.参考答案

答:调试程序是一件复杂的工程,不但要求程序员对系统设计结果非常熟悉,思路清晰,更需要不断

地在实践中积累经验。以下技巧可供参考:

首先,应事先做好备份:尽管VB提供了众多的调试工具,但要利用这些工具查找、定位程序中的借误

并非易事,对于一些规模较大的程序,即使是有经验的程序员也常常要损失好几小时甚至几天的时间来查

找错误。在调试过程中,很容易意外地修改、覆盖或删除掉必要的代码部分。因此事先做好备份非常重要。

其次,尽可能地分离受怀疑的程序:对于那些代码规模较大,窗口众多的程序而言,如果能将错误的

范围定位于某个窗体或某段代码,则可以使用分离程序的调试方法。基本思路是:试着找到出错的代码行

(块)或窗体,选择并复制这些代码到一个新的工程中,然后运行新工程,看一看是否还会出现同样的错

误,这样就可以尽可能地排除程序其他部分的干扰,提高调试的效率。

第三,缩小搜索范围:如果有可能的话,可删除工程中任何第三方控件和自定义控件,或者任何看来与

问题无关的代码,逐步缩小搜索范围。或者采用相反的策略,先调试

温馨提示

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

评论

0/150

提交评论