VB书后习题解答苏大出版社.docx

上传人:b****6 文档编号:6532631 上传时间:2023-01-07 格式:DOCX 页数:16 大小:123.94KB
下载 相关 举报
VB书后习题解答苏大出版社.docx_第1页
第1页 / 共16页
VB书后习题解答苏大出版社.docx_第2页
第2页 / 共16页
VB书后习题解答苏大出版社.docx_第3页
第3页 / 共16页
VB书后习题解答苏大出版社.docx_第4页
第4页 / 共16页
VB书后习题解答苏大出版社.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

VB书后习题解答苏大出版社.docx

《VB书后习题解答苏大出版社.docx》由会员分享,可在线阅读,更多相关《VB书后习题解答苏大出版社.docx(16页珍藏版)》请在冰豆网上搜索。

VB书后习题解答苏大出版社.docx

VB书后习题解答苏大出版社

 

第五章选择分支与循环

1.阅读程序,写出执行结果。

(1)655

(2)

运行结果为:

DDEF

EDDEF

FEDDEF

(3)

运行结果为:

65

(4)

运行结果为:

11108

2.编写程序,随机生成100个两位整数,并统计出其中小于等于40、大于40且小于等于70及大于70的数据个数。

答:

程序代码如下:

OptionExplicit

PrivateSubForm_Click()

DimiAsInteger,xAsInteger

Dimc1AsInteger,c2AsInteger,c3AsInteger

Fori=1To100

x=Int(Rnd*90)+10

Printx;

IfiMod10=0ThenPrint

Ifx<=40Then

c1=c1+1

ElseIfx<=70Then

c2=c2+1

Else

c3=c3+1

EndIf

Nexti

Print

Print"<=40的数有:

",c1

Print">40且<=70的数有:

",c2

Print">70的数有:

",c3

EndSub

X≤0

0

2

x>5

3.编写程序,求下面函数的值。

OptionExplicit

PrivateSubCommand1_Click()

Text1.Text=""

Text2.Text=""

Text1.SetFocus

EndSub

PrivateSubCommand2_Click()

DimxAsInteger

x=Val(Text1.Text)

SelectCasex

CaseIs>5

Text2.Text=CStr(25-x)

CaseIs>2

Text2.Text=CStr(x^2)

CaseIs>0

Text2.Text=CStr(x+2)

CaseElse

Text2.Text=CStr(2-x)

EndSelect

EndSub

4.随机生成20个三位正整数,将其中的奇数和偶数分两行显示在窗体上。

答:

程序代码如下:

OptionExplicit

OptionBase1

PrivateSubForm_Click()

Dima(20)AsInteger,iAsInteger

Print"生成的20个数如下:

"

Fori=1To20

a(i)=Int(Rnd*900)+100

Printa(i);

IfiMod10=0ThenPrint

Nexti

Fori=1To20

Ifa(i)Mod2=0ThenList2.AddItema(i)

Nexti

Fori=1To20

Ifa(i)Mod2=1ThenList1.AddItema(i)

Nexti

Print

EndSub

5.

PrivateSubCommand1_Click()

x=Val(Text1.Text)

y=Val(Text2.Text)

Fori=xTox*y

IfiModx=0AndiMody=0Then

Text3.Text=CStr(i)

ExitFor

EndIf

Nexti

EndSub

 

第六章数组

1.

679

258

134

2.一维数组对调

OptionExplicit

OptionBase1

Dima(15)AsInteger

PrivateSubCommand1_Click()

DimiAsInteger

Randomize

Fori=1To15

a(i)=Int(Rnd*100)+1

Text1.Text=Text1.Text+Format(a(i),"00")+Space

(2)

Nexti

EndSub

PrivateSubCommand2_Click()

DimiAsInteger,tAsInteger

Fori=1ToUBound(a)/2

t=a(i)

a(i)=a(UBound(a)+1-i)

a(UBound(a)-i+1)=t

Nexti

Fori=1To15

Text2.Text=Text2.Text+Format(a(i),"00")+Space

(2)

Nexti

EndSub

PrivateSubCommand3_Click()

Text1.Text="":

Text2.Text="":

Text1.SetFocus

EndSub

PrivateSubCommand4_Click()

UnloadMe

EndSub

5.求二维数组的行和与列和

OptionExplicit

OptionBase1

Dima(4,5)AsInteger

DimSumLAsInteger,SumCAsInteger

PrivateSubCmdArry_Click()

DimIAsInteger,JAsInteger

Randomize

ForI=1To4

ForJ=1To5

a(I,J)=Int(Rnd*9)+1

