VB课后习题及部分答案_第1页
VB课后习题及部分答案_第2页
VB课后习题及部分答案_第3页
VB课后习题及部分答案_第4页
VB课后习题及部分答案_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

习题一

一、填空题

1.在VisualBasic的集成开发环境中有哪些常用的窗口。

2.VisualBasic有种工作模式,分别是。

3.刚启动VisualBasic时会出现新建工程窗口,选择默认选项后,进入VisualBasic集

成开发环境,新建的工程名称是,此时默认新建了一个窗体,窗体默认名称

是o

4.如何打开“立即“窗口:。“立即”窗

口有什么特点:。

5.工程资源管理器窗口上有一个小工具栏,上面的三个按钮分别用于、

和切换文件夹。在工程资源管理器中选定对象,单击____,即可在

窗体设计窗口中显示所要查看的窗体对象;单击____________,则会出现该对象的代码编辑

窗口。

二、选择题

1.VisualBasic中的窗体文件的扩展名是

As.regB、.frmC>.basD、.vbp

2.VisualBasic中的模块文件的扩展名是

A^.regB、.frmC、.basD、.vbp

3.VisualBasic中的工程文件的扩展名是

A>.regB>.frmC、.basD、.vbp

4.以下关于VisualBasic语言的说法中,正确的是

A、VisualBasic是一种面向过程的语言B、VisualBasic是一种面向对象语言

C、VisualBasic是一种低级语言D、VisualBasic是一种机器语言

5.与传统的程序设计语言相比,VisualBasic最突出的特点是

A、结构化程序设计B、程序开发环境

C、事件驱动编程机制D、程序调试技术

6.一个对象可以执行的动作和可被对象识别的动作分别称为

A、事件、方法B、方法、事件C、属性、方法D、过程、事件

7.下列不属于对象的基本特征的是

A、属性B、方法C、事件D、过程

三、程序设计题

1.设计一个程序,程序运行的初始界面如图1-36所示。当单击“显示”按钮时,在文

本框中显示“欢迎显示VB!”(图1-37);当单击“清除”按钮时,清除文本框内的文本;

当单击“退出”按钮时;结束程序运行。

鼠习题1-1

我的第一个VB程序

显不清除退出

图1-36第1题的程序运行初始界面

图1-37单击“显示”按钮后的程序界面

2.设计一个程序,程序运行的初始界面如图1-38所示,其中“显示”按钮为不可用。

同时要求:

(1)当单击“改变文字”按钮时,在左边标签文字内容改为“你好,张三!”,同时“改

变文字”按钮变为不可用(图1-39);

(2)当单击“隐藏”按钮时,将左边标签设为不可见,同时“隐藏”按钮变为不可用,

“显示”按钮变为可用(图1-40);

(3)当单击“显示”按钮时,重新显示左边标签,同时.“隐藏”按钮变为可用,“显示”

按钮变为不可用(图1-39)。

图1-38第1题的程序运行初始界面

图1-39单击“改变文字”按钮后的程序界面

图140单击“隐藏”按钮后的程序界面

习题二

一、填空题

1,表达式1and0的值____________»

2.13/3MOD5\7的值__________。

3.在程序中用到某一整型变量的数据范围为-5OOOO~5OOOO,则该变量类型应该

是。

4.设a=l,b=2,c=3,d=4,表达式a>bAndc<=dOr2*a>c的值是。

5.声明单精度常量PI代表3.14159的语句为。

6.X=2:Y=8:PrintX+Y=10的结果是。

7.VB表达式9A2MOD45\2*3的值____________。

8.表达式32\7MOD3A2的值是。

9.欲定义一个定长为10的字符串变量Mystr,可写成:。

10.设x=6,y=4,z=7,表达式x>yAndy>x-zOrx<yAndNot2*y>z的值是»

11.把条件为14x45写成VB表达式为:o

二、程序设计题

1.设计一个程序,运行时界面如图2-23所示。当单击“左”、“右”、“上”、“下”按钮时,

标签分别向左、右、上、下移动。

图2-23习题2-1程序运行时的界面

2.设计一个程序,在文本框中输入一个3位整数,单击按钮后,在标签上输出该数的百位

