VisualBasic程序设计第二版习题答案吴昌平.docx

上传人:b****6 文档编号:3646033 上传时间:2022-11-24 格式:DOCX 页数:52 大小:513.83KB
下载 相关 举报
VisualBasic程序设计第二版习题答案吴昌平.docx_第1页
第1页 / 共52页
VisualBasic程序设计第二版习题答案吴昌平.docx_第2页
第2页 / 共52页
VisualBasic程序设计第二版习题答案吴昌平.docx_第3页
第3页 / 共52页
VisualBasic程序设计第二版习题答案吴昌平.docx_第4页
第4页 / 共52页
VisualBasic程序设计第二版习题答案吴昌平.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

VisualBasic程序设计第二版习题答案吴昌平.docx

《VisualBasic程序设计第二版习题答案吴昌平.docx》由会员分享,可在线阅读,更多相关《VisualBasic程序设计第二版习题答案吴昌平.docx(52页珍藏版)》请在冰豆网上搜索。

VisualBasic程序设计第二版习题答案吴昌平.docx

VisualBasic程序设计第二版习题答案吴昌平

第一章

1.程序设计语言分为机器语言、汇编语言、高级语言3种。

机器语言用二进制代码0和1来表示计算机可直接执行的命令,每条指令让计算机执行一个简单动作。

对人来讲,机器语言非常难懂,但计算机却能直接理解、执行它。

汇编语言以约定的助记符来表示机器命令,每一条回避缉拿指令基本上与一条机器指令相对应与机器语言相比,汇编语言比较直观,用汇编语言编写的程序经过简单的翻译就可以被机器执行。

机器语言和汇编语言是面向机器的,速度快,效率高,但设计复杂,难于使用

高级语言比较接近人类语言,语法规则简单清晰,易为各专业人员掌握和使用。

高级语言需经过翻译软件翻译成机器语言指令后才能被计算机执行

2.一般分为四个步骤:

设计用户界面

设置属性

编写代码

保存和运行、调试程序,生成EXE文件

3.对象:

是vb程序几基础构件,具有属性和方法,并响应外部事件。

属性:

指对象的特征,每一种对象都有一组各顶的属性

事件:

是vb预先定义好的、能被对象识别的动作

事件过程:

对象感应到某一时间发生时所执行的程序

4.编译错误、运行错误、逻辑错误

5.使用“视图”菜单中的“属性窗口”命令和“工具箱”命令

6.

(1)窗体单击事件,单击窗体,窗体标题变为“vb”

(2)按钮单击事件,单击按钮,文本框内容变为空

7.

习题1-7

PrivateSubCommand1_Click()

Text1.Text="你是谁?

"

EndSub

PrivateSubCommand2_Click()

Text1.Text="我是VB用户"

EndSub

第二章

1.关键字:

又称保留字,是在语法上有固定意义的字母组合。

主要包括命令名,函数名,数据类型名,运算符,VB系统提供的标准过程等。

标识符:

用户自己定义的名字,包括自定义常量名,变量名,控件名,自定义的过程名和函数名等。

2.错误的变量名:

3w,Abs,x-y,x%y,ef

3.

(1)v0*t-1/2*a*t^2

(2)sin(a)*cos(b)/(a*b)(3)a*x*x-b*x-c(4)x>0andx<=5

4.

(1)40

(2)10(3)0(4)False(5)99-7-26

5.

(1)cint(x)

(2)fix(x*100)/100)

6.

(1)fix(rnd*991+10)

(2)fix(rnd*90+10)

第三章

1.标签主要用于显示不需要修改的文本。

所以,标签可以用来标识窗体及窗体上的对象,如:

为文本框、列表框等添加说明性文字,或者作为窗体的说明文字

文本框在窗体中为用户提供一个既能够显示文本又能编辑文本的区域。

在文本框内,用户可以用鼠标,键盘按常用方法对文字进行编辑,例如进行输入,删除,选择,复制和粘贴等各种操作

2.Print方法:

优点是输入格式灵活多变,可以使用多种的格式函数进行输出格式设置。

缺点是当只输入少量数据,如运算结果时,尤其在指定位置输入不够方便和醒目。

标签方法:

优点是当只输出少量数据,如运算结果时,尤其在指定位置输出时方便和醒目。

缺点是输出格式死板,不能够灵活变化

3.Inputbox方法:

优点是具有提示和标题,输入方式灵活。

缺点是不够醒目。

文本框方法:

