VB程序设计教程课后参考答案.docx

上传人:b****6 文档编号:8100308 上传时间:2023-05-12 格式:DOCX 页数:23 大小:21.47KB
下载 相关 举报
VB程序设计教程课后参考答案.docx_第1页
第1页 / 共23页
VB程序设计教程课后参考答案.docx_第2页
第2页 / 共23页
VB程序设计教程课后参考答案.docx_第3页
第3页 / 共23页
VB程序设计教程课后参考答案.docx_第4页
第4页 / 共23页
VB程序设计教程课后参考答案.docx_第5页
第5页 / 共23页
VB程序设计教程课后参考答案.docx_第6页
第6页 / 共23页
VB程序设计教程课后参考答案.docx_第7页
第7页 / 共23页
VB程序设计教程课后参考答案.docx_第8页
第8页 / 共23页
VB程序设计教程课后参考答案.docx_第9页
第9页 / 共23页
VB程序设计教程课后参考答案.docx_第10页
第10页 / 共23页
VB程序设计教程课后参考答案.docx_第11页
第11页 / 共23页
VB程序设计教程课后参考答案.docx_第12页
第12页 / 共23页
VB程序设计教程课后参考答案.docx_第13页
第13页 / 共23页
VB程序设计教程课后参考答案.docx_第14页
第14页 / 共23页
VB程序设计教程课后参考答案.docx_第15页
第15页 / 共23页
VB程序设计教程课后参考答案.docx_第16页
第16页 / 共23页
VB程序设计教程课后参考答案.docx_第17页
第17页 / 共23页
VB程序设计教程课后参考答案.docx_第18页
第18页 / 共23页
VB程序设计教程课后参考答案.docx_第19页
第19页 / 共23页
VB程序设计教程课后参考答案.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VB程序设计教程课后参考答案.docx

《VB程序设计教程课后参考答案.docx》由会员分享,可在线阅读,更多相关《VB程序设计教程课后参考答案.docx(23页珍藏版)》请在冰点文库上搜索。

VB程序设计教程课后参考答案.docx

VB程序设计教程课后参考答案

VB程序设计教程课后参考答案

习题一

一、填空题

1.对象、事件驱动

2.窗体、控件

3.属性

4.属性窗口、编程设置

5.事件过程

6.对象名、下划线、事件名

7.Form_click

8.Printform1.print“我的VB”

9.主窗口、属性、工具箱、代码、窗体、工程资源管理

10.菜单、快捷键

二、选择题

1.C2.A3.B4.B5.D6.BC7.A

三、简答题(略)

习题二

一、选择题

1.D2.C3.C4.B5.C6.B7.C

8.B9.A10.B11.B12.C13.D14.B

15.A16.A17.A18.A19.B20.C21.A

22.B23.B24.A25.C26.A27.B28.B

29.C30.B31.D32.D33.C

二、填空题

1.Controlbox、Maxbutton、Minbutton

2.MultilineTRUE

3.******

4.单文档界面(SDI)多文档界面(MDI)

5.窗体显示

6.Passwordchar

7._change()

三、编程题(略)

习题三

一、基础知识题(略)

二、填空题

1.整型、长整型、单精度、双精度

2.(xmod10)*10+x\10

3.Sin(3.14*15/180)+sqr(x+exp(3))/abs(x-y)-log(3*x)

4.(a+b)/(1/(c+5)-c*d/2)

5.Xmod5=0orxmod9=0

6.False

7.-4、3、-3、3、-4、4

8.CDEF

9.GBCDEFA

10.TRUE

11.变量、属性

12.‘_:

13.(略)

14.“”#

15.Public、通用/模块、Dim、static、private

16.+、&、+

17.Now()、time()、日期

18.Inputbox()、字符串、val()

19.Msgbox()

三、选择题

1.B2.C3.A4.BD此题有误5.B6.A

7.D8.B9.B10.C11.D12.B

13.C14.B15.A16.C17.A18.D

19.A20.D21.A22.C23.C24.D

25.A26.D27.D28.B29.C30.B

31.C32.B33.CD此题有误34.C35.A

36.D37.C38.A39.B40.A41.C

42.C43.D44.C45.D46.A

四、编程题

1.