数、十位数和个位数,运行界面如图2-24所示。

图2-24习题2-2程序运行时的界面

3.设计个程序,实现简单计算的功能,运行界面如图2-25所示。

图2-25习题2-3程序运行时的界面

4.设计一个程序,单击“输入”按钮可弹出一个输入对话框,提示用户输入带区号的电话

号码,区号为4为,号码为8位,比如输入,然后将区号和电话号码在消

息对话框中显示出来,运行界面如图2-26所示。

图2-26习题24程序运行时的界面

习题三

一、阅读下列程序,写出运行结果。

程序1.

PrivateSubFormClickO

Forml.Cis

w=3

Fork=2To6Step2

Forml.Print〃后〃;w,〃k=〃;k

w=w+1

Nextk

Forml.Print〃w=";w,〃k二〃;k

EndSub

写出程序运行时单击窗体后,Forml上的输出结果。

程序2.

PrivateSubFormClick()

DimxAsString

DimiAsInteger,nAsInteger

Forml.Cis

x=〃ABCDEFGHKL〃

n=Len(x)

Fori=nTo1Step-2

Forml.PrintTab(20-i);Mid(x,i,1)

Nexti

EndSub

写出程序运行时单击窗体后,Forml上的输出结果。

程序3.

PrivateSubCommand1_Click()

n=0:x=1:y=0

DoWhilex<20

n=n+1

y=x+y

x=x*(x+1)

Loop

Textl.Text=〃n="&Str(n)

Text2.Text=〃x="&Str(x)

Text3.Text="y="&Str(y)

EndSub

程序运行时单击Command1后,分别写出文本框TextlText2和Text3的Text值。

程序4.

PrivateSubFormClickO

DimyAsInteger

Do

y=InputBox(〃y=〃)

If(yMod10)+Int(y/10)=10ThenPrinty

LoopUntily=0

EndSub

运行时,单击窗体后依次输入10、37、50、55、56、64、20、28、19、・19、0,写出

运行结果。

程序5.

PrivateSubForm_Click()

DimiAsInteger,nAsInteger

DoWhilei<32

i=(i+1)*(i+1)

n=n+1

Loop

Printn

EndSub

写出程序运行时单击窗体后,Forml上的输出结果。

程序6.

PrivateSubCommand1_ClickO

DimiAsInteger,nAsInteger

DimxAsString,cAsString

x=InputBox(〃x=〃)

n=Len(x)

IfnMod2=1Thenc=Mid(x,n\2+1,1)

Fori=1ToLen(x)\2

c=Mid(x,Len(x)+1-i,1)+c+Mid(x,i,1)

Nexti

x=c

Printx

EndSub

运行时,第一次单击Commandl后输入“abc”,写出运行结果。第二次单击Command1

后输入“abed”,写出运行结果。

程序7.

PrivateSubFormClickO

DimiAsInteger,jAsInteger

DimstarAsString

star=〃*〃

Fori=0To6

Forj=6-iTo6

Forml.Printstar;

Nextj

Forml.Print

Nexti

EndSub

写出程序运行时单击窗体后,Forml上的输出结果。

程序8.

PrivateSubForm_Click()

Fori=1To7

PrintSpc(7-i);

Ifi=1Then

Print〃*〃

Else

