完整版VB练习题上机含答案推荐文档.docx

上传人:b****2 文档编号:1070116 上传时间:2023-04-30 格式:DOCX 页数:39 大小:547.39KB
下载 相关 举报
完整版VB练习题上机含答案推荐文档.docx_第1页
第1页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第2页
第2页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第3页
第3页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第4页
第4页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第5页
第5页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第6页
第6页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第7页
第7页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第8页
第8页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第9页
第9页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第10页
第10页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第11页
第11页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第12页
第12页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第13页
第13页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第14页
第14页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第15页
第15页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第16页
第16页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第17页
第17页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第18页
第18页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第19页
第19页 / 共39页
完整版VB练习题上机含答案推荐文档.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

完整版VB练习题上机含答案推荐文档.docx

《完整版VB练习题上机含答案推荐文档.docx》由会员分享,可在线阅读,更多相关《完整版VB练习题上机含答案推荐文档.docx(39页珍藏版)》请在冰点文库上搜索。

完整版VB练习题上机含答案推荐文档.docx

完整版VB练习题上机含答案推荐文档

第一部分

1在窗体上添加一个命令按钮(名称为Cmd1,标题为"输出平均值")。

程序运行后,单击命令按钮完成以下工作:

①随机产生20个0到1000的整数,将其放入一个一维数组中

②求出所有元素的平均值,并显示在窗体上(如下图所示)

PrivateSubCmd1_Click()

Dima%(19),i%,sum!

aver!

Randomize

Fori=0To19

a(i)=Int(Rnd*1001)

sum=sum+a(i)

Nexti

aver=sum/20

Printaver

EndSub

2请在名称为Form1的窗体上添加一个名称为Text1的文本框和一个名称为C1、标题为"转换"的命令按钮,如下图所示。

在程序运行时,单击"转换"按钮,可以把Text1中的小写字母转换为大写,把大写字母转换为小写,其他字符不变。

PrivateSubC1_Click()

DimchAsString,ch1AsString,i%

ch=Text1

Fori=1ToLen(ch)

IfAsc(Mid(ch,i,1))>=65AndAsc(Mid(ch,i,1))<=90Then

ch1=ch1+LCase(Mid(ch,i,1))

Else

ch1=ch1+UCase(Mid(ch,i,1))

EndIf

Nexti

Text1=Text1+vbCrLf

Text1=Text1+ch1

EndSub

3在窗体上添加一个命令按钮(名称为MyCmd1,标题为"输出最大值")。

程序运行后,单击命令按钮完成以下工作:

①随机产生30个0~1000的整数,将其放入一个一维数组中

②求出其中的最大值,并显示在窗体上。

PrivateSubMyCmd1_Click()

Dima%(29),i%,max%

Randomize

Fori=0To29

a(i)=Int(Rnd*1001)

Nexti

max=a(0)

Fori=1To29

Ifa(i)>maxThenmax=a(i)

Nexti

Printmax

EndSub

4请设计如下图所示窗体界面。

程序运行时,在选中一个或两个复选框和一个单选按钮时,单击命令按钮,则对文本框中的文本内容做相应的设置。

请编写适当的事件过程,完成上述功能。

PrivateSubCommand1_Click()

IfOption1.Value=TrueThen

Text1.FontName="宋体"

Else

Text1.FontName="隶书"

EndIf

IfCheck1.Value=1Then

Text1.FontUnderline=True

Else

Text1.FontUnderline=False

EndIf

IfCheck2.Value=1Then

Text1.FontItalic=True

Else

Text1.FontItalic=False

EndIf

EndSub

5在名称为Form1的窗体上添加一个名称为Text1的文本框;添加两个标题分别为"对齐方式"、"字体",名称分别为Fm1、Fm2的框架;在Fm1框架中添加三个单选按钮,标题分别为"左对齐"、"居中"、"右对齐",名称分别为Opt1、Opt2、Opt3;在Fm2框架中添加两个单选按钮,标题分别为"宋体"、"黑体",名称分别为Opt4、Opt5。

要求:

编写五个单选按钮的Click事件过程,使程序运行时,单击这些单选按钮,可以对文本框中的内容实现相应的操作(如图所示)。

 

PrivateSubOpt1_Click()

IfOpt1ThenText1.Alignment=0

EndSub

PrivateSubOpt2_Click()

IfOpt2ThenText1.Alignment=2

EndSub

PrivateSubOpt3_Click()

IfOpt3ThenText1.Alignment=1

EndSub

PrivateSubOpt4_Click()

IfOpt4ThenText1.FontName="宋体"