优点是在窗体上醒目,缺点是方式不够灵活,缺少信息提示

4.输出结果为:

57(间隔14个字符)

355

5.Print"*********"

Print"*********"

Print"*********"

Print"*********"

Print"*********"

6.msgbox"显示Yes,No,Cancel和警告",3+48,"消息演示"

7.

习题3-7

PrivateSubCommand1_Click()

Dima!

b!

c!

p!

a=Text1.Text

b=Text2.Text

c=Text3.Text

p=(a+b+c)/3

Print"平均成绩为:

"&p&"分"

EndSub

8.

习题3-8

PrivateSubCommand1_Click()

Text1.Text=""

Text2.Text=""

EndSub

PrivateSubText1_Change()

Text2.Text=Text1.Text

EndSub

PrivateSubText2_Change()

Text1.Text=Text2.Text

EndSub

第四章

1.相同点:

二者都是选择结构的一种形式,当条件成立时执行then后面的语句,条件不成立时执行else后面的语句。

不同点:

块if后面跟的是语句块,这个语句块既可以是一条语句,也可以是多条语句,当然也可以是嵌套了选择和循环的大语句块,都可以。

而行if语句后面只能跟一条语句。

2.相同点:

都是多条件的判断

不同点:

ELSEIF结构是顺次判断多个条件,当某一个条件成立时,其他条件就直接跳过而直接执行ELSEIF后面的语句。

当条件不成立时,依次向下判断,直到找到成立的条件为止。

如果条件均不成立,则执行ELSE后面的语句。

对于IF语句的嵌套,先判断外层条件,当条件成立时,判断隶属于该条件的语句块中的条件。

3.

(1)1

(2)743(标准格式输出)(3)1.52

(4)x=-15y=1.25;

x=0y=0

x=10y=500

x=100y=100

4.

PrivateSubCommand1_Click()

Dimx!

y!

x=InputBox("")

Ifx>0Then

y=Exp(x)+Log(x)

ElseIfx=0Then

y=0

Else

y=3*x^2+5*x+1

EndIf

Printy

EndSub

5.

PrivateSubCommand1_Click()

Dimx%

x=InputBox("")

IfxMod2=0AndxMod3=0AndxMod5=0Then

Printx;"可以被2,3,5同时整除"

Else

Printx;"不能被2,3,5同时整除"

EndIf

EndSub

6.

PrivateSubCommand1_Click()

Dimx%

x=InputBox("")

IfSqr(x)=Int(Sqr(x))Then

Printx;"是一个完全平方数"

Else

Printx;"不是一个完全平方数"

EndIf

EndSub

7.

PrivateSubCommand1_Click()

Dimx!

y!

x=InputBox("")

Ifx<1000Then

y=0

ElseIfx<=2000Then

y=0.025

ElseIfx<=4000Then

y=0.035

Else

y=0.05

EndIf

Printy

EndSub

第五章

1.

(1)10

(2)1015202530354045

(3)#(4)12481632

**

###

****

#####

2.

PrivateSubForm_Click()

Dimx1&,x2&,i%

x1=0

x2=1

Fori=1To30

x=x1+x2

x1=x2

x2=x

Printx;

IfiMod5=0ThenPrint

Nexti

EndSub

习题5-2

3.

PrivateSubForm_Click()

Dimp!

r!

i%

p=2376000

r=0.1345

i=0

Whilep<2376000*2

p=p*(1+r)

i=i+1

Wend

Printi;"年后产值可以翻一翻"

EndSub

习题5-3

4.

PrivateSubForm_Click()

Dimi%,a%,b%,c%,n%

Print"100---500的水仙花数如下:

"

Fori=100To500

a=i\100

b=(i-a*100)\10

c=i-a*100-b*10

Ifi=a^3+b^3+c^3Then

Printi;

n=n+1

IfnMod5=0ThenPrint

EndIf

Nexti

EndSub

习题5-4

5.

PrivateSubForm_Click()

Dimi%,j%

Fori=1To4

PrintTab(20-2*i);

Forj=1To2*i-1

Print"*";

Nextj

Print

Nexti

EndSub

习题5-5

6.

PrivateSubForm_Click()

Dimi%,n%,p#,e#

n=InputBox("")

Fori=1Ton

p=1

Forj=1Toi

p=p*j

Nextj

e=e+1/p

Nexti

Print"当n=";n;"时,e=:

";e+1

EndSub

习题5-6

7.

PrivateSubForm_Click()

Dimi%

Fori=500To1000Step2