Print〃*〃;Spc(2*(i-1)-D;〃*〃

EndIf

Nexti

EndSub

写出程序运行时单击窗体后,Forml上的输出结果。

程序9.

PrivateSubForm_Click()

Dimstrl,str2AsString

DimsAsString

DimiAsInteger

strl="abcdefghijk〃

Fori=Len(strl)To1Step-2

str2=str2&Mid(strl,i,1)

Nexti

Printstr2

EndSub

写出程序运行时单击窗体后,Forml上的输出结果。

程序10.

PrivateSubForm_Click()

DimkAsInteger,sAsInteger,jAsInteger

Forml.Cis

Fork=1To5

s=0

Forj=kTo5

s=s+1

Nextj

Nextk

Print〃s=〃;s

EndSub

写出程序运行时单击窗体后,Forml上的输出结果。

二、程序填空

1.【程序说明】

从键盘上输入若干个学生的考试分数,当输入负数时结束输入,然后输出其中的最高分

数和最低分数。

PrivateSubForm_Click()

DimiAsInteger,iMaxAsInteger,iMinAsInteger

i=InputBox(〃输入一个成绩:”)

iMax=i

iMin=i

DoWhile⑴

Ifi>iMaxThen

iMax=i

Elself⑵Then

iMin=i

EndIf

i=InputBox("输入一个成绩:〃)

Loop

Print〃最高成绩:〃;iMax,〃最低成绩:〃;iMin

EndSub

2.【程序说明】

山输入对话框输入n(设n为大于零且小于30的自然数),计算下列表达式的值,并在标

签框Label1上显示。

1111

----1-----1.......d

1x22x33x4...."x(〃+l)

【程序】

PrivateSubForm_Click()

DimnAsInteger,sumAsDouble,kAsInteger

n=Vai(InputBox("n=","请输入自然数n(n>0且n<30)”))

Do⑴

n=Vai(InputBox(〃n=〃,〃请重输〃))

Loop

sum=0

Do

k=k+1

sum=(3j

LoopUntilk>=n

Label1.Caption="sum=〃+Str(sum)

EndSub

3.【程序说明】

本程序用于处理文本框Textl.Text中的内容,假设文本框中有偶数个字符。要求将文本

框中的内容从头尾至中间依次各取字符,组成一个新的字符串Str2,并在窗体上输出。

例如:Textl.Text="123456781',贝ijStr2=n182736451,

【程序】

PrivateSubFormClick()

DimStrlAsString,Str2AsString

Strl=Textl.Text

Str2=〃〃

m=0

Do(1)

Str2=Str2+(2)

Str2=Str2+(3)

m=m+1

Loop

Forml.PrintStr2

EndSub

4.【程序说明】

本程序求3-100之间的所有素数(质数)并统计个数;素数的个数显示在窗体Forml

上。

【程序】

PrivateSubCommandl_Click()

DimcountAsInteger,flagAsBoolean

Dimt1AsInteger,t2AsInteger

count=0

Fortl=3To100

flag=True

Fort2=2ToInt(Sqr(tl))

If(1)Thenflag=False

Nextt2

count=count+1

EndIf

Nexttl

(3)

EndSub

5.【程序说明】

计算1----1-------1---------的值并打印出来。

2399100

【程序】

PrivateSubForm_Click()

DimiAsInteger

DimkAsSingle

DimpAsInteger

DimsAsSingle

s=0

Fori=(2j

k=p/i

s=s+k

Nexti

Forml.Print〃s二〃;s

EndSub

三、程序设计

1.用输入对话框输入X,根据下式计算对应的y,并在窗体上输出y的值。

4+sinxx>10

y=<0x=10

2X3+6X<10

2.随机产生n个两位正整数(n由输入对话框输入,且n>0),求出其中的偶数之和,

并在标签框LabelI上显示。

3.编写过程CommandLClick,用InputBox函数输入100个学生的成绩,统计后依次用

标签控件1^^11-1^^13显示优秀(85-100)、通过(60-84)和未通过(小于60)的人数。

4.编制事件程序Commandl_Click,执行该过程时输入n,并计算下列表达式的值,然

后将计算结果在文本框控控件Textl中显示。

।234n

1H-------1---------1------+・•._|-----------------------------------

3x44x55x6(〃+1)x(〃+2)

5.打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该

数。例如,153是一水仙花数,因为153=F+53+33.

6.编程求出所有小于或等于100的自然数对。自然数对是指两个自然数的和与差都是

平方数。如数对10与26的和36、差16都是平方数,则10与26是自然数对。

7.搬砖问题:三十六块砖三十六人搬,男搬四,女搬三,两个小儿抬一砖,要求一次

全搬完,问需男、女、小儿各若干?

8.用二=1+」7+1+…+3近似公式求乃值,当」7<10-5时不再累加。

6I22232〃2*

9.用近似公式eal+L+-L+_L+…+-L求自然对数的底e的值。直到,<10-5为

1!2!3!n\n\

止。

10.求S的值。S=l+(l+2)+(l+2+3)+…+Q+2+3+4+…+N)(令N=50)

11.一个两位数的正整数,如果将其个位数与十位数对调所生成的数称为对调数,如28

是82的对调数。现给定一个两位的正整数,请找到另一个两位的正整数,使这两个数之和

等于它们各自的对调数之和,如56+32=65+23。

习题四

一、阅读下列程序,写出运行结果。

程序1

PrivateSubCommandl_Click()

DimiAsInteger,jAsInteger

Dima(10,10)AsInteger

Fori=1To3

Forj=1To3

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

Printa(i,j);

Nextj

Print

Nexti

EndSub

写出程序运行后,单击命令按钮,窗体上显示的结果。

程序2

PrivateSubCommand1Click()

DimmAsInteger,nAsInteger

Dima(3,3)AsInteger

Form=1To3

Forn=1To3

a(m,n)=(m-1)*3+n

Nextn

Nextm

Form=2To3

Forn=1To2

Printa(n,m);

Nextn

Nextm

EndSub

写出程序运行后,单击命令按钮,窗体上显示的结果。

程序3

PrivateSubFormClick()

Dimx(5)AsInteger

x(l)=8:x(2)=3:x(3)=1:x(4)=6:x(5)=4

Fori=1To4

Forj=i+1To5

Ifx(i)<x(j)Thent=x(i):x(i)=x(j):x(j)=t

Nextj,i

Fork=1To5

Forml.Print〃x(〃;k;〃)=〃;x(k)

Nextk

EndSub

写出程序运行时单击窗体后,Forml上的输出结果。

程序4

PrivateSubForm_Click()

Dima(2,3)AsInteger

Fori=1To2

Forj=1To3

a(i,j)=2*i-j

Nextj,i

Forh=1To3

Fork=1To2

Forml.Printa(k,h),

Nextk

Print

Nexth

EndSub

写出程序运行时单击窗体后,Forml上的输出结果。

二、程序设计

1.输入10个数给x数组,找出其中值为最大的元素并将其与第一个元素互换,找出值

最小的元素并将其与最后一个元素互换,其他元素不动。如

原来:8,7,9,15,0,3,-8,19,31,5

输出:31,7,9,15,0,3,5,19,8,-8

2.编写事件过程Commandl_Click,完成下列运算:

1)输入10个数到整型数组a;

2)将a(l)各位数字和赋值到b(l)、a(2)各位数字和赋值到b(2)、…、a(10)各位数字和赋

值到b(10);

3)在窗体上以一行输出a数组各元素值(保持原输入值不变);

4)在窗体上以一行输出b数组各元素值。

3.利用随机函数产生30个不同的三位正整数,打印出这30个数,然后将它们按从大

到小的次序排序,并打印出排序后的结果。

4.输入n后,再输入n个数al,a2,…,an,按照下列公式计算s的值并显示。

习题五

一、阅读下列程序,写出运行结果。

程序1.

PrivateSubForm_click()

Dimm%,n%

m=5

n=3

PrintnFac(m)/(nFac(n)*nFac(m-n))

EndSub

FunctionnFac#(ByValn%)

Dimi%,t#

t=1

Fori=1Ton

t=t*i

Nexti

nFac=t

EndFunction

写出程序运行时单击窗体后,Forml上的输出结果。

程序2.

PublicSubfl(n%,byvalm%)

n=nmod10

m=m\10

EndSub

PrivateSubForm_Click()

Dimx%,y%

x=12

y=34

Callfl(x,y)

Printx,y

EndSub

写出程序运行时单击窗体后,Forml上的输出结果。

程序3.

PrivateSubCommandl_Click()

Printpl(3,7)

Endsub

PublicFunctionpl!(x!,n%)

Ifn=0then

Pl=l

Else

Ifnmod2=1then

Pl=x*pl(x,n\2)

Else

Pl=pl(x,n\2)\x

Endif

Endif

Endfunction

写出程序运行时单击Command1后,Forml上的输出结果。

程序4.

dima%,b%,c%

PublicSubpl(x%,y%)

Dimc%

x=2*x:y=y+2:c=x+y

EndSub

PublicSubp2(x%,byvaly%)

Dimc%

x=2*x:y=y+2:c=x+y

EndSub

PrivateSubCommandl_Click()

a=2:b=4:c=6

Callpl(a,b)

Print"a=";a;"b=";b;"c=”;c

Callp2(a,b)

Print"a=";a;"b=";b;"c=";c

EndSub

写出程序运行时单击Commandl后,Forml上的输出结果。

程序5.

PublicSubproc(a%())

Static1%

Do

a(i)=a(i)+a(I+l)

1=1+1

LoopWhileI<2

EndSub

PrivateSubCommandl_Click()

Dimm%,I%,x%(10)

Fori=0to4:x(i)=I+l:nextI

Fori=lto2:callproc(x):nextI

Fori=0to4:printx(i);:nextI

EndSub

写出程序运行时单击Command1后,Form1上的输出结果。

程序6.

PublicFunctionf(m%,n%)

Dowhilemon

Dowhilem>n:m=m-n:loop

Dowhilen>m:n=n-m:loop

Loop

f=m

Endfunction

PrivateSubCommand1_Click()

Printf(24,18)

EndSub

写出程序运行时单击Command1后,Forml上的输出结果。

二、程序填空

1.【程序说明】

Guess过程是猜数游戏,由计算机产生•个[1,100]的任意整数,输入猜数后计算机给

出提示,如果5次后还没有猜中就结束游戏并公布正确答案。

【程序】

PrivateSubGuess()

DimR%,X%,times%

Randomize

R=Inl(Rnd*100)+1,产生一个[1,100]的任意整数

times=1

Do

X=ValQnputBox("输入猜数X"))