Picture1.Printa(I,J);

NextJ

Picture1.Print

NextI

EndSub

PrivateSubCmdClear_Click()

Picture1.Cls:

Text1.Text="":

Text2.Text=""

EndSub

PrivateSubCmdColumn_Click()

DimIAsInteger,JAsInteger

ForJ=1To5

SumC=0

ForI=1To4

SumC=SumC+a(I,J)

NextI

Text2.Text=Text2.Text&SumC&""

NextJ

EndSub

PrivateSubCmdExitCmdClear_Click()

UnloadMe

EndSub

PrivateSubCmdLine_Click()

DimIAsInteger,JAsInteger

ForI=1To4

SumL=0

ForJ=1To5

SumL=SumL+a(I,J)

NextJ

Text1.Text=Text1.Text&SumL&Chr(13)&Chr(10)

NextI

EndSub

8.二维数组元素之和

OptionExplicit

Dima(5,5)AsInteger,IAsInteger,JAsInteger

Dims1,s2,s3AsInteger

PrivateSubCommand1_Click()

Picture1.Print"生成数组元素:

"

Randomize

ForI=0To4

ForJ=0To4

a(I,J)=Int(Rnd*90)+10

Picture1.PrintRight(""&a(I,J),3);

NextJ

Picture1.Print

NextI

EndSub

PrivateSubCommand2_Click()

s1=0:

s2=0:

s3=0

ForI=0To4

ForJ=0To4

s1=s1+a(I,J)

IfI=0OrJ=0OrI=4OrJ=4Thens2=s2+a(I,J)

IfI=JOrI+J=4Thens3=s3+a(I,J)

NextI

NextJ

Text1=s1:

Text2=s2:

Text3=s3

EndSub

PrivateSubCommand3_Click()

Picture1.Cls:

Text1="":

Text2="":

Text3=""

EndSub

PrivateSubCommand4_Click()

UnloadMe

EndSub

10.杨辉三角形

OptionExplicit

PrivateSubForm_click()

Dima()AsInteger,NAsInteger

DimmAsInteger,iAsInteger,jAsInteger

DimqAsString