EndSub

PrivateSubOpt5_Click()

IfOpt5ThenText1.FontName="黑体"

EndSub

6请设计如下图所示窗体界面。

运行程序时,先向左侧文本框中输入一个不超过10的正整数,然后选择"N的阶乘"或"(N+2)的阶乘"单选钮,即可进行计算,计算结果在右侧文本框中显示。

请编写程序完成上述功能。

Dimn%

PrivateSubForm_Load()

EndSub

PrivateSubOption1_Click()

Dimi%

n=Val(Text1)

m=1

Fori=1Ton

m=m*i

Nexti

Text2=m

EndSub

PrivateSubOption2_Click()

Dimi%

m=1

Fori=1Ton+2

m=m*i

Nexti

Text2=m

EndSub

7在窗体上添加两个文本框和三个标签,设置它们的属性,达到下图效果。

程序运行时,在第一个文本框输入一串字符,在第二个文本框中输入一个字符,然后单击"统计"命令按钮,统计第二个文本框中字符(大小写被认为是不同的字母)在第一个文本框中出现的次数,统计结果在标签Label3中显示。

PrivateSubCommand1_Click()

Dimi%,n%

Fori=1ToLen(Text1)

IfMid(Text1,i,1)=Text2Thenn=n+1

Nexti

Label3=n

EndSub

PrivateSubLabel3_Click()

EndSub

8在窗体上添加一个文本框和一个命令按钮。

程序运行后,单击命令按钮,即可计算出0~200范围内能被3或7整除的所有整数的和,并显示在文本框中。

程序运行界面如下图所示。

PrivateSubCommand1_Click()

Dimi%,sum%

Fori=0To200

IfiMod3=0OriMod7=0Thensum=sum+i

Nexti

Text1=sum

EndSub

PrivateSubText1_Change()

EndSub

9请设计如下图所示界面(文本框名称为:

Txt1,按钮名称为:

Cmd1)。

程序运行时在文本框中输入字符串,点击命令按钮,判断文本框中的字符串是否是回文,将判断结果显示在窗体上。

所谓回文是指字符串正序和逆序的结果相同,如“aBCCBa”是回文,“aBCcBa”不是回文。

PrivateSubCmd1_Click()

DimchAsString

Fori=Len(Txt1)To1Step-1

ch=ch+Mid(Txt1,i,1)

Nexti

IfTxt1=chThen

PrintTxt1+"是回文"

Else

PrintTxt1+"不是回文"

EndIf

EndSub

PrivateSubForm_Load()

EndSub

10编程实现求

(n为小于等于20的整数)。

程序运行界面如下图所示。

程序运行时,在文本框中输入n的值,点击“计算”命令按钮,将计算结果显示在标签上。

PrivateSubCommand1_Click()

Dimi%,mAsLong,sumAsDouble

n=Val(Text1)

m=1

Fori=1Ton

m=m*i

sum=sum+1/m

Nexti

Label2="sum="&sum

EndSub

PrivateSubForm_Load()

EndSub

第二部分

1已知在同一个笼子里有总数M只鸡和兔,鸡和兔的总脚数为N只,编程求出鸡和兔各有多少只。

要求:

程序运行后,在两个文本框中分别输入M和N的值,单击“计算”命令按钮,在两个标签框中分别输出鸡和兔的数量。

程序运行界面如下图。

提示:

N≥2×M的偶数。

PrivateSubCommand1_Click()

m=Val(Text1)

n=Val(Text2)

IfnMod2<>0Then

MsgBox("脚数必须为偶数")

Text2=""

Text2.SetFocus

Else

y=n/2-m

Ify<0Then

MsgBox("脚数必须>=只数的2倍,请重新输入")

Text2=""

Text2.SetFocus

Else

x=m-y

Label3=x

Label4=y

EndIf

EndIf

EndSub

PrivateSubForm_Load()

EndSub

2若一个3位正整数中各位数字的立方和等于该数字本身,则该数称之为“水仙花数”。

例如153是水仙花数,因为153=1*1*1+5*5*5+3*3*3。

编程求出100~999之间所有的“水仙花数”。

要求:

程序运行后,单击“查找”按钮,在窗体上显示找到的“水仙花数”。

程序运行界面如下图。

PrivateSubCommand1_Click()

Print"水仙花数:

";

Fori=100To999

X1=iMod10'分离出个位数

X2=(iMod100)\10'分离出十位数

x3=i\100'分离出百位数

Ifi=X1^3+X2^3+x3^3ThenPrinti;

Nexti

EndSub

 