SelectCaseG)

CaseR

Forml.Print”猜中了”

ExitDo

Case(2)

Forml.Print”太大了,继续猜!”

CaseElse

Form1.Print”太小了,继续猜!”

EndSelect

times=times+1

LoopWhile(3)

Iftimes>5Then

Forml.Print”猜数失败,游戏结束广

Forml.Print”正确答案为“&Str(X)

EndIf

EndSub

2.【程序说明】

如果一个整数的所有因子之和与自身相等,则称该数为完数。例如:6=1+2+3,所以6

是一个完数。以下程序输出1000之内的完数。

【程序】

FunctionIsWs(m%)AsBoolean

Dimi%,t%

Fori=1To⑵

IfmModi=0Thent=t+i

Nexti

If⑶Then

IsWs=True

Else

IsWs=False

EndIf

EndFunction

PrivateSubForm_Click()

Dimi%

Fori=1To1000

IfG)ThenPrinti

Nexti

EndSub

3.【程序说明】

如下过程找出1〜1000之间所有的同构数,所谓同构数是指一个数出现在它的平方数的

右端。如25在25平方625的右端,则25为同构数。

【程序】

PrivateFunctionsame(n%)AsBoolean

Dimi%,xl$,x2$

x1=Trim(str(n))

x2=(1)