Forj=3Toi/2Step2'先找一个素数作为第一个数

Fork=2ToInt(Sqr(j))

IfjModk=0ThenExitFor

Nextk

Ifk>Int(Sqr(j))Then'找到第一个素数

l=i-j'做减法,求得第二个数

Form=2ToInt(Sqr(l))'判断第二个数是否为素数

IflModm=0ThenExitFor

Nextm

Ifm>Int(Sqr(l))Then'如果第二个数也是素数

Printi;"=";j;"+";l;

IfiMod3=0ThenPrint

ExitFor

EndIf

EndIf

Nextj

Nexti

EndSub

习题5-7

第六章

1.二者的主要区别在于:

(1)图片框控件可以作为其他控件的容器而图象框不能。

(2)图片框可以通过Print方法接收文本,而图象框不能接收用Print方法输入的信息(3)图象框比图片框占用的内存少,显示速度快。

当对程序速度要求不高,并且控件是用来显示图片的情况下,二者可以通用。

当需要接收文本或者是作为其他控件的容器的时候只能用图片框

2.

习题6-2

PrivateSubCommand1_Click()

Dimt

P3.Picture=Picture1.Picture

Picture1.Picture=Picture2.Picture

Picture2.Picture=P3.Picture

EndSub

3.

习题6-3

代码如下:

PrivateSubTimer1_Timer()

Label1.FontSize=20

Label1.Caption="日期:

"+Str(Date)+"时间:

"+Str(Time)

EndSub

4.

习题6-4

PrivateSubTimer1_Timer()

P1.Left=P1.Left+100

EndSub

5.框架的主要作用:

作为其他控件的容器,给同类型控件分组

6.主要区别:

组合框是由一个文本框和一个下拉式列表框组合而成,所以组合框上既可以输入,也可以选择,而列表框只能够选择

7.

习题6-7

PrivateSubcommand1_Click()

P1.Visible=True

command1.Visible=False

command2.Visible=False

EndSub

PrivateSubcommand2_Click()

End

EndSub

PrivateSubP1_DblClick()

P1.Visible=False

command1.Visible=True

command2.Visible=True

EndSub

8.

习题6-8

PrivateSubCommand1_Click()

Dimt$

t=List1.Text

Ift="广州"ThenPicture1.Print"北京到广州距离为1000公里"

Ift="深圳"ThenPicture1.Print"北京到深圳距离为1100公里"

Ift="上海"ThenPicture1.Print"北京到上海距离为800公里"

Ift="济南"ThenPicture1.Print"北京到济南距离为400公里"

EndSub

第七章

1.

(1)10

(2)8(3)15(4)60(5)16(6)10

2.

OptionBase1

PrivateSubForm_Click()

DimaAsVariant

a=Array(12,87,96,34,79,45,67,78,93,23)

Max=a

(1)

p=1

Fori=2To10

Ifa(i)>MaxThen

Max=a(i)

p=i

EndIf

Nexti

Print"最大值为:

";Max;"是第";p;"个数"

EndSub

习题7-2

3.

OptionBase1

PrivateSubForm_Click()

Dima%(5,4),b%(5)

Dimi%,j%,t%,max%

Randomize

Fori=1To5

Forj=1To4

a(i,j)=Rnd*90+10

Printa(i,j);

b(i)=b(i)+a(i,j)

Nextj

Print

Nexti

Fori=1To4

max=a(1,i)

s=0

Print"第";i;"门课的不及格成绩有:

";

Forj=1To5

Ifa(j,i)>maxThenmax=a(j,i)

Ifa(j,i)<60ThenPrinta(j,i);

s=s+a(j,i)

Nextj

Print

Print"第";i;"门课的最高成绩为:

";max

Print"第";i;"门课的平均成绩为:

";s/5

Print

Nexti

Fori=1To4

Forj=i+1To5

Ifb(i)

b(i)=b(j):

b(j)=t

Nextj

Nexti

Print"按总分排序为:

"

Fori=1To5

Printb(i),

Nexti

EndSub

习题7-3

4.

OptionBase1

PrivateSubForm_Click()

Dima%(3,3),b%(3,3),I%,j%

Randomize

Fori=1To3

Forj=1To3

a(i,j)=Int(Rnd*100)

b(i,j)=Int(Rnd*100)

Nextj

Nexti

Print"第一个矩阵为:

"

Fori=1To3

Forj=1To3

Printa(i,j);

Nextj

Print

Nexti

Print"第二个矩阵为:

"

Fori=1To3