PrivateSubForm_Load()

EndSub

3编写程序,要求程序运行后,单击“开始”按钮,随机产生20个学生的成绩(0~100的整数),并在左边图片框中输出(一行5个成绩),并在右边图片框中输出平均分和及格的人数,程序运行界面如下图。

PrivateSubCommand1_Click()

Dima(1To20)AsInteger,i%,n%

Picture1.Cls

Picture2.Cls

Fori=1To20

a(i)=Int(Rnd*101)

Picture1.Printa(i);

IfiMod5=0ThenPicture1.Print

Ifa(i)>=60Thenn=n+1

Sum=Sum+a(i)

Nexti

Picture2.Print"平均分:

";Sum/20

Picture2.Print;"及格人数:

";n

EndSub

PrivateSubPicture2_Click()

EndSub

4编写程序实现:

程序运行时,单击窗体则显示如下图所示的图案。

PrivateSubForm_Click()

Fori=1To5

PrintTab(10-i);String(2*i-1,"*")

Nexti

Fori=1To4

PrintTab(5+i);String(9-2*i,"*")

Nexti

EndSub

5编程实现:

在窗体中有一个文本框,一个计时器和两个命令按钮。

其功能是:

程序的运行时,单击“开始计数”按钮,就开始计数,每间隔1秒,文本框中的数增加1;单击“停止计数”按钮,则计数停止。

PrivateSubCommand1_Click()

Timer1.Enabled=True

EndSub

PrivateSubCommand2_Click()

Timer1.Enabled=False

EndSub

PrivateSubForm_Load()

EndSub

PrivateSubTimer1_Timer()

Text1=Val(Text1)+1

EndSub

'在属性窗口设置定时器的interval属性值为1000

6以下程序运行界面如下图所示。

其功能如下:

1)单击"读数据"按钮(Command1),可将随机产生100个三位正整数存到数组a中;

2)单击"计算"按钮(Command2),则根据从组合框Combo1中选中的项目,对数组a中的数据计算平均值,并将计算结果四舍五入取整后显示在文本框Text1中。

题目提供的程序代码不完整,请设计下图界面并录入代码,将程序中的?

改为正确的内容。

注意:

不能修改程序的其他部分。

题目提供的程序代码:

Dima(100)AsInteger

PrivateSubCommand1Click()

DimnAsInteger