If(2)Thensame=True

EndFunction

'主调过程

PrivateSubForm_Click()

Dimi%»n%

Fori=1To1000

If⑶ThenPrinti;”是同构数”

Nexti

EndSub

4.【程序说明】

如下HtoD(Hex,Dec)过程实现将卜六进制整数Hex转换为十进制整数Dec。

【程序】

PrivateSubHtoD(Hex$,Dec#)

Dimtemp$,i%,n%

n=_(1)_____

i=0

Do

temp=(2)

Dec=Dec+number(temp)*16Ai

i=i+1

LoopWhilei<n

EndSub

Function^3)(str$)AsInteger

SelectCasestr

Case

number=10

CaseMb",nBn

number=11

Case”c",

number=12

Case

number=13

Case"e",

number=14

CasenFn

number=15

CaseElse

number=(4)

EndSelect

EndFunction

'主调过程

PrivateSubForm_Click()

Dimh$,d#

h=InputBox("输入一个十六进制整数”)

Printh+”转换为十进制数为"+str(d)

EndSub

5.【程序说明】

两质数的差为2,称此对质数为质数对,下面程序找100之内的质数对,并成对显示结果.

其中isp函数判断参数m是否是质数。

【程序】

PublicFunctionisp(m)asBoolean

Dimi%

(1)

Fori=2toInt(Sqr(m))

If(2)Thenisp=false

NextI

EndFunction

PrivateSubCommand1_Click()

DimI

pl=isp(3)

Fori=5to100step2

p2=isp(i)

If(3)ThenPrint1-2,1

pl(4)

Nexti

EndSub

6.【程序说明】

子过程Movestr()是把字符数组移动m个位置,当tag为true左移,则前m个字符移到字

符数组尾,如:“abcdefgh『左移3个位置后为:“defghijabc”当Tag为false右移,则后m个字

符移到字符数组前。

【程序】

PublicSubmovestr(a$(),m%,tagasBoolean)

Dim

If⑴Then

Fori=ltom

Forj=0to(32

a(j)=a(j+l)

Nextj

(4)

Nexti

Else

Fori=ltom

Forj=Ubound(a)to(6)

a(j)=a(j-l)

Nextj

Endif

EndSub

三、程序设计

1.编一子过程DtoB(Dec,Bin),实现将一个十进制正整数Dec转换成为一个二进制数

Bin。

2.编一求素数的函数过程Prime(x),若x是素数返回True,否则返回False。主调程

序调用Prime(x)函数输出100之内的所有素数。

3.编一过程Find(Sl,S2),用于在字符串S1中查找子串S2,并用消息框输出结果:未

找到或找到的个数。(提示:利用Mid函数反复在字符串S1找S2子串。)

4.编一过程Upper(Sl,S2),实现将源字符串S1词首字母大写后得到目标字符串S2,

其中以空格作为单词的界定。例如:输入“iamateacher.",输出为"IAmATeacher.

习题六

一、阅读下列程序,写出运行结果。

程序1.

写出程序运行后窗体上显示的结果。

DimxAsInteger

PrivateSubFormLoad()

Timerl.Interval=1000:Timerl.Enabled=True

EndSub

PrivateSubTimerl_Timer()

Callsubl(x)

x=x+1

Ifx>=5ThenTimerl.Enabled=False

EndSub

PublicSubsubl(nAsInteger)

n=n+1

Print〃n=〃;n

EndSub

程序2.

请写出在Textl、Text2中输入48、72后,单击Commandl时窗体上的显示结果。

PrivateSubCommand1_Click()

DimaAsLong,bAsLong,rAsLong

a=Textl.Text:b=Text2.Text

DoWhileb<>0

r=aModb:a=b:b=r

Loop

Printa

EndSub

程序3.

请写出在文本框中输入“321”(3个字符)并按回车键后标签控件上的显示结果。

PrivateSubTextlKeyPress(KeyAsciiAsInteger)

DimaAsString*1,bAsString,nAsByte,iAsInteger

IfKeyAscii=13Then

b=Textl.Text:n=Len(b)

Fori=1Ton\2

a=Left(b,1)

b=Right(b,n-1)+a

Label1.Caption=Label1.Caption+b+vbCrLf

Nexti

EndIf

EndSub

程序4.

请写出在文本框中输入“ABCD”(4个字符)并按下回车键后,窗体上显示的结果。

PrivateSubTextl_Change()

PrintTextl.Text

EndSub

程序5.

写出程序运行后窗体上显示的结果。

OptionBase1

PrivateSubCommand1Click()

Dima,b(3,3)

a=Array(1,2,3,4,5,6,7,8,9)

Fori=1To3

Forj=1To3

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

If(j>=i)ThenPrintTab(j*3);b(i,j);

Nextj

Print

Nexti

EndSub

程序6.

已知水平滚动条HScrolll的有关属性已经在属性窗口进行了如卜.的设置:

HScrolll.Min:1HScrolll.Max:10HScrolll.SmallChange:1

HScrolll.LargeChange:2HScrolll.Value:5

写出连续3次单击水平滚动条HScrolll右端箭头后,窗体上显示的结果。

PrivateSubHScrol1l_Change()

StaticyAsInteger

IfHScrolll.ValueMod2=0Then

y=y+HScrolll.Value

Print〃y=〃;y

EndIf

EndSub

二、程序填空

1.【程序说明】

下面程序是在用户按了Enter后将一个组合框(Cbo)中没有的项目添加到组合框中。

【程序】

SubCboKeypress(KeyasciiAsInteger)

DimflagasBoolean

IfKeyascii=13then

Flag=False

Fori=0toCbo.ListCount-1

If(1)Then

Flag=True

ExitFor

EndIf

Next

If⑵Then

Else

Msgbox("组合框中已有该项目”)

Endif

Endif

Endsub

2.【程序说明】

在一维数组中利用移位的方法显示如图结果。

.For>l均回冈

1234567

7123456

6712345

5671234

4567123

3456712

2345671

1234567

【程序】

PrivateSubForm_click()

Dima(lTo7)

Fori=1To7

a(i)=i

Printa(i);

Nexti

Print

Fori=1To7

T二⑴

Forj=6to1(2)

(3)

Nextj

a(l)=T

Forj=1To7

Printa(j);

Nextj

Print

Nexti

EndSub

3.【程序说明】

以下程序可以将列表框中同时选中的多个列表项删除,请将程序补充完整。

【程序】

PrivateSubcmdDel_Click()

i=0

DoWhilei<G)

IfListl.Selected(i)=TrueThen

(2)

Else

EndIf

Loop

EndSub

4.【程序说明】

利用1个定时器、1个标签和2个命令按钮制作一个动态秒表。

各控件名称取缺省值,控件Commandl、Command2标题分别为“开始”、“结束”。运行时,

单击“开始”按钮后秒表开始计时,并在标签上显示总秒数;单击“结束”按钮后,计时结

束,在窗体上显示出运行的时间(折算成小时、分钟和秒数)。

【程序】

DimxAsLong

PrivateSubForm_Load()

Timerl.Interval=1000:Timerl.Enabled=False

EndSub

PrivateSubCommand1_C1ick()

Cis

x=0

EndSub

PrivateSubCommand2_Click()

DimhAsInteger,mAsInteger,sAsInteger

Timerl.Enabled=False

h=⑵

m=_______(3)______

s=xMod3600Mod60

Print〃运行了〃+Str(h)+〃小时〃+Str(m)+〃分〃+Str(s)+〃秒〃

EndSub

PrivateSubTimerl_Timer()

Label1.Caption=x

EndSub

三、程序设计

1.设计一个字体修饰的程序,界面如图所示。要求:框架1中有一个复选框数组,可以

选择粗体和斜体对标签中的文字进行修饰;框架2中有个单选钮数组,可以选择宋体或楷

体对标签中的文字进行修饰;标签Labell的文字内容为"VisualBasic程序设计”,宋体,

常规,三号;文字对齐方式为居中。

程序设计题1的界面

2.设计一个点菜的程序,界面如图所示。要求:框架中的复选框是控件数组,提供可

选择的三种套餐,右边的文本框数组中可以输入数量;输入时文本框只接受数字键;并且只

有选取了相应的套餐后才可以进行输入;如果没有选取套餐,那么文本框不能编辑并清空;

单击“确定”按钮,统计点餐的金额,并用消息框显示出来;

程序设计题2的界面

3.利用组合框对文本的字体和大小进行设置,界面如图所示。要求:左边一个简单组

合框,项目内容为“宋体”,“黑体”和“楷体_gb2312”;右边一个简单组合框,对文本框的

文字大小进行设置;字号从12号到72号;文本框中文字为“心想事成”。

・字体设置

程序设计题3的界面

4.编制1个用于进制转换的应用程序,运行时的界面如图所示。

程序设计题4的界面

5.编程,建立1个文本框用于输入口令(显示为“*”,按回车键作为结束)、1个命令

按钮(标题为“进入运行时,“进入”按钮不能响应,直到输入的口令正确时才响应。

输入口令时,有相应的提示信息。当单击“进入”按钮时,在窗体上显示“欢迎进入!

6.设计一个拨号盘的程序。界面如图所示。要求:命令按钮数组构成数字键,单击数

字键按钮,将拨号的内容显示在文本框Textl中;单击“重拨”按钮,再现原来的拨号过程;

(提示:再现过程山定时器实现)定时器的时间间隔为0.5秒;设置文本框最多接受10

个字符。

彳拨号盘

23

一_

56

_

89

।_

B=拨

-

程序设计题6的界面

习题九

温馨提示

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

评论

0/150

提交评论