Forj=1To3

Printb(i,j);

Nextj

Print

Nexti

Print"两矩阵相加和为:

"

Fori=1To3

Forj=1To3

Printa(i,j)+b(i,j);

Nextj

Print

Nexti

EndSub

习题7-4

5.

OptionBase1

PrivateSubForm_Click()

Randomize

Dima%(10),i%,j%,t%

Fori=1To10

a(i)=Int(Rnd*100)

Printa(i);

Nexti

Print

Fori=1To9

Forj=i+1To10

Ifa(i)>a(j)Thent=a(i):

a(i)=a(j):

a(j)=t

Nextj

Nexti

Print"排序为:

"

Fori=1To10

Printa(i);

Nexti

EndSub

习题7-5

6.

OptionBase1

PrivateSubForm_Click()

Dima%(17)

Fori=1To17

a(i)=1

Nexti

m=0

n=17

i=0

Whilen<>1

i=i+1

Ifa(i)=1Then

m=m+1

IfmMod3=0Then

a(i)=0

n=n-1

EndIf

EndIf

Ifi=17Theni=0

Wend

Fori=1To17

Ifa(i)=1Then

Print"最后余下的是第:

";i;"号"

EndIf

Nexti

EndSub

习题7-6

7.

OptionBase1

PrivateSubForm_Click()

Dimi%,j%,a(10,10)

Fori=1To10

Forj=1To10

Ifi=jThena(i,j)=1Elsea(i,j)=0

Printa(i,j);

Nextj

Print

Nexti

EndSub

习题7-7

8.

OptionBase1

PrivateSubForm_Click()

Dima%(100)

Fori=1To100

a(i)=1

Nexti

a

(1)=0

Fori=2ToSqr(100)

Ifa(i)<>0Then

Fork=i+1To100

IfkModi=0Thena(k)=0

Nextk

EndIf

Nexti

Fori=1To100

Ifa(i)=1ThenPrinti;

IfiMod10=0ThenPrint

Nexti

EndSub

习题7-8

第八章

1.子过程是用特定格式组织起来的一组代码,通常用来完成一个特定的功能。

函数过程是自定义过程的另一种形式,同内部函数一样,函数过程也有一个返回值。

对于同一个问题,若可以用函数过程实现,则也可以用子过程实现。

函数过程与子过程不同之处是函数过程有返回值,而子过程通过形参与实参的传递得到结果。

在调用方法上,子过程可以使用call语句或者直接作为一条语句来使用,而函数过程的调用方法可以直接调用,得到一个返回值。

2.

(1)用CALL语句调用子过程。

格式为:

CALL过程名[(参数列表)]

(2)把过程名作为一个语句来使用,格式为:

过程名[参数列表]

3.形参:

子过程或函数过程的定义中的参数称之为形参

实参:

主调过程中的参数称为实参

值传递:

系统将实参的值复制给形参,之后实参与形参之间就断开了联系。

子过程或函数在自身内部创建变量用于存储参数,执行完毕后,该变量消失,对参数的改变不会传回到主程序

地址传递:

当调用一个过程时,它将实参的地址传递给形参。

因此在被调过程体中对形参的任何操作都变成了对相应实参的操作,因此实参的值就会随形参的改变而改变。

4.

PrivateSubCommand1_Click()

Dimn&,i%,flag%

n=InputBox("请输入数据")

IfNotsushu(n)Then

Print"不是素数"

Else

Print"是素数"

EndIf

EndSub

PublicFunctionsushu(x&)AsBoolean

Dimi%,flag%

Fori=2ToInt(Sqr(x))

IfxModi=0Thenflag=1

Nexti

Ifflag=1Then

sushu=False

Else

sushu=True

EndIf

EndFunction

习题8-4

5.

PrivateSubForm_Click()

Dimn%

n=InputBox("请输入n的值")

Print"当n=";n;"时,pi=";pi(n)*4

EndSub

PublicFunctionpi#(n%)

Dimi%

f=1

Fori=1TonStep2

pi=pi+f/i

f=f*(-1)

Nexti

EndFunction

习题8-5

 

6.

OptionBase1

PrivateSubForm_Click()

Dima%(),n%

Randomize

n=InputBox("请输入一维数组的维数")

ReDima(n)

Fori=1Ton

a(i)=Int(Rnd*100)

Printa(i);

IfiMod10=0ThenPrint

Nexti

Callm1(a)

EndSub

PublicSubm1(b%())

Dimi%,min%,p%

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1