N=InputBox("请输入N=?

")

q=Space(2*N+2)

PrintLeft(q,2*N-4)+"<杨辉三角形>"

ReDima(N,N)

Form=1ToN

a(m,m)=1:

a(m,1)=1

Nextm

Fori=3ToN

Forj=2Toi-1

a(i,j)=a(i-1,j-1)+a(i-1,j)

Nextj

Nexti

Fori=1ToN

Forj=1Toi

Ifj=1Then

PrintRight(q,2*N-2*i)&Right(Space(4)&a(i,j),4);

Else

PrintRight(Space(4)&a(i,j),4);

EndIf

Nextj

Print

Nexti

EndSub

 

第七章过程

1.在过程中声明的局部变量和在过程中声明的静态变量有什么不同?

答:

局部变量离开过程后,该变量的值就消失,而静态变量离开过程后,该变量的值不消失,下次调用时该变量保留上一次的值。

2.在VB程序中调用程序向过程传递数据有哪几种方式?

它们之间有什么不同?

答:

在VB程序中调用程序向过程传递数据有两种:

按值传递与按地址传递。

按值传递是指调用时将实参的值复制给形参,形参的值改变与实参没有任何关系;按地址传递是指调用时实参与形参共用同一个存储单元,形参的值发生变化实参的值也发生变化,实参的值发生变化,形参的值也发生变化。

4.

(1)输出结果为:

BASIC

(2)输出结果为:

626

262

-298

(3)输出结果为:

23

47

(4)输出结果为:

108

12-10

52

12-10

10.

OptionExplicit

OptionBase1

DimA(5,5)AsInteger

PrivateSubCommand1_Click()

DimIAsInteger,JAsInteger

ForI=1To5

ForJ=1To5

A(I,J)=Int(Rnd*90)+10

Picture1.PrintA(I,J);

NextJ

Picture1.Print

NextI

Text1.Text=""

EndSub

PrivateSubCommand2_Click()

DimIAsInteger,JAsInteger,n1AsInteger,n2AsInteger,MaxAsInteger

Text1.Text=""

n1=1:

n2=1

Max=A(n1,n2)

ForI=1To5

ForJ=1To5

IfMax

Max=A(I,J):

n1=I:

n2=J

EndIf

NextJ

NextI

Text1.Text="A("&n1&","&n2&")="&A(n1,n2)

EndSub

PrivateSubCommand3_Click()

Text1.Text="":

Picture1.Cls

EndSub

PrivateSubCommand4_Click()

UnloadMe

EndSub

11.

OptionExplicit

PrivateSubCommand1_Click()

DimNAsInteger,IAsInteger,A()AsInteger

Text2.Text=""

N=Val(Text1.Text)

ReDimA(N)

ForI=1ToN

A(I)=Fab(I)

Text2.Text=Text2.Text+Str(A(I))

NextI

EndSub

PrivateFunctionFab(MAsInteger)AsInteger

IfM=1OrM=2Then

Fab=1

Else

Fab=Fab(M-2)+Fab(M-1)

EndIf

EndFunction

PrivateSubCommand2_Click()

UnloadMe

EndSub

 

第8章习题解答

1、向一个顺序文件写数据时,可以用Output或Append两种方式打开顺序文件。

二者在执行写操作时有何不同?

以Output方式打开文件,文件中的原来内容被覆盖;而以Append方式打开文件,写入的数据添加到文件的末尾。

3、在D盘根目录上用记事本程序建立一个名为Data.txt的数据文件,数据文件内容为以下数据:

37,45,23,84,79,32,66,54,72,19

编写程序,从文件中读取上述数据,从小到大排序,再将排好序的数据写入新的文件Data1.txt中。

(要求读取的数据和排序结果用文本框显示)

程序代码:

Dimaa(1To10)

PrivateSubCommand1_Click()

OpenApp.Path+"\data.txt"ForInputAs#1

Fori=1To10

Input#1,x

aa(i)=x

Text1.Text=Text1.Text&aa(i)&""

Nexti

Close#1

EndSub

PrivateSubCommand2_Click()

Fori=1To10

Forj=1To10-i

Ifaa(j)>aa(j+1)Then

t=aa(j)

aa(j)=aa(j+1)

aa(j+1)=t

EndIf

Nextj

Nexti

Fori=1To10

Text2.Text=Text2.Text&aa(i)&""

c=Text2.Text

Nexti

EndSub

PrivateSubCommand3_Click()

OpenApp.Path+"\data1.txt"ForOutputAs#2

Print#2,c

Close#2

EndSub

界面:

4、有一个名为“Score”的文本文件,每行记录一个学生的考试成绩,数据排列方式是:

学号,姓名,英语成绩,数学成绩,计算机成绩。

要求编写程序,实现在每个数据行后面添加该学生的总分和平均成绩两个数据项。

程序:

DimkAsInteger,xh()AsString*2,xm()AsString*3,ecj()AsInteger

Dimmcj()AsInteger,ccj()AsInteger,sum()AsInteger,ave()AsInteger

PrivateSubForm_Click()

OpenApp.Path+"\score1.txt"ForOutputAs10#

Fori=1Tok-1

Write#10,xh(i),xm(i),ecj(i),mcj(i),ccj(i),ecj(i)+mcj(i)+ccj(i),(ecj(i)+mcj(i)+ccj(i))/3

Nexti

Close10

KillApp.Path+"\score.txt"

NameApp.Path+"\score1.txt"AsApp.Path+"\score.txt"

EndSub

PrivateSubForm_Load()

OpenApp.Path+"\score.txt"ForInputAs#1

k=1

DoWhileNotEOF

(1)

ReDimPreservexh(k),xm(k),ecj(k),mcj(k),ccj(k)

Input#1,xh(k),xm(k),ecj(k),mcj(k),ccj(k)

k=k+1

Loop

Close1

EndSub

第10章习题解答

1、组合框控件和列表框控件相比,在使用上有何特点?

列表框控件(ListBox)用于显示项目列表,用户可从中选择一个或多个项目。

如果项目总数超过了可显示的项目数,VB会自动加上滚动条。

列表框有两种风格:

标准和复选列表框。

通过它的Style属性来设置

组合框控件(ComboBox)将文本框和列表框的功能结合在一起,用户可以在列表中选择某项(只能选取一项)。

或在编辑区域中直接输入文本内容来选定项目。

组合框共三种风格:

下拉式组合框、简单组合框和下拉式列表框。

2、滚动条控件的主要应用是什么?

模仿例10-1,编写一个数量指示器程序,数量的变化范围是0~100,在文本框中显示数量值。

在项目列表很长或者信息量很大时,可以使用滚动条提供简便的定位,也可用来作为渐变数据的输入工具,或数量、速度的指示器。

程序清单:

PrivateSubHScroll1_Scroll()

Text1.Text=HScroll1.Value

EndSub

PrivateSubVScroll1_Change()

Text1.Text=VScroll1.Value

EndSub

界面:

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

当前位置:首页 > 表格模板 > 合同协议

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

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