Forn=1To100

    a(n)=Int(Rnd*?

Nextn

EndSub

PrivateSubCommand2Click()

Dimx&,y&,z&,i%,j%,k%

Fori=1To100

Ifa(i)Mod?

Then

    x=x+a(i):

j=j+1

Else

    y=y+a(i)

    ?

EndIf

Nextk

x=Int(x/j+0.5):

y=Int(y/k+0.5)

z=Int((x+y)/(j+k)+0.5)

SelectCaseCombo1.Text

Case"所有偶数"

    Text1=?

Case"所有奇数"

    Text1=?

Case"所有数"

    Text1=?

EndSelect

EndSub

Dima(1To100)AsInteger

PrivateSubCommand1_Click()

DimnAsInteger

Forn=1To100

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

Nextn

EndSub

PrivateSubCommand2_Click()

Dimx&,y&,z&,i%,j%,k%

Fori=1To100

Ifa(i)Mod2=0Then

x=x+a(i):

j=j+1

Else

y=y+a(i):

k=k+1

EndIf

Nexti

x=Int(x/j+0.5):

y=Int(y/k+0.5)

z=Int((x+y)/(j+k)+0.5)

SelectCaseCombo1.Text

Case"所有偶数"

Text1=x

Case"所有奇数"

Text1=y

Case"所有数"

Text1=x+y

EndSelect

EndSub

'在combo1的属性窗口设置list属性,添加列表项

PrivateSubLabel1_Click()

EndSub

7编写程序。

要求:

程序运行后,单击“开始”按钮,则随机产生20个2位数输出到窗体上,每行10个数。

同时对所产生的20个数从小到大排序,将排序后的数再次输出在窗体上。

程序运行界面如下图。

PrivateSubCommand1_Click()

Dima%(1To20),i%

Print"排序前数据排列:

"

Fori=1To20

a(i)=Int(Rnd*90+10)

Printa(i);

IfiMod10=0ThenPrint

Nexti

Fori=1To20'冒泡排序

Forj=1To20-i

Ifa(j)>a(j+1)Then

t=a(j):

a(j)=a(j+1):

a(j+1)=t

EndIf

Nextj

Nexti

Print"排序后数据排列:

"

Fori=1To20

Printa(i);

IfiMod10=0ThenPrint

Nexti

EndSub

PrivateSubForm_Load()

EndSub

8编写程序,程序的功能是:

程序运行后,在文本框中输入一串字符,单击标题为"统计"的命令按钮,分别统计输入字符串中大写字母、小写字母以及其他字符的个数,并将统计结果分别在相应的标签框中显示。

程序运行界面如下图。

PrivateSubCommand1_Click()

Dimi%,m%,n%,z%

Fori=1ToLen(Text1)

IfAsc(Mid(Text1,i,1))>=65AndAsc(Mid(Text1,i,1))<=90Then

n=n+1

ElseIfAsc(Mid(Text1,i,1))>=97AndAsc(Mid(Text1,i,1))<=122Then

m=m+1

Else

z=z+1

EndIf

Nexti

Label2=n

Label4=m

Label6=z

EndSub

PrivateSubForm_Load()

EndSub

9编写程序。

程序功能是:

程序运行后在文本框中输入一个正整数,单击“判断”按钮,在标签框中输出“该数是一个素数”或“该数不是一个素数”的信息。

程序运行界面如下图。

PrivateSubCommand1_Click()

Dimn%

n=Val(Text1)

Fori=2Ton-1

IfnModi=0ThenLabel1=n&"不是素数":

GoTonotm

Nexti

Label1=n&"是素数"

notm:

EndSub

PrivateSubForm_Load()

EndSub

10编写程序,程序的功能是:

程序运行后,单击“开始”按钮,在窗体上显示出10个小于100的随机正整数,单击“查找”按钮,则在窗体的下一行显示出这10个数中的最大的数以及最大数在此数列中的位置号。

程序运行界面如下图。

Dima%(1To10)

PrivateSubCommand1_Click()

Dimi%

Randomize

Fori=1To10

a(i)=Int(Rnd*101)

Printa(i);

Nexti

EndSub

PrivateSubCommand2_Click()

Dimmax%,imax%

max=a

(1):

imax=1

Fori=2To10

Ifa(i)>maxThenmax=a(i):

imax=i

Nexti

Print

Print

Print"最大数是:

";max;Spc(5);"位置号是:

";imax

EndSub

PrivateSubForm_Load()

EndSub

第三部分

1在窗体Form1上添加两个文本框,一个“转换”命令按钮和三个单选按钮(名称分别为Opt1、Opt2、Opt3,标题分别为“大小写转换”、“全部大写”、“全部小写”)。

程序功能:

在上方文本框Text1中输入一字符串,选中“大小写转换”,单击“转换”按钮后,Text2中显示大小写相反的字符串;选中“全部大写”,单击转换按钮后,Text2中显示全部大写字符串,选中“全部小写”,单击转换按钮后,Text2中显示全部小写字符串。

程序运行界面如下图。

要求:

①请按要求完成窗体界面设计②程序的部分代码已给出如下,但不完整。

请录入下面代码,并将“?

”处补充完整。

PrivateSubCommand1_Click()

DimnAsInteger,kAsInteger,chAsString,aAsString

ch=""

IfOpt1.Value=TrueThen

n=Len(?

Fork=1Ton

a=Mid$(Text1,k,?

Ifa>="a"Anda<="z"Then

ch=ch+UCase(a)

ElseIfa>="A"Anda<="Z"Then

ch=ch+LCase(a)

Else

ch=ch+a

EndIf

Nextk

EndIf

IfOpt2.Value=TrueThench=UCase(Text1)

IfOpt3.Value=TrueThench=?

(Text1)

Text2=ch

EndSub

答案PrivateSubCommand1_Click()

DimnAsInteger,kAsInteger,chAsString,aAsString

ch=""

IfOpt1.Value=TrueThen

n=Len(Text1)

Fork=1Ton

a=Mid$(Text1,k,1)

Ifa>="a"Anda<="z"Then

ch=ch+UCase(a)

ElseIfa>="A"Anda<="Z"Then

ch=ch+LCase(a)

Else

ch=ch+a

EndIf

Nextk

EndIf

IfOpt2.Value=TrueThench=UCase(Text1)

IfOpt3.Value=TrueThench=LCase(Text1)

Text2=ch

EndSub

PrivateSubForm_Load()

EndSub

2编写程序,演示列表框控件的基本操作。

在窗体上建立两个列表框,两个命令按钮。

程序运行后,在左边列表框中选中所需要的项目,单击“添加”按钮,则把所选中的项目移到右边列表框中。

如果

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

当前位置:首页 > 小学教育 > 语文

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

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