OptionExplicit

PrivateSubCommand1_Click()

Dima%,b%,c%,delta%

Dimx1#,x2#,x#

a=Val(InputBox("pleaseinputdatatoa:

","info",1))

b=Val(InputBox("pleaseinputdatatob:

","info",1))

c=Val(InputBox("pleaseinputdatatoc:

","info",1))

Ifa=0Andb<>0Then

x=-c/b

Print"所构成的方程是:

"&b&"x"&"+"&c&"=0"

Print"该一元一次方程的根是:

",x

EndIf

Ifa=0Andb=0Then

Print"很抱歉,不能构成合法的方程!

"

EndIf

Ifa<>0Then

delta=b*b-4*a*c

Ifdelta>=0Then

x1=(-b+Sqr(delta))/(2*a)

x2=(-b-Sqr(delta))/(2*a)

Print"所构成的方程是:

"&a&"x2"&"+"&b&"x"&"+"&c&"=0"

Print"该方程的根是:

"

Print"第一个根是:

",x1

Print"第二个根是:

",x2

Else

Print"所构成的方程是:

"&a&"x2"&"+"&b&"x"&"+"&c&"=0"

Print"该方程有两个虚根:

"

Print"第一个虚根是:

"&-b/(2*a)&"+"&Sqr(Abs(delta))/(2*a)&"i"

Print"第二个虚根是:

"&-b/(2*a)&"-"&Sqr(Abs(delta))/(2*a)&"i"

EndIf

EndIf

EndSub

2.

OptionExplicit

PrivateSubCommand1_Click()

Dimi%,s%

s=0

Fori=1To99Step2

s=s+i

Next

Prints

EndSub

3.

OptionExplicit

PrivateSubCommand1_Click()

Dimi%

Dims#

s=0

Fori=1To100

s=s+1/i*(-1)^(i+1)

Next

Prints

EndSub

4.

OptionExplicit

PrivateSubCommand1_Click()

Dimi%,n%

Dimt#,s#

n=Val(InputBox("pleaseinputdata:

","info",5))

s=0

t=1

Fori=1Ton

t=t*i

s=s+t

Next

Prints

EndSub

5.

OptionExplicit

PrivateSubCommand1_Click()

Dima%,b%,c%

Dimp#,s#

a=Val(InputBox("pleaseinputdatatoa:

","info",3))

b=Val(InputBox("pleaseinputdatatob:

","info",4))

c=Val(InputBox("pleaseinputdatatoc:

","info",5))

If(a+b>cAndAbs(a-b)bAndAbs(a-c)aAndAbs(b-c)

p=(a+b+c)/2

s=Sqr(p*(p-a)*(p-b)*(p-c))

Print"三角形的面积是:

"&s

Else

Print"很抱歉,不能构成合法的△三角形!

"

EndIf

EndSub

6.

OptionExplicit

PrivateSubCommand1_Click()

Dimji%,tu%

Forji=1To27

Fortu=1To27

Ifji*2+tu*4=78Andji+tu=27Then

Print"鸡的个数是:

"&ji

Print"兔的个数是:

"&tu

EndIf

Next

Next

EndSub

7.

OptionExplicit

PrivateSubCommand1_Click()

Dimi%

Dims#,t#

s=10

t=10

Fori=1To7

t=t*0.4

s=s+t*2

Next

Print"第八次落地共经过的路径是:

"&s

EndSub

8.

OptionExplicit

PrivateSubCommand1_Click()

Dimi%,fs%,max%,min%,s%

Dimave#

fs=Val(InputBox("pleaseinputscore:

","info",90))

s=fs

max=fs

min=fs

Fori=2To7

fs=Val(InputBox("pleaseinputscore:

","info",90))

Ifmax

max=fs

EndIf

Ifmin>fsThen

min=fs

EndIf

s=s+fs

Next

ave=(s-max-min)/5

Print"该运动员的平均成绩是:

"&ave

EndSub

9.‘同学们,这道题方法很多,主要考察你对选择结构的理解,我给出其中一种方法。

OptionExplicit

PrivateSubCommand1_Click()

Dimx%,y%,z%

x=Val(Text1.Text)

y=Val(Text2.Text)

z=Val(Text3.Text)

Ifx>yThen

Ifx

Text4.Text=z

Text5.Text=x

Text6.Text=y

Else

Ify>zThen

Text4.Text=x

Text5.Text=y

Text6.Text=z

Else

Text4.Text=x

Text5.Text=z

Text6.Text=y

EndIf

EndIf

Else

Ify

Text4.Text=z

Text5.Text=y

Text6.Text=x

Else

Ifx

Text4.Text=y

Text5.Text=z

Text6.Text=x

Else

Text4.Text=y

Text5.Text=x

Text6.Text=z

EndIf

EndIf

EndIf

EndSub

PrivateSubForm_Load()

Text1.Text=""

Text2.Text=""

Text3.Text=""

Text4.Text=""

Text5.Text=""

Text6.Text=""

EndSub

10.

OptionExplicit

PrivateSubCommand1_Click()

Dimx%,y%,m%

x=Val(Text1.Text)

y=Val(Text2.Text)

m=xMody

DoWhilem<>0

x=y

y=m

m=xMody

Loop

Text3.Text=y

EndSub

PrivateSubForm_Load()

Text1.Text=""

Text2.Text=""

Text3.Text=""

EndSub

习题四

一、选择题

1.B2.C3.D4.A5.D

6.C7.D8.B

二、填空题

1.b(i)=a(i-1)+a(i)print

2.Variant

3.M=lbound(a,2)tonnexti

4.20

5.从大到小排序(这是一种比较好的插入排序法,希望同学们能够掌握)

6.Preserve

7.A(k)=min

8.空的变体型

9.J=ubound(a,2)flag=false:

exitfor

10.Dimaa(9,4)asinteger

三、简答题(略)

四、编程题

1.

OptionExplicit

PrivateSubCommand1_Click()

DimzfcAsString,zmAsString,i%,lenth%,n%

zfc=InputBox("pleaseinputstring:

","info","youaregoodstudent")

lenth=Len(zfc)

n=0

Fori=1Tolenth

zm=Mid(zfc,i,1)‘取每一个字母

IfUCase(zm)="A"OrUCase(zm)="E"OrUCase(zm)="O"OrUCase(zm)="I"Or_UCase(zm)="U"Then

n=n+1

EndIf

Next

MsgBox"该字符串的元音字母个数是"&n&"个"

EndSub

2.’这道题题目有问题,应改为“与其转置矩阵相加”

OptionExplicit

OptionBase1

PrivateSubCommand1_Click()

Dimaa(3,3)AsInteger,bb(3,3)AsInteger,cc(3,3)AsInteger

Dimi%,j%

Fori=1To3

Forj=1To3

aa(i,j)=Rnd*100‘我假设为100以内的任意整数

Next

Next

Calldisp(aa)‘调用函数,显示aa数组的内容

Fori=1To3

Forj=1To3

bb(j,i)=aa(i,j)

Next

Next

Calldisp(bb)‘调用函数,显示bb数组的内容

Fori=1To3

Forj=1To3

cc(i,j)=aa(i,j)+bb(i,j)

Next

Next

Calldisp(cc)‘调用函数,显示cc数组的内容

EndSub

PrivateSubForm_Load()

Randomize

EndSub

Subdisp(sz()AsInteger)‘专门编写一个显示数组的函数,希望同学们在题目中经常使用

Dimi%,j%

Fori=1To3

Forj=1To3

Printsz(i,j);

Next

Print

Next

EndSub

3.’这道题题目有问题,应改为“2,16任意进制的数值”

OptionExplicit

OptionBase1

PrivateSubCommand1_Click()

Dimx%

Form1.Cls‘清除窗体

x=Val(InputBox("pleaseinputdata:

","info",20))

Callejz(x)‘调用函数求解二进制

Print‘换行

Callsljz(x)‘调用函数求解十六进制

EndSub

Subejz(ByValmAsInteger)

Dimaa(30)AsInteger,i%,j%

i=1

DoWhilem\2<>0

aa(i)=mMod2

m=m\2

i=i+1

Loop

aa(i)=mMod2

Print"转换后的二进制数是:

";

Forj=iTo1Step-1

Printaa(j);

Next

EndSub

Subsljz(ByValmAsInteger)‘注意十六进制数码的特殊性

Dimaa(30)AsString,i%,j%

i=1

DoWhilem\16<>0

SelectCasemMod16‘想一想,为什么要这样转换

Case10

aa(i)="A"

Case11

aa(i)="B"

Case12

aa(i)="C"

Case13

aa(i)="D"

Case14

aa(i)="E"

Case15

aa(i)="F"

CaseElse

aa(i)=CStr(mMod16)

EndSelect

m=m\16

i=i+1

Loop

SelectCasemMod16

Case10

aa(i)="A"

Case11

aa(i)="B"

Case12

aa(i)="C"

Case13

aa(i)="D"

Case14

aa(i)="E"

Case15

aa(i)="F"

CaseElse

aa(i)=CStr(mMod16)

EndSelect

Print"转换后的十六进制数是:

";

Forj=iTo1Step-1

Printaa(j);

Next

EndSub

‘这道题,请同学们认真思考,学会其它各种进制转换的算法。

4.本道题我给出两种方法,希望同学们通过该题目,熟悉函数的运用。

方法一:

OptionExplicit

OptionBase1

PrivateSubCommand1_Click()

Dimi%,str1AsString,str()AsString,str2AsString,lengthAsInteger

str1=InputBox("请输入第一个字符串:

","info","exam")

length=Len(str1)

ReDimstr(length)‘重新调整数组大小,目的是为排序起作用

Fori=1Tolength

str(i)=Mid(str1,i,1)‘给该数组赋值,换句话说,让第一个字符串放入数组中

Next

Callsort(str,length)‘调用函数对第一个字符串排序

Print"第一个字符串排序后的结果:

"

Calldisp(str,length)‘调用函数显示第一个字符串排序后的结果

str2=InputBox("请输入第二个字符串:

","info","good")

str1=str1+str2

length=Len(str1)+Len(str2)

ReDimstr(length)‘重新调整数组大小,目的是为插入后字符串排序起作用

Fori=1Tolength

str(i)=Mid(str1,i,1)‘让第一个字符串和第二个字符串放入数组中

Next

Callsort(str,length)‘调用函数对插入后字符串排序

Print"插入第二个字符串后排序后的结果:

"

Calldisp(str,length)‘调用函数显示插入后字符串排序后的结果

EndSub

Subsort(str()AsString,lengthAsInteger)

Dimi%,j%,tAsString

Fori=1Tolength-1

Forj=i+1Tolength

Ifstr(i)>str(j)Then

t=str(i)

str(i)=str(j)

str(j)=t

EndIf

Next

Next

EndSub

Subdisp(str()AsString,lengthAsInteger)

Dimi%

Fori=1Tolength

Printstr(i);

Next

Print

EndSub

方法二:

OptionExplicit

OptionBase1

PrivateSubCommand1_Click()

Dimi%,str1AsString,str()AsString,str2AsString,strinsert()AsString,lengthAsInteger

Form1.Cls

str1=InputBox("请输入第一个字符串:

","info","exam")

length=Len(str1)

ReDimstr(length)

Fori=1Tolength

str(i)=Mid(str1,i,1)

Next

Callsort(str,length)

Print"第一个字符串排序后的结果:

"

Calldisp(str,length)

str2=InputBox("请输入第二个字符串:

","info","good")

length=Len(str1)+Len(str2)+1

ReDimstrinsert(length)

Fori=1ToLen(str1)

strinsert(i)=str(i)

Next

Fori=1ToLen(str2)

Callinsert(strinsert,Mid(str2,i,1),Len(str1)+i)‘调用函数,逐个字符插入

Next

Print"插入第二个字符串后排序后的结果:

"

Calldisp(strinsert,length-1)

EndSub

Subsort(str()AsString,lengthAsInteger)

Dimi%,j%,tAsString

Fori=1Tolength-1

Forj=i+1Tolength

Ifstr(i)>str(j)Then

t=str(i)

str(i)=str(j)

str(j)=t

EndIf

Next

Next

EndSub

Subdisp(str()AsString,lengthAsInteger)

Dimi%

Fori=1Tolength

Printstr(i);

Next

Print

EndSub

Subinsert(str()AsString,zmAsString,length%)

Dimi%,j%

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2